lintel 发表于 2008-4-28 23:47:49

实现Windows XP Live On USB Device

从usb硬盘启动标准版的windows,是为了实现
1、能升级windows系统
2、玩DirectX游戏
3、正常运行绝大部分windows下的软件
用usb 2.0的移动硬盘,可以在上面正常运行xp系统了。
微软号称xp无法从ubs设备启动,比如它的网站说明:
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 ...
还有它新闻组的信息:
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.
但现在我们准备来破解这个限制。不过首先需要确认,你的电脑是否支持usb硬盘启动,下面提供一个方法:
卸下所有硬盘,接上usb硬盘,然后用windows安装盘来启动,进入安装界面的时候,看能否查找到硬盘存在。能检测到,说明这个usb硬盘是可启动的。目前绝大部分新机器的bios都支持,所以对我们来说基本不是问题。

第一种方法:

制作USB XP安装光盘.
使用范围: 使用USB移动硬盘的兄弟.
缺点:只能在一台机器上使用.

需要准备:
1、一个能用的windows系统
2、一个usb2.0硬盘
3、一张原版windows xp安装盘
4、winiso软件(或者类似的,实现.iso文件编辑功能的软件)
5、微软提供的CAB SDK软件,下载地址
http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe

6、cd刻录软件(我们一般用nero)

下面开始:
一、从windows安装盘的i386目录下copy出
TXTSETUP.SIF
DOSNET.INF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
其中.in_文件,可以用刚才提到的CAB SDK软件解压(其实rar也行)。使用方法,进入dos状态,然后用这个格式:
cabarc x USBSTOR.IN_
每个都如此处理,得到
usb.inf
usbport.inf
usbstor.inf
刚才的.in_文件没用了,删掉吧。
二、修改TXTSETUP.SIF文件。
把中的以下项目移动到。
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys
修改之后,下有
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
下会有
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
接下来把下的
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
移动到下。
操作很简单,不多说了。
然后把添加一行,变成
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
也添加一行,变成
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文件,在中添加一行,像这样:
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx
……
四、修改usb.inf文件,改这两个:、
改成这样:

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

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,改动这些:,,,,改成这样:

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


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


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


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,改动项目,改成这样:

DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3
ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender
七、新建USBBOOT.INF,文件内容如下:

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文件,格式如下:
cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf
九、在原版安装盘的iso文件中,删除i386目录下的
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
放入
USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
十、好了,把这个修改过的.iso文件刻盘吧。一切顺利的话,这个版本的windows安装后就可以在usb硬盘上启动了。




已经完成修改的镜像:

FTP://down:down@lintel.joyren.cn/USB-XP.iso








第二种方法,

直接使用Windows XP Embedded 的USB BOOT组件实现.

适用范围:USB移动硬盘,U盘,XD卡+读卡器等等
缺点:几乎适用USB启动的机器,但暂时会导致USB盘数据丢失.

因为有问题,暂时不发了.


第三种方法:

使用现有的XP系统制作.

适用范围:USB移动硬盘
缺点:还是只能在一台机器上启动.




没多少人关心,不续了.







lintel

整理于
2008.4.27
lintel77@qq.com

[ 本帖最后由 lintel 于 2008-4-30 11:46 PM 编辑 ]

xuxuezeng 发表于 2008-4-28 23:54:01

楼主强,看来楼主要出成品版了,学习学习!

263109 发表于 2008-4-28 23:58:12

好东西,好好学习!

benny3848hk 发表于 2008-4-29 02:42:40

下载地址下不了,请修正.........

swbzzj 发表于 2008-4-29 06:34:06

楼主好样的!但愿能下载!

longwater 发表于 2008-4-29 07:50:47

佩服,
制作USB XP安装光盘.
使用范围: 使用USB移动硬盘的兄弟.
缺点:只能在一台机器上使用.
有点期待

dfghj 发表于 2008-4-29 10:33:07

期待更好,支持搂住。

5512521 发表于 2008-4-29 10:43:06

迫切需要,地址下载不了,能给个能下的地址吗?

happywinner 发表于 2008-4-29 11:44:29

等待最终结果。

yongxiang1 发表于 2008-4-29 11:59:41

期待U盘启动的XP中...

abigapple8 发表于 2008-4-30 09:31:54

怎样才能在很多机器上使用呢?参考下虚拟机技术,还有ghost的驱动技术不知道能不能解决
例如进入PE,在pe中运行VM虚拟机,在虚拟机上装xp不知道能不能解决移植的问题
还有就是因为usb相对硬盘速度有些低
怎样才能把一些东西放在内存中来提高速度呢
期待高人

cmsz 发表于 2008-4-30 10:17:04

期待第三种方法...

rzsggg 发表于 2008-4-30 11:12:23

我在几个月前就对楼主说的第一个方法进行整理过,原帖出自一位德国人,上面需要修改的文件我已经打包了,可惜下载数寥寥。现借贵贴提升一下气,望各位下载的朋友在我发的贴上回个贴,我的帖沉的好快。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=123567

lintel 发表于 2008-4-30 23:46:48

没多少人关心,不续了.

wadai2005 发表于 2008-4-30 23:56:37

楼主不要急!慢工出细活,期待楼主的精品

citydream 发表于 2008-5-1 01:04:37

老大要是把第二个搞出来,我肯定名气比winxpsp3还要响。

outwind 发表于 2008-5-2 23:26:02

继续学习,下载地址有问题,无法下载,望更新,十分感谢老大无私奉献和分享:)

xrzhang 发表于 2008-5-4 17:06:46

顶一下,就等这个东西,期待中。。。。

lvzhhai 发表于 2008-5-14 10:49:41

楼主,能不能再接着研究第2种方法,将其完善.或第一种,搞成可在任意机器上使用的.
此贴不应沉.

d09os3 发表于 2008-5-14 11:04:38

只能在一部机器上运行的话,实用意义就大打折扣了。USB启动到XP的最大受众群体应该是出差人士。

xl5325 发表于 2008-5-19 23:25:27

关键就是需要在不同机器上都能使用,那样才有实际意义!

psccj 发表于 2008-5-20 08:10:08

期待第二种方法,比较实用。

pureivan 发表于 2008-5-21 13:07:05

偶很关心啊,楼主继续啊。

mt_king 发表于 2008-5-26 21:28:49

希望能看见能在各种机器上运行的成品。

xgoodboy 发表于 2008-6-3 09:42:16

麻烦楼主提供修改过的文件
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
放入
USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
免得下整个光盘了

[ 本帖最后由 xgoodboy 于 2008-6-3 09:44 AM 编辑 ]

zoumi 发表于 2008-6-3 11:21:27

我也曾经按此法做成ISO镜像,烧制光盘,启动Laptop,但是不能成功,估计是因为没有卸下Laptop的本地硬盘的原因。
不过,楼主可否将您做好的ISO镜像文件放到fs2you.com网站上,便于大家下载(您的lintel.joyren.cn基本访问不了)。谢谢!

fpx_123 发表于 2008-7-8 20:27:06

wo 很关心这个啊 高人啊

╭●o●╮ 发表于 2008-9-4 16:50:18

楼主那个ftp下载不行了

longwater 发表于 2008-11-2 10:03:02

希望见到通用的,辛苦了

ipqmp666666 发表于 2008-11-2 14:05:26

移动的XP岂不美哉,曾经把XPE安装到U盘,启动蓝屏,如果能出来真是太多了,一个U盘而不知道怎么用呢
页: [1] 2
查看完整版本: 实现Windows XP Live On USB Device