找回密碼
 註冊
搜索
查看: 4862|回復: 0

三套方案制作DOS/WinPE雙啟動U盤製作詳解

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」
2 f" B" N+ J7 l% U4 S0 |本文原址:http://bbs.zuluck.com/thread-1902-1-1.html3 B+ R* H. ]0 M8 W" K( M
/ T: a' C3 R7 C. @% K+ D8 k' R( T

! ]( ]7 ]3 P9 b1 Z5 A( `沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。" }) \% k) t3 `. g+ @( a- @: c$ o

/ s' c8 P& h. I; b3 W前緣:
* L4 h5 X* b$ o# V3 F$ N) x; R# O
  K* [! g- I) ?; H) _9 Z很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
. r. J3 h4 k- C3 L$ m  s/ B+ T, g' {2 v4 y
目標:
3 s6 n! ~; T2 f! S/ x
# E' K) @+ H4 y1 [) D對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!) i' n3 n% I* T( @. H( Y1 N* s
: C# D2 Z7 h* ~0 ]1 f
技術背景:! {8 s# |/ @; ~! V) v

' D. Q, u% P$ p6 N& o. g( \其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。$ z4 P/ F0 Y+ i% v8 m# y. b5 J
& [9 t+ P* t1 C) C+ X
首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。8 x0 ~0 Z1 y& X& R0 ^- y

! ?  e. x  E( D: N3 V因此完成一個操作系統的啟動,1 e" h6 L9 |5 {( O( u$ R
需要兩個必須的步驟:1、MBR引導;2、OS引導。
+ a  e) u" d0 A  {" I( K2 b# b! w8 e3 Z4 z7 x, ]9 m  ]
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。
8 ^3 i, t/ s6 Z* ?' ?+ ?- T8 h0 `/ y
; R; o; E! P& x! W0 d2 Y% v對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。
3 \. A& l( I2 v; b雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。
  {% `4 |4 b+ O# ?4 \  f5 l
6 k9 N+ u9 P4 xOS選擇:
0 X' q+ v7 C# d" A- ^& P* \; ~+ x. g* A" P1 n8 f" o
DOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。
  V# A9 K0 f6 k* o6 ]  V" e( a/ n9 v* y: r3 ~- b$ M5 S$ G5 E. K
方案一:NT Loader + AVLDR + Avlgo
" O  S$ d4 |: g6 \- j! {% u
5 g: J) @- W4 ]) f- |MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。
, U( [9 z: q- y  u  w& j3 I2 A7 @
工具準備:
& Y: y; @& E/ ?1 E  BPeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。2 e, s  m3 W# C
; r/ b6 V/ u: s) o, p& U
數據準備:2 G4 w0 k9 g0 \2 z3 v7 O# D/ b

* I  S: Y. |3 I% U' E. J1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。! X8 b2 G8 g7 |4 {: _

$ v8 e* X; J6 I
1 X0 b! X2 M  B0 V2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。
* g' D6 _7 n. }5 \7 P+ b; A5 E1 ^( W% ]5 o3 A" B) L1 H
( G" I& x! p: k: r+ a
! L; r" h$ d9 g' {" ]% l
3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。
$ m# @5 V* Z) ~2 g# z9 Q
  ?0 B! l1 _3 K) a3 y; y! b4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。
; F, G+ M  X, I
3 N& z, q" v; |0 N! W: x4 B& P, t, T* r
5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。
' p1 X% {/ y+ r  f1 v2 |# K$ F% }0 Q7 b1 T& v& h9 S

" k. U! I2 y8 _! Y$ w) k) C# S+ Q
; C. x- y0 {7 X7 _/ m" g$ ?開始組裝:
2 l/ L5 U0 W7 A& B, d$ V, q9 X9 I2 X
8 f$ o0 T. T, U: D1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:
/ M3 c% N; Z8 ]. V0 V# M8 N
[boot loader]
1 Z2 h$ Z7 _! M# ptimeout=30- r# o% i- K7 F- h/ G  N7 g5 ^
default=C:\avldr.xpe
2 e# x/ X1 ^) T. |" S[operating systems]) I# D9 q' T# O$ h3 x
C:\avldr.xpe="Windows PE ByaoMaotao"3 k( Q) T6 x5 S1 q
C:\avldr.bin="MS-DOS 7.1 form USB-HDD"
  i. i  e5 d+ r( V, H" V5 ]0 cC:\avldr.dos="MS-DOS 7.1 from USB-FDD"

9 b8 p* ^3 Q: S完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。0 }' G5 _# M. x3 P1 f
  }% Y: l* d: P! W6 v
這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。
0 @5 m( t" T2 V; O/ k) d! c* l, X0 d* r1 p- i) {5 X4 c/ ~) N
[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。8 q$ m; n! O6 u7 E# e

, B4 T5 q, c( o* j* r  v, ~* Z2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。2 m$ K2 v* Q4 p. u# O0 E( L8 j) j

1 q( _3 S' J9 Z8 }; w1 g* j3、把下載到的老毛桃WinPE的ISO文件解壓縮到一個臨時文件夾,把其中「WINPE安裝」文件夾裡面的AVLDR.XPE拷貝到U盤的根目錄,把 「WXPE」文件夾下的 SETUPLDR.BIN 也拷貝到U盤根目錄並改文件名為 LDRXPE。把臨時文件夾裡面的 WINNT.XPE、WINPE.IS_、和「外置程序」文件夾都拷貝到 U 盤的根目錄下。做完這一步,U盤就可以引導到WinPE下了。如果啟動的時候選第一項「Windows PE ByaoMaotao」,系統將依照NTLDR------>avldr.xpe------>winnt.xpe------>winpe.is_這個順序鏈把電腦啟動到Windows PE環境下。5 k0 n+ D0 e: r+ B
! n( ]- x4 I$ g8 F2 \4 v
5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。" d: x9 y! H* I. p; W
2 k8 l0 z+ U/ k* d# m
6、把前面生成的Avldr.bin和Avlgo.sys兩個文件拷貝到U盤根目錄,對照Boot.ini文件可知,這兩個文件是對應於菜單中第二行 for USB-HDD模式。如果啟動的時候選擇第二項「MS-DOS 7.1 form USB-HDD」,系統將依照NTLDR------>avldr.bin------>avlgo.sys------> DOS.ima這個順序鏈把電腦啟動到MS-DOS環境下。
/ J. d) H" j5 u. o" `, t( F1 i
* B$ h" w9 m5 E7、把前面UltraEdit編輯生成的Avldr.dos和Avdos.sys兩個文件拷貝到U盤根目錄,對照Boot.ini文件可知,這兩個文件是對應於菜單中第三行 for USB-FDD模式。如果啟動的時候選擇第三項「MS-DOS 7.1 form USB-FDD」,系統將依照NTLDR------>avldr.dos------>avdos.sys------> DOS.ima這個順序鏈把電腦啟動到MS-DOS環境下。
5 z- _8 k2 Q& C0 G! h( ]! C
" C9 {5 v+ n* [7 r$ \5 m! r$ D至此DOS/WinPE雙啟動系統維護U盤製作成功。3 Y* w/ R, B- U( F* R' p7 N
. m- _. t' Q' N- R0 S. C  Y% [
方案二:NT Loader + Grub4DOS' H7 d( T7 y; f$ \4 Y8 i

% Q, Q  g% p& g: u4 H* ?5 _因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。+ S8 L4 U4 f* \) O3 J
# n8 m3 l6 h" q0 _
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。
" {1 x7 l( Y% A8 N* J5 Z% ~2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。: ^7 A6 Q: S' z9 t% z: ~# D
3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:) @) i, \6 e4 D! D- X! |% C" }3 K
[boot loader]
3 z% i( t$ d1 y+ H% @/ ?, k5 C% gtimeout=0, v6 t- d* }+ i" q4 w
default=C:\grldr. l6 B9 ~4 _) y
[operating systems]) G& R2 g/ q2 {$ }# X5 }* k5 }! q
C:\grldr="Boot Menu"

. y  v% `  L. K/ rBoot.ini菜單各個項目的含義請對照方案一的說明。+ C8 ?0 p( ]& M' k
1 b5 u+ o( E, o$ D0 n& M
4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
: c& T9 c% u" a
4 z# r* v, `$ E5 A5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。# [# W2 S  X& G4 F; D. ^' J, Z: D4 @" }

! H5 [( P, ]7 E6 c; S# g6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
) d/ p% N3 p( G8 K  t: n3 d" j% N! F2 [" o) K
7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:
" P3 y; V* P: T! n1 u
timeout 30  \9 h# Y: W: ^3 _5 v4 ~! K+ X
default 0+ c( u  E/ F" U' W2 d; n
splashimage /boot/splash.gz* |6 p9 `% w& w5 a6 Q1 D
foreground ffff00" j$ _" }' ?. {) i0 a6 f- @
fontfile /boot/fonts.gz' v" c# F* o! M# b- Y/ P
title 啟動 WindowsPE
  @! T) N/ ~  @  Y$ Sfind --set-root /grubidx.txt6 O9 u3 m9 W. Y$ J8 e  \
chainloader /ldrxpe; e& s7 f8 S2 V1 G
title 啟動 MS-DOS 7.15 F9 U. [$ L% a! c* r" M6 x1 e5 U
find --set-root /grubidx.txt7 ~2 H6 U. G2 B$ g
map --mem /boot/dos.ima (fd0)3 `( H. G# j; Q" r: p% o! t+ v
map --hook
8 b7 Z6 [' N$ a" ^& K6 ?0 nchainloader (fd0)+1
# Z. m4 j  F/ urootnoverify (fd0)

6 Z" \8 e% _% G. v, S做完這些,U盤就可以啟動了。. I7 P6 P8 F# P4 ]4 A! H2 M: s
$ o5 O- M1 X) G( R- a- M
菜單項目說明:3 g' o( Z- F5 u' D# v: v
4 i- b" Z* q% V0 l# q
第一行設置等待30秒的等待時間;
- |# C) b/ t) g" k
+ J' D$ x% T5 h: a+ G1 \: R+ P第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
* y' P% ?: Y5 d% G- \/ ^7 U, G. L6 I! `/ M# Q1 o6 [
splashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;
3 A% o% u. m: G& D& T/ |7 V* \: V0 {4 n+ C! V2 q% F- I6 S
foreground項設置啟動菜單文字顏色為亮黃色;+ b( v! y9 B0 B# x; y8 I# O+ X; u- P

8 d) k; P1 h- I: A0 P! j- lfontfile項設置中文字體文件為/boot/fonts.gz
5 j4 o1 `+ j2 j
* _- F# N1 l8 g3 l8 U/ y下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;
2 I$ T# ^1 U6 t; q' o
; d3 U+ E1 O+ G% }find --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。) j/ B& L0 w# y7 B, l
/ {+ X9 _% u- u
chainloader /ldrxpe就是啟動WinPE的XPE鏡像。
- U/ b8 J# y/ s1 o3 H
4 T% a+ S4 U0 \0 A, c8 K4 Xmap --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.
7 k6 Z6 B$ g6 A( N0 L, p% U8 [1 F* u# T4 c  d0 g, n7 m, Z
map --hook是讓裝入的軟盤鏡像立即加載生效。. \- x; T' o/ ?' C
- U. d* n/ ^% ?( c" N
rootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。! S, x, G) p0 S3 ]
7 D3 C! U5 M. E3 ~, s% S
本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。# O1 E, c/ ~% h2 S6 k0 j1 i
  |& T7 Q* |& a+ g8 j3 B3 @0 C

  i) W$ r& M- [3 R, ]0 j0 ^5 R方案三:MS-DOS 7.1 + Grub4DOS+ \# V/ l2 Y# a. L- |5 M
, I0 z7 T& G# Z3 I7 s4 G" V* M
本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。
% U4 q8 }$ c) A+ O, }/ A, F/ }1 C$ j; c% e+ i
本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。! A" z& g6 S. e; o3 A; C0 U3 R

8 ]' f1 `( c2 U: R1 o1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。
* W% G& i' _/ g  r- _$ l2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。0 P6 _% z3 B+ Z& V2 x
3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
' w$ l" @+ d6 q" M9 ~' l6 P+ }4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。3 f. |. L  Q5 i/ V3 _8 B
5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。
9 z* \/ ^- M* ]) ?7 `; H, {- P6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:# |* E# X* `& O: A& G7 v  c% K
timeout 0
3 M+ ~. w, V4 n+ ~$ h' {1 e2 Q2 O2 Wdefault 0
9 p! p9 N* w' C7 j5 a. xfontfile /fonts.gz
6 S4 }1 e1 {2 i  wtitle 啟動 WindowsPE" ]" U3 m5 l0 r/ c" \+ l
find --set-root /grubidx.txt
$ [* o) a- [% ?3 w& a5 M. qchainloader /ldrxpe

' y/ _) ?( K; {3 ^在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。
) `9 j3 Y: k2 _8 m' k; w- \. F5 D) M! K* X
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:
# z; o% s- }  O- G* |, Q- L
7 w4 U8 c) u+ T; F* F7 ogrub; c/ X3 T7 q) N8 ]% G  C" o
( z1 B; Y9 w" R5 l$ t6 `
這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。
9 l: X: r( o$ o" O4 R/ I' o9 I# [1 ]) b# q2 Z
Config.sys內容:: |: e2 ^" X6 v/ g( J
[MENU]. o! C. G6 \% {, L  f0 R) M
MENUITEM=1,XMS without CD-ROM support+ z- h3 X. T0 I% D8 Z/ a
MENUITEM=2,XMS with CD-ROM support# Z. N2 T  k- Y; [" j. Q
MENUITEM=3,XMS and EMS
3 o5 A7 `2 }& w- {4 ZMENUITEM=4,DOS real mode(no XMS,no EMS)- t/ I4 L' p2 a8 M6 I" Y) g5 [
MENUITEM=5,Windows PE0 ?! L+ f$ B# U& X+ b7 w
MENUDEFAULT=5,306 x  R. ^- {3 L
[1]
4 X4 B0 T6 q( oDEVICE=\HIMEM.SYS /TESTMEM:OFF
( B+ S5 Q) l& o4 Q/ N9 B/ W# q; _DEVICE=\EMM386.EXE NOEMS
; T! t7 ~' H2 I- J% ?8 w  b4 PINCLUDE=PUB/ r7 H3 n1 A# K, b9 u
[2]  U( e' ~4 [' ~* h
DEVICE=\HIMEM.SYS /TESTMEM:OFF/ {* x, t/ ~; Y4 w! L1 P
DEVICE=\EMM386.EXE NOEMS
9 o7 r3 F* k7 ~7 E+ sDEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001$ y. @$ z; U' a! X" U! ?
INCLUDE=PUB
$ C* y* ?# p& r5 N+ R# n- O[3]
8 I' t9 g* C, O0 W# ~4 B5 e* nDEVICE=\HIMEM.SYS /TESTMEM:OFF* _1 K2 X3 d. V9 M# A9 z1 s
DEVICE=\EMM386.EXE RAM
; Y# y; Y  Y& Q9 d! V* U/ QINCLUDE=PUB  d6 l8 _5 T1 X( [2 T
[PUB]5 |, l& a4 p  W8 d
DOS=HIGH,UMB" t# q. S4 j/ m3 i& e; U
FILES=30
5 y7 r3 o# L' _9 f5 K( IBUFFERS=20
+ z# S$ y3 l$ wSTACKS=9,2568 ?  r  W) E. Y" O' k6 \% e
LASTDRIVE=Z
9 Z2 e' w5 U) w8 \[4]
/ \8 z& `9 v8 {  dFILES=10* w- P! J8 Z* [9 Y% a( r9 ?! I
BUFFERS=10# ~7 F' u9 A) n3 n& W# X! ^
LASTDRIVE=Z* s2 F: c! C( b1 B! a0 C
[5]
3 N7 Y" m6 Y. [Autoexec.bat內容:6 a" q4 O2 Y0 e  ?2 }
@ECHO OFF' ^- r2 S  B- \# z2 n9 ?
PATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM% M! E) U7 m5 t' u$ ?+ K4 y9 v
GOTO %CONFIG%
8 P8 u. `0 {5 g- U9 L:1
' N, ?4 H) b  u7 i. rGOTO COMMON
; j2 M1 R- P7 K- V:2
, \( N1 S$ W5 `, O' A* [1 JLH \SHSUCDX.COM /D:SSCD001
4 z/ x7 |, h2 Y" ], ?0 H* z0 yGOTO COMMON- T/ B9 \) `5 E
:3
# z; T. ]' W& \- m( J& q) BGOTO COMMON$ t( t, H7 S/ L. z4 P% i
:4
6 f. ?; P" h: m( X$ FGOTO END: n* `2 T4 ?5 Y+ c) o
:52 c# ]% z% [. A7 f( _$ J
GRUB6 _4 I6 w" Y9 v. b1 Q3 |: _9 Z+ a) ~* L
:COMMON
+ a& e. q' |: o0 c0 y$ D/ X5 gLH \SMARTDRV.EXE /X. A# ~+ N- ^7 S7 B
@ECHO Install mouse driver?7 W) i% q- ]( |: y- f2 l
\CHOICE /C:YN Yes,No /T:N,6
' u3 E$ g" @! A- T! vIF ERRORLEVEL 2 GOTO END
% F7 O8 N2 F4 i, oLH \MOUSE.COM
; l6 p! d+ R) Q' i! @+ B:END

5 x. P# r& e/ }% I0 ?2 B. H1 o( t7 Z
& b' `5 T( l' m8 q. ]! _2 f% h按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。
0 ?" K( r) Y" Q
! D5 v. Z. b( {& x1 ]2 u- e感謝5free和david_ge的幫助!
6 B' M& D4 U8 k0 c5 Q; H" b/ d! T3 Q. O4 n7 v! g
本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:
# k8 k5 f- d4 }( z' z! I5 f) m% z( g# u
http://bbs.wuyou.com/viewthread.php?tid=94087
' j. ^% V0 {. c# o/ n! W1 D) `http://maotao.u.winzheng.com/$ b6 b7 M/ A0 w  \9 a0 @

# g2 W& W+ ?1 d附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。
) U# U9 i" z6 `, F" i4 F1 L
8 L$ Z- t! m! G! j& T: A6 k最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。
& `. y( C. j) e+ G+ `後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。
1 s% K1 u2 x8 l# S9 E; x8 C
0 N2 Z3 C; ~9 q目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|歡迎光臨 Julybee Club

GMT+8, 31-8-2026 02:45 , Processed in 0.171183 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表