【IT】将XP安装在U盘上的详细教程 (4/562)

< 上一篇下一篇 >
本帖地址: 复制地址

修改 回帖 引用 楼主: 土八路

用户形象图片

图片:  
Click Here To EnLarge

几个月前,我尝试将XP安装在U盘上,获得了成功,发帖后获得了不少网友的关注,不过上次安装过程没有做记录,不是很详细,昨天终于抽时间再次安装.下面是详细教程

1下载一张非GHOST的Windows系统,最好是原版,这里我用的是上海政府版,

windows xp sp2上海政府大客户版(可通过微软验证).iso

文件: E:\大型软件库\操作系统\上海政府版\windows xp sp2上海政府大客户版(可通过微软验证).iso

大小: 621346816 字节

修改时间: 2008年9月8日, 20:29:50

MD5: 2637E695F43329FC9D66FECEEE44BF1F

SHA1: 45718F99E50457BE8077199AABACB2EAA9738484

CRC32: FFFFFFFF

序列号: DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G

用UltraISO打开这个镜像文件,进行以下操作

以下怎样修改系统文件内容的知识转载自

http://bbs.wuyou.net/viewthread.php?tid=124736&extra=page%3D5&page=3

我也是根据这个指导修改的

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

图1

Click Here To EnLarge


提取需要处理的文件

光盘镜像创建好之后,关闭并重新打开UltraISO。然后在“文件”菜单下使用“打开”命令打开你之前刚刚创建的ISO文件。

接下来进入i386文件夹,并选中下列文件(按下“Ctrl”键可以多选):

● TXTSETUP.SIF

● DOSNET.INF

● USB.IN_

● USBPORT.IN_

● USBSTOR.IN_

在“操作”菜单下选择“提取”命令(图2),然后将提取的文件释放到其他文件夹中。

图2

Click Here To EnLarge


提取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

Click Here To EnLarge


编辑文件

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

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  
Click Here To EnLarge



重新装入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文件,无法引导计算机和安装系统。

至此,可以安装在U盘上并能正确启动并运行的”U盘版XP”光盘已经制作好了,下面,我们来制作能安装XP的U盘
回到帖子顶部

回帖 引用 1楼芣,过洳泚

用户形象图片

终于坐上沙发啦
不过你这方法能行么。
回到帖子顶部

回帖 引用 2楼哟 ﹏、 羙

用户形象图片

gsuhgsiugh
回到帖子顶部

回帖 引用 3楼o夨忆勒、

用户形象图片

好高!~

    LZ,这也太麻烦了!~不用也罢!~
回到帖子顶部

回帖 引用 4楼飛/love仙℃

用户形象图片

u盘用pe  就好了 
回到帖子顶部
个人信息
  • 荣誉+3
  • 荣誉+2
  • 荣誉+1
  • 荣誉-1
  • 荣誉-2
  • 荣誉-3
发表留言
  • 文章不错!
  • 精华好文!
  • 支持原创文章!
  • 帖子图文并茂,好!
  • 真知灼见,说得好!
  • 恶意广告
  • 违规内容
  • 严重灌水
  • 重复发帖
  • 标题党
你确定要删除此楼层吗
扣20点经验值

快速回复进入高级回复

插入图片 选择表情

验证码 看不清?换一张(不区分大小写)

[完成后按Ctrl+Enter发表]
[回复须知]