[翻譯] 從USB裝置上安裝及啟動Windows XP

mp07702

榮譽會員
已加入
5/11/04
訊息
1,979
互動分數
0
點數
36
年齡
43
我之前也遇過....直接把虛擬記憶體設定成0就好了(問題會比較少)

另外一個大問題....
當系統裝在usb隨身碟或硬碟時
只要你動態插入USB的裝置...
沒辦法直接使用
因為winxp USB驅動程式被改掉了
等於driver沒有過whql

感謝您的指導....

看來小弟的想法不可行....

因為除了OS以外我還需要掛上Oracle的資料庫

本來想說這樣一來上課比較方便...

但如果無法使用虛擬記憶體..我的資料庫一載進OS記憶體會爆掉....

整個OS都快動不了...因為OS一直在做置換的工作....ORZ
 

d9616395

初級會員
已加入
1/2/07
訊息
2
互動分數
0
點數
0
年齡
48
安裝winxp在usb drive

本人所採用的usb 硬盤是 SAMSUNG MP0402H 40G,已按 閣下的指示將有關的檔案修改並燒錄成安裝光碟,開始安裝時,將USB 硬盤通過 USB線插入桌面電腦的USB PORT, 電腦檢測到該硬碟,安裝光碟亦開始進行安裝前的讀取檔案程序,接著出現選擇安裝在那個硬盤的畫面,我選擇USB 硬盤,按下"ENTER"後,出現一畫面指所選之硬盤不能被辦認。研究問題出現在哪裡?請指教。

6) 編輯檔案
這裡是重點。我會詳細解釋接下來的步驟。打開記事本。

6-A) TXTSETUP.SIF
這個檔案是用來載入Windows XP CD installer最開始的安裝步驟。我們可以通過修過這個檔案以達到在Windows安裝時能辨識到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

跟先前的修改一樣,由[InputDevicesSupport] (粗體項目) 移動到[BootBusExtenders]

[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 = "Treiber f?r seriellen Anschluss",files.none,serial
serenum = "Enumerator f?r seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp

第二步,我們需要寫入幾個指令入登錄檔。非常簡單,只需輸入AddReg = usbboot.inf,usbservices於[HiveInfs.Fresh] 及usbboot.inf = 1,,,,,,_x,3,,3於[SourceDisksFiles]:
[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 (若使用非原版Windows XP光碟可能沒有第二個[Files]區)
[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx
....
6-C) 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

6-D) 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

6-E) 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

6-F) 在資料夾內新增一叫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

7) 把.inf檔的副檔名改回 .IN_
即使你沒有刪除本身的 .IN_檔亦無妨,只需覆蓋他們便可。打開DOS shell,執行以下指示:

cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf

以上3個 . IN_檔就會出現。

恭喜!所有修改完成。

8) 插入已修改的檔案回ISO檔
使用WinISO打開Windows映像檔。從映像檔中刪除I386資料夾內以下的檔案並儲存:
• DOSNET.INF
• TXTSETUP.SIF
• USB.IN_
• USBPORT.IN_
• USBSTOR.IN_

確認修改過的檔案已放入Windows映像檔內,重啟Windows映像檔。在I386資料夾內新增以下已修改的檔案
• USBBOOT.INF
• DOSNET.INF
• TXTSETUP.SIF
• USB.IN_
• USBPORT.IN_
• USBSTOR.IN_

儲存Windows映像檔。

9) 把修改後的Windows映像檔燒錄成光碟
使用任何燒錄程式。我個人使用免費又簡易操作的Burnatonce

10) 安裝Windows XP
關閉電腦。拔除所有硬碟裝置(令安裝程式無法找尋到硬碟裝置以免擾亂Master Boot記錄)。沒有安裝硬碟會使有些電腦出現啟動問題,檢查BIOS,並移除使用HDD作第一啟動並設定USB儲存裝置作第一啟動裝置,光驅為第二啟動裝置。

連接USB儲存裝置,勿通過Hubs連接

此時Windows應該能順利安裝。

在安裝時將會出現:
.安裝中,會出現提示,會出現USB裝置"not certified"(未認證)-這是正常。只需按"yes"便可。
.完成安裝後,在系統第一次啟動時會出現pagefile不存在的警告。只需忽略便可,Windows會繼續運作。有些人找尋解決的辦法,但大家可以忽略之。

經過Windows完整的啟動及運作後,可以關閉電腦及連接之前拔除的裝置。

以下為測試成功的硬體裝置-若各下亦能成功完成,懇請把你的資訊告訴我email me,而我亦會把你的裝置加到以下的清單列:

• Dell Latitude D810, Freecom FHD-3 80GB USB2 HDD, NTFS formatted using HP tool
• Dell Latitude D810, Western Digital 2206A 80GB USB2 HDD, NTFS formatted using HP tool

若有任何疑問,請瀏覽forum一起討論。

have a lot of fun!

Emanuel Schleussinger
http://www.ngine.de
Mar 2006
 

viciousgod

平凡的潛水夫
已加入
9/23/03
訊息
840
互動分數
0
點數
16
本人所採用的usb 硬盤是 SAMSUNG MP0402H 40G,已按 閣下的指示將有關的檔案修改並燒錄成安裝光碟,開始安裝時,將USB 硬盤通過 USB線插入桌面電腦的USB PORT, 電腦檢測到該硬碟,安裝光碟亦開始進行安裝前的讀取檔案程序,接著出現選擇安裝在那個硬盤的畫面,我選擇USB 硬盤,按下"ENTER"後,出現一畫面指所選之硬盤不能被辦認。研究問題出現在哪裡?請指教。

有沒有畫面
這樣的敘述不太看的到狀況在哪?
 

wongin

穿丁字褲的橘子
已加入
4/17/05
訊息
787
互動分數
0
點數
0
年齡
42
網站
造訪網站
電腦硬件:DELL Optiplex GX620, Pentium (R) 4 CPU 3GHZ, SAMSUNG MP0402H USB 硬盤)簡體win xp在 USB硬盤期間出現的藍色畫面有以下訊息:
=========
Windows xp professional 安裝程序
計算機的啟動程序無法訪問含有所選磁盤分區或可用空間的磁盤,安裝程序無法在此硬盤上安裝windows xp。

無法訪問不一定說明有錯誤。例如沒有使用特別的軟件,啟動程序通常無法發現連到不是計算機制造商安裝的SCSI適配器上的磁盤或連接到次要硬盤控制器上的硬盤。

有關詳細信息,請與計算機或硬盤控制器制造商聯系。

在x86型計算機上,此消息可能表明計算機的CMOS驅動器類型設置存在問題。有關詳細信息,請查閱磁盤控制器文檔。
=========

另外,我的簡體WINXP安裝光碟有以下三個[SOURCEDISKSFILES]

[SourceDisksFiles]
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
.......

[SourceDisksFiles]
sprs0804.dll = 100,,,,,,,2,0,0,xpsp1res.dll,1,2
c_10003.nls = 1,,,,,,,,3,3
c_1361.nls = 1,,,,,,,,3,3
......

[SourceDisksFiles]
c_10004.nls = 1,,,,,,,,3,3
c_10005.nls = 1,,,,,,,,3,3
.....




我打算嘗試安裝繁體版的WINXP,但發現[SOURCEDISKSFILES]如下所示,我應將usbboot.inf = 1,,,,,,_x,3,,3放在那一位置。
[SourceDisksFiles]
setupORG.exe = 1,,,,,,,2,0,0
presetup.cmd = 1,,,,,,,2,0,0
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
c_1252.nls = 1,,,,,,3_,2,0,0,,1,2
c_437.nls = 1,,,,,,3_,2,0,0,,1,2
......

詳細情況就是這樣
 

d9616395

初級會員
已加入
1/2/07
訊息
2
互動分數
0
點數
0
年齡
48
從USB裝置上安裝及啟動Windows XP

你好,我安裝(電腦硬件:DELL Optiplex GX620, Pentium (R) 4 CPU 3GHZ, SAMSUNG MP0402H USB 硬盤)簡體win xp在 USB硬盤期間出現的藍色畫面有以下訊息:
=========
Windows xp professional 安裝程序
計算機的啟動程序無法訪問含有所選磁盤分區或可用空間的磁盤,安裝程序無法在此硬盤上安裝windows xp。

無法訪問不一定說明有錯誤。例如沒有使用特別的軟件,啟動程序通常無法發現連到不是計算機制造商安裝的SCSI適配器上的磁盤或連接到次要硬盤控制器上的硬盤。

有關詳細信息,請與計算機或硬盤控制器制造商聯系。

在x86型計算機上,此消息可能表明計算機的CMOS驅動器類型設置存在問題。有關詳細信息,請查閱磁盤控制器文檔。
=========

另外,我的簡體WINXP安裝光碟有以下三個[SOURCEDISKSFILES]

[SourceDisksFiles]
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
.......

[SourceDisksFiles]
sprs0804.dll = 100,,,,,,,2,0,0,xpsp1res.dll,1,2
c_10003.nls = 1,,,,,,,,3,3
c_1361.nls = 1,,,,,,,,3,3
......

[SourceDisksFiles]
c_10004.nls = 1,,,,,,,,3,3
c_10005.nls = 1,,,,,,,,3,3
.....
是否三個位置都需要加”usbboot.inf = 1,,,,,,_x,3,,3”
請指教!
 

petro

高級會員
已加入
9/18/03
訊息
599
互動分數
0
點數
0
你好,我安裝(電腦硬件:DELL Optiplex GX620, Pentium (R) 4 CPU 3GHZ, SAMSUNG MP0402H USB 硬盤)簡體win xp在 USB硬盤期間出現的藍色畫面有以下訊息:
=========
Windows xp professional 安裝程序
計算機的啟動程序無法訪問含有所選磁盤分區或可用空間的磁盤,安裝程序無法在此硬盤上安裝windows ...

我還沒安裝......
但是按照原PO的文章
應該是放在bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
這行上面
所以雖然你可以找到三個sourcediskfiles
但是放的地方只有一個吧!
 

kenyu9

一般般會員
已加入
2/27/07
訊息
136
互動分數
0
點數
16
實用的資訊

感謝分享
 
▌延伸閱讀