将完整的XP(非PE)安装到U盘
將完整的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盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在U盘上运行Win8!使用 Window
- 下一篇: 在Socket做服务器,在手机上用Htt