将完整的XP(非PE)安装到U盘

原文http://www.ngine.de/index.jsp?pageid=4176

在硬盘上安装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,然后在“工具”菜单下选择“制作光盘映像文件”选项,并保存你的ISO文件即可。
提取需要处理的文件
光盘镜像创建好之后,关闭并重新打开UltraISO。然后在“文件”菜单下使用“打开”命令打开你之前刚刚创建的ISO文件。
接下来进入i386文件夹,并选中下列文件(按下“Ctrl”键可以多选):
● TXTSETUP.SIF
● DOSNET.INF
● USB.IN_
● USBPORT.IN_
● USBSTOR.IN_
在“操作”菜单下选择“提取”命令,然后将提取的文件释放到其他文件夹中。
提取IN_文件
运行前文中下载的Cabsdk.exe,将其中的文件释放到硬盘上(假设放在c:\cabsdk下)。然后运行“CMD”打开命令提示符窗口,并进入到c:\cabsdk\bin,按照cabarc x USBSTOR.IN_这样的格式对在上一步中提取出来的三个“.in_”文件运行cabarc命令,最终你将会得到三个“.inf”文件。
● usb.inf
● usbport.inf
● usbstor.inf
这时候.IN_文件就可以全部删掉了。
编辑文件
这是本文要做的主要工作,同时我还会简要解释一下为什么这样做。编辑工作可以使用纯文本编辑器,例如记事本完成。
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\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_文件。恭喜,所有修改工作就都已经完成了。
重新装入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也可以正常工作。
至此,所有操作就已经全部完成了,你可以放心在安装到移动硬盘中的系统里处理任何机密数据。完成之后只要将移动硬盘拔出,并保存到安全的地方,重新将内置硬盘连接到计算机,就可以进入平时使用的系统。

附:修改好的6个文件.rar 下载

(
USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
)

对应的ISO文件为:

集成SATA串口驱动windows系统安装盘制作

将完整的XP(非PE)安装到U盘相关推荐

  1. 将完整的XP(非PE)安装到U盘(转载)

    来源: http://hi.baidu.com/sunsee/blog/item/6d7c82ccce1ee01800e92815.html 原文http://www.ngine.de/index.j ...

  2. 如何使用U盘安装操作系统,非PE安装系统的方法

    写在前头,网上有很多介绍用WinPE安装系统的文章,但是自己试过这后发现并不是非常简便.近日又发现有人在询问如何装系统,所以特将自己使用的方法写出来,希望能帮到没用U盘安装过系统的本友. XP系统 使 ...

  3. 微PE安装系统 不显示U盘中镜像文件 的解决方法

    问题 首先把微PE安装到U盘,再复制win10的iso镜像到U盘,但是重启电脑进入PE中却不显示刚才的iso镜像文件. 安装 选择UltraISO刻录这个方案 ​ 下面虽然选了格式化为NTFS,但是不 ...

  4. Windows安装教程(Microsoft官方工具安装+PE安装教程,以及GPT分区、UEFI模式安装win7教程)

    本文主要介绍两种Windows安装方法.以及如何在GPT分区.UEFI模式中安装win7 两种方法各有优缺点. 第一种方便,PE里面很多功能,你的电脑出了什么毛病基本上都能通过PE解决.而且能安装各个 ...

  5. 移动硬盘可以安装matlab吗,教程:一盘三用法 系统随我走(非PE) 到哪也不怕!!!...

    教程:一盘三用法 系统随我走(非PE) 到哪也不怕!!! 2017-05-05 12:02:28 86点赞 741收藏 97评论 WIN XP作为微软历史上最长命的操作系统,带给了我们很多方便和记忆, ...

  6. linux下安装win xp 进pe出错,PE安装原版XP系统(含高版本PE安装选项灰色处理办法)...

    PE 安装 XP 镜像流程 准备原版 XP 安装光盘镜像放到硬盘非 C 盘. 可解压到本地经行安装, 也可以使用虚拟光驱载入安装 (本教程主要讲 PE 内虚拟光驱载入安装) 第一步:用 U 盘或硬盘/ ...

  7. PE安装原版XP系统(含高版本PE安装选项灰色处理办法)

    PE 安装 XP 镜像流程 准备原版 XP 安装光盘镜像放到硬盘非 C 盘. 可解压到本地经行安装, 也可以使用虚拟光驱载入安装 (本教程主要讲 PE 内虚拟光驱载入安装) 第一步:用 U 盘或硬盘/ ...

  8. 使用u盘PE安装原版xp系统

    网上有很多关于这方面的文档,但都不尽如人意,本人亲身经历后写了这篇文档,给大家分享,安装原版xp系统,主要有三个关键的地方,好多人安装失败也是因为这三个地方.第一个是系统映像文件一定要放在非系统盘里面 ...

  9. xp系统粘贴是灰色的_PE安装原版XP系统(含高版本PE安装选项灰色处理办法)

    PE 安装 XP 镜像流程 准备原版 XP 安装光盘镜像放到硬盘非 C 盘. 可解压到本地经行安装, 也可以使用虚拟光驱载入安装 (本教程主要讲 PE 内虚拟光驱载入安装) 第一步:用 U 盘或硬盘/ ...

最新文章

  1. 普林斯顿三大读本,学数学必入!
  2. 京东首页302 Found报错 监控宝教你如何第一时间发现
  3. [Oracle]Oracle 各产品的 生命周期
  4. Codechef Chef Cuts Tree
  5. 高质量c/c++编程(5)
  6. spring的bean不能注入的几种原因及分析
  7. python插入排序_python简单的实现插入排序和二分插入排序
  8. 网络安全面试题及答案
  9. 深度学习需要计算机配置,深度学习工作站配置推荐
  10. linux lzma命令,Ubuntu: 压缩与解压缩LZMA文件
  11. Python框架:Django写图书管理系统(LMS)
  12. 【无人机】【2014.08】无人机国家的诞生:自1917年以来的美国无人机发展
  13. html5连连看源码解析,JS连连看源码完美注释版(推荐)
  14. 静态网页轻松加载动态数据,让HTML开发更轻松
  15. 搞笑python代码_ZAKER搞机团
  16. 炸分王的省选2021(A)游记
  17. tkinter 出现两个窗口 tk(未响应) 解决方法
  18. 有了这个Python库,再也不愁给孩子起名字了
  19. Text-to-SQL---RAT-SQL模型
  20. 亚马逊为期十年的中国Kindle电子书店敲响丧钟,王者已不复存在

热门文章

  1. 【AI与多媒体处理】
  2. 《Go语言圣经》学习笔记 第九章 基于共享变量的并发
  3. 数据结构与算法之转圈打印矩阵和旋转正方形矩阵
  4. 弹性服务器架构-连接一切的力量
  5. CentOS详解top命令各个数据的含义
  6. 深度学习、机器学习与NLP的前世今生
  7. Apollo 2.0发布前 试乘百度L3、L4级自动驾驶汽车
  8. 万能makefile深入浅出 - 第二篇
  9. leetcode 688. Knight Probability in Chessboard | 688. “马”在棋盘上的概率(dp,记忆化搜索)
  10. leetcode 519. Random Flip Matrix | 519. 随机翻转矩阵(洗牌算法Fisher–Yates shuffle)