无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 114736|回复: 254
打印 上一主题 下一主题

XP操作系统@移动硬盘&U盘——XP@USB

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-26 16:34:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


具体安装方法可参考flyerboys 的帖子:


系统


魔兽


[ 本帖最后由 swbzzj 于 2009-2-20 21:33 编辑 ]
2#
发表于 2008-4-26 16:45:19 | 只看该作者
在哪下载???????????
回复

使用道具 举报

3#
发表于 2008-4-26 16:49:15 | 只看该作者
不错是vista还是2008????
回复

使用道具 举报

4#
发表于 2008-4-26 17:48:30 | 只看该作者
哪里有下啊,很想要啊
回复

使用道具 举报

5#
发表于 2008-4-26 18:04:14 | 只看该作者
楼主你不能只是放图给大家啊。
回复

使用道具 举报

6#
发表于 2008-4-26 18:36:07 | 只看该作者
怎么就个图啊,要是能说明怎么安的就好了
回复

使用道具 举报

7#
发表于 2008-4-26 20:00:12 | 只看该作者
这个没有意义
回复

使用道具 举报

8#
发表于 2008-4-26 20:15:25 | 只看该作者
就个图贴出来干什吗?
回复

使用道具 举报

9#
 楼主| 发表于 2008-4-26 21:47:35 | 只看该作者

回复lintel:

我不知道这有什么意义!这个论坛挺不错的!希望可以更好!

[ 本帖最后由 swbzzj 于 2009-2-20 21:43 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2008-4-26 21:55:59 | 只看该作者

各位兄弟:

这个就是XP@USB!效果很好!呵呵,和正常的XP系统没有多大区别,开机将近一分钟左右,正常使用感觉不到差别!可以CS,可以魔兽,可以手机连电脑上网!更难得的是可以在任意电脑的任意USB口启动系统!我已经在六种配置的机器上测试成功,今天下午在网吧的机器上启动成功!呵呵,小爽一下!
我现在每天用的就是这个系统----XPU@SB!

[ 本帖最后由 swbzzj 于 2008-5-18 04:24 PM 编辑 ]
回复

使用道具 举报

11#
发表于 2008-4-26 22:46:01 | 只看该作者
不错,建议将名称改为:XP@USB
回复

使用道具 举报

12#
发表于 2008-4-26 23:19:04 | 只看该作者
原帖由 swbzzj 于 2008-4-26 09:55 PM 发表
这个就是USB@XP!根据Dietmar的教程3,4,5,6就可以做出来!效果很好!呵呵,和正常的XP系统没有多大区别,开机将近一分钟左右,正常使用感觉不到差别!可以CS,可以魔兽,可以手机连电脑上网!更难得的是可以在 ...

可以从任意USB口启动?
Dietmar的方法制作的XP不能任意接口启动....
不同配置的机器也可以?是谁处理的?
我已经移植了XP EMBEDDED的USB BOOT到普通XP上了.仅仅给论坛几个朋友测试而已...
是不是有谁把它放出来了?
那个东西可能会导致移动硬盘的分区信息丢失....

[ 本帖最后由 lintel 于 2008-4-26 11:20 PM 编辑 ]
回复

使用道具 举报

13#
发表于 2008-4-26 23:36:57 | 只看该作者
那个东西可能会导致移动硬盘的分区信息丢失....
============================
看来还不完善啊,如果制作出的usb xp不能在任意机上运行就没什么意义了~~
回复

使用道具 举报

14#
发表于 2008-4-27 08:13:29 | 只看该作者
实在是没有意义的帖子!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

15#
 楼主| 发表于 2008-4-27 10:07:09 | 只看该作者

回复liuhj:

谢谢你的好意啊,可以考虑一下啊!这样看的倒时更明白一点!谢谢!
回复

使用道具 举报

16#
 楼主| 发表于 2008-4-27 10:17:34 | 只看该作者

回复lintel (小L):

绝对可以从任意机器的任意USB口启动机器。因为身边只用五种配置的机器,再加上网吧的一种配置,现在都测试成功!下次换几个网吧试试去。
还有我从来没有见过你的“移植XP EMBEDDED的USB BOOT到普通XP上”的方法。不要再怀疑了!
我的这个系统不会导致所谓的“移动硬盘的分区信息丢失”的问题,只是不能打开虚拟内存,不过问题马上就可以解决了!

顺便问一句,你的这个XP EMBEDDED可以任意安装程序,任意设置,在下次启动系统还可以保持上次的设置么?我很想知道!望超级版主解疑!
回复

使用道具 举报

17#
 楼主| 发表于 2008-4-27 10:20:15 | 只看该作者

回复jnax:

什么是有意义呢?呵呵。。。。。。
回复

使用道具 举报

18#
发表于 2008-4-27 10:23:58 | 只看该作者
不错啊!真想现在就去买个8G的U盘去,呵呵~~
回复

使用道具 举报

19#
 楼主| 发表于 2008-4-27 10:33:45 | 只看该作者

回复wadai2005:

我是针对移动硬盘做的,因为手头没有那么大的U盘,所以未曾测试,不好意思!
回复

使用道具 举报

20#
发表于 2008-4-27 11:12:03 | 只看该作者
这个很爽阿 走到哪里都可以以自己习惯的设置是用电脑.
回复

使用道具 举报

21#
 楼主| 发表于 2008-4-27 12:56:29 | 只看该作者

在 移动硬盘 上 安装 Windows XP(单一机器上启动)(转载)

在硬盘上安装Windows XP大家肯定都会,不过你知道怎么把Windows XP安装到移动硬盘,甚至U盘上吗?按照一般的方法,任何版本的Windows都是不能安装到移动存储器上的,因为安装程序无法找到相应的设备。不过如果对安装文件动一点小“手术”,这个问题就迎刃而解了。
    既然在固定硬盘上可以成功安装Windows,那我们为什么还要把它装到移动硬盘里?这样做有什么好处?毕竟操作系统(尤其是 Windows 2000/XP这类基于NT的系统)不像一般软件,可以安装到移动硬盘中,并且可以把硬盘连接到任何计算机中都使用。而操作系统一旦安装好,就固定了,如果将安装操作系统的硬盘连接到其它配置的计算机上,系统将无法启动。
    可以假设这样一个情况:我需要在计算机上处理一些机密数据,例如系统中可能保存了我的数字证书、重要文件。按照传统的方法,为了保证安全,我需要给帐户设置密码,并将文件加密和设置权限。不过这样还是不够安全,因为别人就算无法读取这些数据,也可能直接将其删除,甚至格式化整个硬盘,一样会给我带来损失。如果将操作系统安装到移动硬盘上就不同了,我们可以只在需要的时候才将安装了操作系统的移动硬盘连接到计算机上,然后关机,并拔掉计算机上现有的固定硬盘,再开机,移动硬盘上的系统就启动起来了。当我们用完之后,只需要关机,拔掉移动硬盘,然后将固定硬盘重新连接,并将移动硬盘保存到安全的地方,不仅系统本身,所有文件的安全也可以得到保障。毕竟一个大到可以装进整台电脑的保险柜要比随便一个装移动硬盘的保险柜贵多了,而且把电脑搬来搬去自然没有拿移动硬盘方便。
    你不用担心在移动硬盘上安装的操作系统和安装在固定硬盘上的有什么不同,实际上完全没有区别,所有程序都可以正常运行。

前提条件
    ● 为了继续下面的大部分操作,需要有一台已綷-安装好Windows操纵系统的台式机。
    ● 一个兼容USB 2.0标准的移动存储设备。这个设备可以是移动硬盘,甚至可以是大容量闪存盘(市面上已綷-有不少容量在2GB以上的闪存盘)。如果要使用硬盘,那么这个移动硬盘可以是买来的现成产品,也可以自己用移动硬盘盒DIY。建议自己DIY,因为这样不仅便宜,而且可以使用台式机硬盘,性能可以得到保障(成品移动硬盘为了保持一定的体积,往往使用缓存小、容量小,转速低的笔记本硬盘)。另外,为了尽量避免数据传输所需的时间,移动硬盘(盒)以及主板上的USB接口最好能够工作在USB 2.0标准下。
    ● 一张Windows XP安装光盘。
    ● UltraISO或者其他可以直接编糪-ISO文件的软件。
    ● Microsoft Cabinet SDK:http://download.microsoft.com/do ... xp/en-us/Cabsdk.exe
    ● 可以直接刻录ISO文件的光盘刻录软件。

处理方法
    操作的主要思路如下:首先给原始版本的Windows XP安装光盘制作ISO镜像,然后使用ISO编辑软件向其中添加一些文件,编辑好文件之后将改变的版本保存回ISO文件。随后将修改过的ISO文件重新刻录到光盘上,利用这张光盘就可以向USB存储设备中安装 Windows XP了(下文为了统一,会以向移动硬盘中安装为例进行说明)。
  



详细操作步骤
是否支持从USB设备引导
    通常,如果你的主板BIOS引导顺序选择菜单中有类似的选项,那么答案就是肯定的了。如果引导顺序菜单中没有这样的选项,请尝试更新你的BIOS。如果你也不能确定,那么最好登陆主板厂商网站获得准确答复。

准备硬盘
    因为主板以及移动硬盘采用的技术各不相同,因此有些移动硬盘直接就可以作为引导盘使用,但有些则需要一些特殊的处理。如果你不确定你的移动硬盘是否支持作为引导盘使用,可以首先将移动硬盘直接连接到计算机上,而不要通过任何USB集线器。然后关掉计算机,从机箱中断开所有其他硬盘,并将你診-始版本的Windows XP安装光盘放入光驱中。启动安装程序,然后进行到需要你选择目标硬盘分区的界面上。如果可以看到安装程序列举的硬盘和分区,那就证明你的硬盘是支持的,否则就不能直接支持。
    通常这并不是个大问题,你需要做的就是“恰当地”格式化你的硬盘。重启动到正常的Windows环境下,然后使用HP的这个工具:http://h18007.www1.hp.com/suppor ... download/20306.html,彻底格式化你的移动硬盘。

给安装光盘创建镜像
    这一步相当简单。将Windows XP安装光盘放入光驱,运行UltraISO,然后在“工具”菜单下选择“制作光盘映像文件”选项(图1),并保存你的ISO文件即可。
图1

提取需要处理的文件
    光盘镜像创建好之后,关闭并重新打开UltraISO。然后在“文件”菜单下使用“打开”命令打开你之前刚刚创建的ISO文件。
    接下来进入i386文件夹,并选中下列文件(按下“Ctrl”键可以多选):
    ● TXTSETUP.SIF
    ● DOSNET.INF
    ● USB.IN_
    ● USBPORT.IN_
    ● USBSTOR.IN_
    在“操作”菜单下选择“提取”命令(图2),然后将提取的文件释放到其他文件夹中。
图2

提取IN_文件
    运行前文中下载的Cabsdk.exe,将其中的文件释放到硬盘上(假设放在c:\cabsdk下)。然后运行“CMD”打开命令提示符窗口,并进入到c:\cabsdk\bin,按照cabarc x USBSTOR.IN_这样的格式对在上一步中提取出来的三个“.in_” 文件运行cabarc命令(图3),最终你将会得到三个“.inf”文件。
    ● usb.inf
    ● usbport.inf
    ● usbstor.inf
    这时候.IN_文件就可以全部删掉了。
图3
  



编辑文件
    这是本文要做的主要工作,同时我还会简要解释一下为什么这样做。编辑工作可以使用纯文本编辑器,例如记事本完成。

TXTSETUP.SIF
    这个文件是由Windows XP安装程序在最初的安装阶段载入的,在这个文件中,我们会改变Windows安装程序对USB设备的处理方法。默认情况下,安装过程中USB设备会被看作是输入设备,綷-过我们的修改,USB设备将会变成大容量存储设备(这种设备需要在使用之前被载入)。
    首先,按照下面的示例处理[InputDevicesSupport.Load]和[BootBusExtenders.Load]字段(红色文字是新添加的内容,绿色的文字是删除的内容):

[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys


[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys

usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys

    接着对[BootBusExtenders]和[InputDevicesSupport]字段进行类似的处理(红色文字是新添加的内容,绿色的文字是删除的内容):

[BootBusExtenders]
pci = "PCI-Bustreiber",files.pci,pci
acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi
isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp
acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec
ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor


[InputDevicesSupport]
usbehci="Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci="Open Hostcontroller",files.usbohci,usbohci
usbuhci="Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub="Standard-USB-Hubtreiber",files.usbhub,usbhub

hidusb="HID-Parser",files.hidusb,hidusb
serial="Serial Port Driver",files.none,serial
serenum="Serial Port Enumerator",files.none,serenum
usbstor="USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp="USB Generic Parent Driver",files.usbccgp,usbccgp

    随后,我们还要在注册表中写入一些键。txtsetup.sif允许你提供一些文件,这些文件将在系统安装过程中被合并到注册表中。请在[HiveInfs.Fresh]字段加入下列红色字的内容:

[HiveInfs.Fresh]
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg
AddReg = usbboot.inf,usbservices

    同时在[SourceDisksFiles]字段下加入下列红色文字内容:

[SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2

    最后,保存并关闭TXTSETUP.SIF,这一步工作就完成了。
  



DOSNET.INF
    接下来打开DOSNET.INF,把第二个[Files]字段变成下面的样子(红色文字为新添加内容):

[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx

usb.inf
    编辑[StandardHub.AddService]和[CommonClassParent.AddService]字段,在其中添加下面显示的红色文字内容:

[StandardHub.AddService]
DisplayName=%StandardHub.SvcDesc%
ServiceType=1; SERVICE_KERNEL_DRIVER
StartType=0; SERVICE_DEMAND_START
ErrorControl=1; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbhub.sys
LoadOrderGroup=Boot Bus Extender

[CommonClassParent.AddService]
DisplayName=%GenericParent.SvcDesc%
ServiceType=1;SERVICE_KERNEL_DRIVER
StartType=0;SERVICE_DEMAND_START
ErrorControl=1;SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbccgp.sys
LoadOrderGroup=Boot Bus Extender

usbport.inf
    编辑[EHCI.AddService]、[OHCI.AddService]、[UHCI.AddService]和[ROOTHUB.AddService]字段,在其中添加下面显示的红色文字内容:

[EHCI.AddService]
DisplayName=%EHCIMP.SvcDesc%
ServiceType=1;SERVICE_KERNEL_DRIVER
StartType=0;SERVICE_DEMAND_START
ErrorControl=1;SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbehci.sys
LoadOrderGroup=Boot Bus Extender

[OHCI.AddService]
DisplayName=%OHCIMP.SvcDesc%
ServiceType=1;SERVICE_KERNEL_DRIVER
StartType=0;SERVICE_DEMAND_START
ErrorControl=1;SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbohci.sys
LoadOrderGroup=Boot Bus Extender

[UHCI.AddService]
DisplayName=%UHCIMP.SvcDesc%
ServiceType=1;SERVICE_KERNEL_DRIVER
StartType=0;SERVICE_DEMAND_START
ErrorControl=1;SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbuhci.sys
LoadOrderGroup=Boot Bus Extender

[ROOTHUB.AddService]
DisplayName=%ROOTHUB.SvcDesc%
ServiceType =1;SERVICE_KERNEL_DRIVER
StartType=0;SERVICE_DEMAND_START
ErrorControl=1;SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbhub.sys
LoadOrderGroup=Boot Bus Extender

usbstor.inf
    在[USBSTOR.AddService]字段中增加/修改下列红色文字内容:

[USBSTOR.AddService]
DisplayName=%USBSTOR.SvcDesc%
ServiceType=1
StartType=0
Tag=3
ErrorControl=1
ServiceBinary=%12%\USBSTOR.SYS
LoadOrderGroup=Boot Bus Extender

新文件:USBBOOT.INF
    在之前处理的文件所在的文件夹中新建一个名为USBBOOT.INF的文件,然后输入下列内容:

[usbservices]

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1                     
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1
  



将inf文件重新打包
    如果原始的.IN_文件还没有删除,那么现在必须删掉,因为我们需要用新的文件将其替换。再次打开一个命令提示行窗口,然后进入到保存这些文件的文件夹,然后执行下列命令:

cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf

    这样你将能看到三个IN_文件(图4)。恭喜,所有修改工作就都已经完成了。
图4

重新装入ISO文件
    用UltraISO打开你的Windows XP安装光盘镜像,进入到i386文件夹,然后从ISO文件中删除下列文件,并保存修改:
    ● DOSNET.INF
    ● TXTSETUP.SIF
    ● USB.IN_
    ● USBPORT.IN_
    ● USBSTOR.IN_
    一定要确保所有更改都被保存到ISO文件中,在UltraISO中关闭并重新打开这个更改过的ISO文件,再次进入i386文件夹,并在“操作”菜单下选择“添加文件”命令,把你编糪-过的文件添加进去:
    ● USBBOOT.INF
    ● DOSNET.INF
    ● TXTSETUP.SIF
    ● USB.IN_
    ● USBPORT.IN_
    ● USBSTOR.IN_
    保存ISO文件,主要工作完成了。

将ISO文件刻录回光盘
    你可以随意选择任何光盘刻录软件,需要注意:我们要把ISO文件作为“光盘映像”刻录,而不是作为“普通文件”刻录。否则刻录出来的光盘根目录下将会有一个ISO文件,无法引导计算机和安装系统。

从光盘安装Windows XP
    关闭你的计算机,将其它内置硬盘拔出(这样在安装过程中Windows就找不到它们了,省得弄坏主引导记录)。在BIOS设置程序中将USB硬盘设置为第一序引导设备,并将光驱设置为第二序(详细操作方法请参考计算机或者主板的说明书)。
    同时,你需要将USB硬盘直接连接到计算机,而不能通过USB集线器连接。
    这样Windows就可以正常安装和使用了,在安装过程中你可能会遇到这些问题:
    ● 在安装驱动程序的过程中,安装程序可能会提醒你有驱动程序没有通过微软的认证,这是正常现象。我们对某些文件的修改使得文件的校验值变化了,因此驱动的数字签名也就丢失了。只要点击“依然安装”数次即可。
    ● 在安装完成之后,第一次启动的时候系统会报告没找到分页文件。你可以忽略这个错误,就算没有分页文件,Windows也可以正常工作。
    至此,所有操作就已綷-全部完成了,你可以放心在安装到移动硬盘中的系统里处理任何机密数据。完成之后只要将移动硬盘拔出,并保存到安全的地方,重新将内置硬盘连接到计算机,就可以进入平时使用的系统

[ 本帖最后由 swbzzj 于 2009-2-20 21:46 编辑 ]

评分

参与人数 1无忧币 +10 收起 理由
netwinxp + 10 我很赞同

查看全部评分

回复

使用道具 举报

22#
发表于 2008-4-27 13:56:24 | 只看该作者
看起来太复杂了,不懂。
回复

使用道具 举报

23#
 楼主| 发表于 2008-4-27 13:58:12 | 只看该作者
呵呵,上面这个教程是制作只能在单一电脑上运行的USB@XP系统。
也是最简单的了,很容易,而且成功率百分之百!
回复

使用道具 举报

24#
 楼主| 发表于 2008-4-27 14:16:55 | 只看该作者

running Windows XP from a USB stick / HDD drive

What is this about?
To keep the introduction short, Microsoft denies that booting Windows off a USB drive works.

See this page for example. It says:

Q: Can a USB storage device be the primary (and only) means of storage?
No. USB-based mass storage devices cannot be the primary hard disk storage solution on a regular system ...

Or this one from the microsoft newsgroups:

Windows cannot boot from an USB drive. If your computer supports
booting from such device, you can load a boot loader to the USB device
which starts Windows XP from the HDD.

Anyway, the web is full of those. I was wondering about the same thing, as i did not want to put a Windows partition on my Linux.based work laptop, and thought it was a good idea to run Windows XP off a USB Hard drive that i just plug in when i need it, and boot from it. To put a long story short, this is exactly what i do now, thanks to the fantastic research of the people credited below. However, it took me significant time to figure out all the painful little problems, and i was not fully happy with the current official guide by Dietmar (no pun, he was the first to make ANYthing public). I wanted an easy guide that allows creating a modified version of the Windows XP CD, for painless and transparent installation to as many systems as you want.

This page is the result of my work. Have fun!


Credits

...must go to the people that made this guide possible in the first place. In recent months, a few blokes going by the handles of mkiaer, Dietmar and sisal and a few others from the 911.net forums came up with many good pieces of research on how to enable any NT-based Windows to boot from a USB-drive. Little of this guide would exist without them - in fact the only reason why i write this up is that my particular solution seems to be lower effort than any of the steps i saw before. Many of the steps here are the result of their research.

Version History:


v1.0 - 3rd Mar 2006
rewritten, tested and working against two different drives with my laptop.
v0.9 - 29th Feb 2006
initial version, untested

What works?

Basically, everything as far as i can see. After completing this tutorial, your Windows XP install should directly boot off your USB-drive, and be fully upgradable, DirectX games will run, all apps i tested work like normal, speed is the same as with a real HDD (you need USB2 though) - so it is in fact a fine solution as far as i can see.
Host Hardware USB hardware Successful
Dell Latitude D820 WD Pocket Drive 80gb Yes
DFI Infinity Ultra 2
Dane Elec 4GB USB Stick
Yes

Asus M2A-VM HDMI
Adata PD2 4GB Stick
Yes

HP Compaq 6510b
WD 2908A
Yes

Compaq nc6400
WD2500BEV
Yes

Compaq nc6400
Trekstore i.Beat 2GB
No

Compaq nc6400
Hitachi DK23EA-30
No

Compaq nc6220
TrackStore DataStation XU
Yes

HP Pavillion dv6700t
InfoSafe USB with Toshiba SATA 250GB
Yes

Compaq nc6120
Lacie 80gb
Yes

Asus P5LD2-VM
Vantec IDE to USB cable + Maxtor 60gb PATA
Yes

Thinkpad T42
WD HDD Passport 2
Yes

Acer Aspire 5600
Ipod 20g Photo
Yes

Thinkpad T43
Generic 80gb USb2 case
Yes

HP Pavillion dv1000
Generic USB2 HDD
Yes

Thinkpad R61
Generic USB2 / Seagate 120 GB
Yes

Dell Latitude D620
PQI i221 USB stick
Yes

Fujitsu Lifebook E8410C
Shintaro USB2 + 80GB Samsung
Yes

Dell Inspiron 6400
generic USB2 enclosure
Yes

Intel 945 GNT
Kingston 4GB SDHC with USB adapter
Yes

HP nx6110
Sandisk Cruze 8gb
Yes

HP nx6110
OneTouch4 Mini
No

Dell Latitude D620
Seagate FreeAgent 500GB
Yes

Acer Aspire 5710G
Adata 4GB stick
Yes

...and LOTS more...




Disclaimer

This is a hobby project of mine. I will not assume ANY responsibility for the correctness of this guide, nor can I be made liable for any errors, hardware or software problems / loss that are caused by following this guide. Basically, if things screw up, its your own fault. Do not follow the guide if you fear data loss.
Requirements

An existing Windows install for carrying out the steps in this tutorial
A USB2-compliant Hard disk drive (or a big USB2 stick, see remarks below)

An original Windows XP CD (tested only against SP1 so far, but reported to work on other versions)
A registered version of WinISO (or any other software that allows direct editing of ISO files)
The Microsoft CAB SDK
A CD-burning software that can handle ISO files. I like the free burnatonce

How To:

Summary:

We will dump the contents of your original Windows XP CD , extract a few files from the Image using ISO modification software, edit the files, and put the modified versions back on the ISO. The resulting ISO image is burnt back onto a CD media, and can then directly be used to install Windows on your USB drive.

I am also covering a few pitfalls that happened to me, in hope they will save you a bit of time.




1) Does your computer support booting from USB?

Usually, if its an option in your BIOS boot sequence menu, the answer to this is yes. If its not there, look for BIOS updates. If you are not sure, proceed and see what happens ;-)

2) Sorting out the "Bootability" of your USB-Drive


Connect your USB drive to your computer, directly, without a Hub. Then, shut down your computer, disconnect any other hard disk drives from it, and insert your original Windows XP CD into the drive. Start the installation, and proceed to the section where you are allowed to pick a hard drive. If it goes beyond the partition selection, your drive is already fine for booting Windows XP. If not (seems to be the cases with many of the Freecom USB HDDs for example), you will get an error like "Windows is unable to find your drive, partition, data etc bla". This is usually not a big problem. All you need to do is "properly" format the drive. Reboot into your normal Windows, and get this HP tool , and use it to format your HDD completely. I chose NTFS format, worked fine everytime i tried. After this, my drives are recognized as valid installation devices by the Windows XP installer.
(In fact, i did not manage to create a USB primary partition with FAT32 that was recognized as being installable)

3) Dumping the original Windows CD into an ISO File




Pretty easy one. Simply open WinISO, and select Actions -> Make ISO from CDROM, and save your CD image.


4) Extracting the files we need to work on



After the CD dump is done, close and reopen WinISO. Then, open the ISO file you just created using File -> Open.
Now, click the I386 folder, and select the following files (Ctrl key to multi-select)


TXTSETUP.SIF
DOSNET.INF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
Select Actions -> Extract and put the resulting files into some folder to work on them.


5) Unpacking IN_ files





Use the Cab SDK (from the command line) for extracting the contents of the .IN_ files. Each of them contains exactly one .inf file. If you are unsure how to use the Cab SDK, here is an example command line: "cabarc x USBSTOR.IN_" . You should end up with three new files in the folder, called:

usb.inf
usbport.inf
usbstor.inf
You can now delete the .IN_ files.


6) Editing the files


This is the main job. i ll also try to explain a bit whats happening. Use a simple Texteditor like Notepad.

6-A) TXTSETUP.SIF

This file is loaded on the initial install step by the Windows XP CD installer. In this file, we will change the way Windows treats USB devices during system setup -- the default is to only treat them as input devices during installation -- we will change this to include mass storage driver support (which needs to be loaded into the installer much earlier in order to work).

First, move the following entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load] section , as shown here



[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys


[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys


... now the same for [BootBusExtenders] and [InputDevicesSupport]





[BootBusExtenders]
pci = "PCI-Bustreiber",files.pci,pci
acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi
isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp
acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec
ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor


[InputDevicesSupport]
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
hidusb = "HID-Parser",files.hidusb,hidusb
serial = "Treiber f�r seriellen Anschluss",files.none,serial
serenum = "Enumerator f�r seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp


Next, we also have to write several keys into the registry. Convieniently, the txtsetup.sif allows you to specify files that are parsed and instered into the registry at install time. Insert the following in the [HiveInfs.Fresh] section:

[HiveInfs.Fresh]
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg
AddReg = usbboot.inf,usbservices




and also in [SourceDisksFiles]

[SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2

Finally, save and close TXTSETUP.SIF. We are done with it.

6-B) DOSNET.INF

Now, open DOSNET.INF , and change the second [Files] section to look like this:

[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx

....

6-C) usb.inf

Change the bolded lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections:

[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender


6-D) usbport.inf

Change the bolded lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections:

[EHCI.AddService]
DisplayName = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender


[OHCI.AddService]
DisplayName = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender


[UHCI.AddService]
DisplayName = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender


[ROOTHUB.AddService]
DisplayName = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

6-E) usbstor.inf

Change / Add the bolded lines in the [USBSTOR.AddService] section

[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3
ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender


6-F) new file: USBBOOT.INF

Create a new file called USBBOOT.INF in the same directory as your other changed files, and put the following content into it:

[usbservices]

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1




7) Repack the inf files into their original IN_ format

If you have not already deleted your extracted .IN_ files, do so now. They need to be replaced. Open a DOS shell again, and navigate to the folder with your changed files. Then exceute the following commands:

cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf

The three IN_ files should now exist again.

Congratulations. All out modifications are done.


8) Inject the changed files into the ISO

Open your Windows CD image again with WinISO. Navigate to the I386 folder, and delete the following files from the ISO, saving the changes to the ISO afterwards:

DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_

Just to be sure all is updated in the ISO, cloase and repoen the ISO in WinISO. Now, again go to the I386 folder and select "Add Files". Now add your changed files, in detail:

USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
Save the ISO. You are done.

9) Burn the ISO back to CD

Feel free to use any burning package you want. I used the free and simple Burnatonce

10) Install Windows XP from the CD



Shut down your computer. Disconnect ANY internal and external hard drives (so Windows cannot find them during installation and mess up their Master Boot Records hehe). Some computers will have trouble to boot without an internal HDD attached, check in your BIOS and, if possible, remove the HDD from the boot sequence and set the USB Harddisk as the first boot device, and the CDROM as second.


Also, now connect your USB Harddrive directly to the computer, without any Hubs in between.





Windows should install just fine, with the exceptions noted below.

Issues you will encounter during installation:

During driver installation, the USB drivers will prompt you, as they are "not certified" - This is normal. Our changes invalidated the checksum, and therefore the driver is no longer signed. Just press "yes" a couple of times.
Upon completion of the install, the system will complain once on the first bootup that the pagefile does not exist. You can ignore this for now, as Windows will work fine without it. People are looking at fixing this issue, but its not critical for now.


Once everything is up and running , shut down and reconnect all your drives.
回复

使用道具 举报

25#
发表于 2008-4-27 14:17:13 | 只看该作者
原帖由 swbzzj 于 2008-4-27 01:58 PM 发表
呵呵,上面这个教程是制作只能在单一电脑上运行的USB@XP系统。
也是最简单的了,很容易,而且成功率百分之百!

请问有能在任意电脑上运行的方案吗?
回复

使用道具 举报

26#
发表于 2008-4-27 14:18:21 | 只看该作者
看看,就可以了。呵。。。。
回复

使用道具 举报

27#
发表于 2008-4-27 14:28:12 | 只看该作者
楼主能否把原文链接贴出来?谢了!
回复

使用道具 举报

28#
 楼主| 发表于 2008-4-27 14:30:38 | 只看该作者
任意电脑启动的方案可以根据Dietmar的教程3,4,5,6得到,
太复杂了,也没有具体的教程,我是把他的教程读了多少遍才做出来的,忒复杂了!
回复

使用道具 举报

29#
 楼主| 发表于 2008-4-27 14:36:15 | 只看该作者
回复

使用道具 举报

30#
发表于 2008-4-27 18:56:13 | 只看该作者
太复杂了,看到都不想试了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-5 10:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表