无忧启动论坛

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

实现Windows XP Live On USB Device

  [复制链接]
跳转到指定楼层
1#
发表于 2008-4-28 23:47:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
从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文件。
把[InputDevicesSupport.Load]中的以下项目移动到[BootBusExtenders.Load]。
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys
修改之后,[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]下会有
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
接下来把[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
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
移动到[BootBusExtenders]下。
操作很简单,不多说了。
然后把[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]也添加一行,变成
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文件,在[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,文件内容如下:
[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文件,格式如下:
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 编辑 ]

评分

参与人数 1无忧币 +5 收起 理由
蓝星明月 + 5 赞一个!

查看全部评分

49#
发表于 2024-7-12 18:52:42 | 只看该作者
考古[doge]
回复

使用道具 举报

48#
发表于 2022-4-7 15:38:56 | 只看该作者
有用,鉴定完毕,谢谢楼主
回复

使用道具 举报

47#
发表于 2011-4-10 20:34:11 | 只看该作者
楼主好样的!但愿能下载!
回复

使用道具 举报

46#
发表于 2010-12-19 16:39:22 | 只看该作者
j晚了!·j晚了!·j晚了!·
回复

使用道具 举报

45#
发表于 2010-3-16 18:28:30 | 只看该作者
装好后必须要有内置硬盘,否则从移动硬盘启动会自动重启,不知哪位能解决?
回复

使用道具 举报

44#
发表于 2010-3-16 14:28:10 | 只看该作者
如果只能在一台机器上使用.那就木油意义了!
回复

使用道具 举报

43#
发表于 2009-10-7 10:56:28 | 只看该作者
楼主,怎么联系你啊,给个常用的联系方式把
回复

使用道具 举报

42#
发表于 2009-3-31 09:17:06 | 只看该作者
我试了,安装的第一次启动没有问题,就是再次重起进入不了系统,我没有拔下硬盘来安装。不知是什么原因,尝试中。
回复

使用道具 举报

41#
发表于 2009-2-5 14:52:17 | 只看该作者
高手,以后有机会做一个,防毒的新方法,我们只要把写保护口关掉,那病毒就写不进去了,
回复

使用道具 举报

40#
发表于 2008-12-15 17:16:41 | 只看该作者
一直想在U盘上运行XP,这样的HTPC就不会吵。试了几次没有成功,就放弃了。

希望LZ继续!

支持!
回复

使用道具 举报

39#
发表于 2008-12-15 17:14:50 | 只看该作者
一直想在U盘上运行XP,这样的HTPC就不会吵。试了几次没有成功,就放弃了。

希望LZ继续!

支持!
回复

使用道具 举报

38#
发表于 2008-12-10 22:00:35 | 只看该作者
我有个疑问  为什们你们都想在U盘中启动系统呢~~~有什么用??
回复

使用道具 举报

37#
发表于 2008-12-9 10:29:51 | 只看该作者
我顶你,争取早日变成成熟的技术,真正一个u盘在手,各个机器都能用自己的xp。
回复

使用道具 举报

36#
发表于 2008-11-26 20:12:50 | 只看该作者
原帖由 yongxiang1 于 2008-4-29 11:59 发表
期待U盘启动的XP中...

我早就可以用U盘直接启动XP,VISTA,这有什么新鲜的啊,楼主大概说的是用USB移动硬盘启动XP而不是U盘。
回复

使用道具 举报

35#
发表于 2008-11-26 09:56:55 | 只看该作者
够大的!!!!!!!!!!!
回复

使用道具 举报

34#
发表于 2008-11-26 08:07:17 | 只看该作者
最最值的期待的当然是可以在任意机器上启动,便又不丢失数据的系统
如果能用就最好了
回复

使用道具 举报

33#
发表于 2008-11-25 21:06:43 | 只看该作者
严重关注第二种方法。
回复

使用道具 举报

32#
发表于 2008-11-23 20:17:19 | 只看该作者
我修改过。成功了。就是开机速慢了点。而且要插个硬盘上去才能启动。没有插硬盘的话只能进入安全模式。其他模式一进就自动重启。还得努力改进改进!
回复

使用道具 举报

31#
发表于 2008-11-23 18:35:52 | 只看该作者

实现Windows XP Live On USB Device

谢谢楼主!!!我改过了。算是成功。不过启动是要插上硬盘才会启动。不插上硬盘的话只能进放安全模式。其它模式一进就自动重启。。请问是什么原因?
回复

使用道具 举报

30#
发表于 2008-11-2 14:05:26 | 只看该作者
移动的XP岂不美哉,曾经把XPE安装到U盘,启动蓝屏,如果能出来真是太多了,一个U盘而不知道怎么用呢
回复

使用道具 举报

29#
发表于 2008-11-2 10:03:02 | 只看该作者
希望见到通用的,辛苦了
回复

使用道具 举报

28#
发表于 2008-9-4 16:50:18 | 只看该作者
楼主那个ftp下载不行了
回复

使用道具 举报

27#
发表于 2008-7-8 20:27:06 | 只看该作者
wo 很关心这个啊 高人啊
回复

使用道具 举报

26#
发表于 2008-6-3 11:21:27 | 只看该作者
我也曾经按此法做成ISO镜像,烧制光盘,启动Laptop,但是不能成功,估计是因为没有卸下Laptop的本地硬盘的原因。
不过,楼主可否将您做好的ISO镜像文件放到fs2you.com网站上,便于大家下载(您的lintel.joyren.cn基本访问不了)。谢谢!
回复

使用道具 举报

25#
发表于 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 编辑 ]
回复

使用道具 举报

24#
发表于 2008-5-26 21:28:49 | 只看该作者
希望能看见能在各种机器上运行的成品。
回复

使用道具 举报

23#
发表于 2008-5-21 13:07:05 | 只看该作者
偶很关心啊,楼主继续啊。
回复

使用道具 举报

22#
发表于 2008-5-20 08:10:08 | 只看该作者
期待第二种方法,比较实用。
回复

使用道具 举报

21#
发表于 2008-5-19 23:25:27 | 只看该作者
关键就是需要在不同机器上都能使用,那样才有实际意义!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-3 09:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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