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

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

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」' v) Q7 }  r9 x/ L5 y# W" `9 u
本文原址:http://bbs.zuluck.com/thread-1902-1-1.html, Q1 K" a: w; B9 e

6 z5 c  ]' j/ Z, \0 g: |$ u( f7 g8 `  V# |
沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。
: Y" ?( l& t3 r# U# T0 s! f6 u+ Z  {
前緣:6 x3 Y* n7 W; ?/ e. F+ A8 U! p

- U' a% Q3 z7 q5 o很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
/ a# Z2 E7 L4 E& i: F, l; @
/ B) L, u. M, x0 y) H目標:# {0 R- v% A, e+ B- ~; O0 w
9 g! y, R- [; \9 L8 n: j3 D; j
對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!* ~# Z" N+ H  e
  f8 ^1 X9 c$ x1 m
技術背景:
8 k/ |9 D8 @) K9 Q( W& e  b, G, x* o, C0 Q6 ?
其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。+ ?4 k: I( c9 b" l9 H+ t

+ ~- s( p4 W! [* w2 E$ G8 [首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。
- O' [* H/ ]1 l: e% a- z# a8 L2 o4 P/ D) J1 h: h0 t
因此完成一個操作系統的啟動,
- d% Y" }0 H& ]- r4 h  n5 u需要兩個必須的步驟:1、MBR引導;2、OS引導。! k& y+ C, Q# l. I, C. w
. s1 X; G+ H  r8 S9 _
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。6 t, n6 V0 V3 i9 [3 W
0 }' w, }! ]8 y4 m8 N3 S) S5 Z; \. V
對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。8 G. o6 b- V: k: r" O. h
雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。
7 N! u( m. R1 L* f" z
7 B" h- k, P# O# M, Z2 OOS選擇:
4 P. [7 ^5 W8 C9 `  I: {5 y. p
! a5 \/ t, i: U( z' a- `- n, S' Q: A# hDOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。
0 [0 A' ^  _# h! W& S5 S+ `+ @* h9 y7 m  L& |
方案一:NT Loader + AVLDR + Avlgo
  w1 I3 \: T7 X9 I9 w9 \- n6 K" S: s* e$ s; v9 j: ?
MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。' e% A8 C* ^% C1 B

, w5 |- ]/ q7 `/ a: o/ X2 Z" f工具準備:9 X7 _- S8 B% ^  B
PeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。$ y- s! |; x. v

, ~% Y/ F% C6 s/ Z( u+ k2 R數據準備:, z' w  h5 H& h9 ^5 ^) n
% j9 N- K- Q* E( b) _0 X- B. X) A2 _6 m
1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。
5 M" U3 R. X8 O& z) H% V; T' B, j8 S

" J% }- D6 w" \  k7 `2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。
! k+ v6 l( o! n: r: I3 i- `/ f% u4 g+ R1 G, {
0 }" x& I; k& T, x

6 I) x' b9 Q. |; h, `3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。
& P8 a& `5 b1 H+ M/ E
3 V% [# x& z( Y( T$ @3 ^, T% U4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。- @$ C) J  g! {; q0 ~, k
, M4 g& F. _8 _$ F

6 [0 z2 ^+ a! `  T+ Z4 F: s5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。% ?* K$ F. p' z: Q5 B2 r' z

: i/ ?0 O3 N0 o0 b; j
4 v, s3 C% A$ p% }$ U. h4 M6 n  m: `( x& x2 E$ g2 S* Z1 R0 t
開始組裝:
$ J+ {3 E4 h8 p4 `! R' _$ P! I, N: j
1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:) H3 j* k! E0 E4 r' \6 j
[boot loader]& J) a# {! |9 c% w5 V
timeout=30
" ]2 x" {$ M6 A5 ydefault=C:\avldr.xpe
1 j/ r. U* o8 Y[operating systems]0 G1 u$ L1 {/ W8 b7 p( U+ [: X
C:\avldr.xpe="Windows PE ByaoMaotao"
* y7 A- Z% S1 W& @1 h3 X( ~1 o  D6 uC:\avldr.bin="MS-DOS 7.1 form USB-HDD") W7 W2 T  H, D7 R! f0 U2 V
C:\avldr.dos="MS-DOS 7.1 from USB-FDD"
) M6 l3 o% j0 h1 ~+ Q
完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。
% g; M% O, [, Q$ M  g1 O5 c: C9 \! o/ ~+ H
這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。
% V9 h& L9 n7 @6 \+ _9 k6 X( k1 R. K* t7 A! z4 f1 u3 ~/ K/ O7 V9 g2 N
[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。
! q9 m5 [- w4 C# X8 A! h5 Q! P0 X7 I: b; v' G$ B' ^6 @
2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。- T& M# z) s2 B. o6 }: m

2 e) ]1 s/ q0 Q3、把下載到的老毛桃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環境下。
1 y* N4 F7 W7 Z8 G- [+ z0 h  l$ y
- N9 f& U4 R+ X) b3 V% ]5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。
& F, F3 Y) }: z8 J7 C
+ p5 I' M# }% A3 _' O. ^& J6、把前面生成的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環境下。3 ^9 s% f/ g8 D0 @3 _3 U
, k) k# L5 D" D7 L7 l6 h
7、把前面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環境下。
0 T! P# T8 q" I( @) E
, D9 L5 y5 u5 U) E/ @! m7 X至此DOS/WinPE雙啟動系統維護U盤製作成功。
4 ]8 f3 k4 x' N# c) t4 i- h6 L$ W8 M+ p' l* V2 H+ N* h0 B' a
方案二:NT Loader + Grub4DOS
6 H! X3 j$ t! `; b, v8 q) m; {% G  u- n# J' b  [& c( w
因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。
! v. g1 c- |& B1 r- A8 ^* E# _" R: L7 m% W+ l
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。
7 T4 }* s; Y& w) V; I2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。* T" ]6 X* A  O* ?2 u
3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:
2 }6 t8 E* H8 _8 {
[boot loader]
. h; W- E/ G5 `3 w  Ftimeout=04 M2 ]7 N7 ~# V! A9 ^- v
default=C:\grldr+ d1 Z9 ^9 n& [2 {' x
[operating systems]( C6 u1 o6 `$ K$ o
C:\grldr="Boot Menu"
' Y9 b! P1 q  s( C
Boot.ini菜單各個項目的含義請對照方案一的說明。; F* |" f9 \$ L( @

, x' A) U0 b0 }- q' S' @4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
% G" f, U8 X' @; Q0 R3 T$ H+ v9 r  H1 G% Y3 U
5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。7 q/ Z$ e* {9 |' }( n, C& Z; O

) {2 Y6 U3 C  m+ e( ?6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
9 Y! d. n  j( e% C; r. N6 c8 W$ Z0 k- g4 N. n& X% Z$ d  R
7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:8 j7 E2 o7 a, Q
timeout 305 f( b3 J3 `8 a8 h, ?4 o
default 0
: `0 h5 Z7 |2 Tsplashimage /boot/splash.gz
5 O7 A) F, c- v5 n( k" r5 ]/ Oforeground ffff00
- T7 k. w  w: M% Ifontfile /boot/fonts.gz
6 F* M4 I& g) k% ltitle 啟動 WindowsPE
" p9 U6 x. g# @7 D  E8 ofind --set-root /grubidx.txt
! l- e1 E" Z7 v, G7 g# a' Fchainloader /ldrxpe
# R* l! H6 O& ?( N4 k$ [title 啟動 MS-DOS 7.1
- G# V' E( t# t+ I* Kfind --set-root /grubidx.txt
, d, `  [" @+ o7 n, j  u* ^* |9 |. gmap --mem /boot/dos.ima (fd0)2 U% O; E3 g2 v  M" h! T( y
map --hook
1 j8 b6 \5 Q4 i9 e( E, y& r% achainloader (fd0)+1; P+ ]) a  W2 K" a, e
rootnoverify (fd0)
( c! Q) n5 K! a, j9 Q
做完這些,U盤就可以啟動了。
6 n2 _0 F0 G/ S. U* L# G/ K8 `4 Q, l- k6 H* H( I. R
菜單項目說明:
4 N2 G- n9 U9 o7 `# u! [0 L% Q6 G% ?1 k5 c8 [0 U9 ~3 C4 ]
第一行設置等待30秒的等待時間;
  R: j6 R5 c* K" D' O1 W+ ?+ ^0 j( X0 n, h9 ?4 u
第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
5 @9 L" t# K0 b% K9 {
' R! K. U' b' ?3 e% O9 K8 e/ Lsplashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;+ c. f' B* q9 f/ `9 I. }7 `/ @

1 G( z( g, R( b$ l6 A$ aforeground項設置啟動菜單文字顏色為亮黃色;; B' F$ i- }/ [  K1 v+ M. u. y
. m& J1 z* |# e) L- p% w! Z; G
fontfile項設置中文字體文件為/boot/fonts.gz
2 f; N* r% \* i% x% x
1 i" R- p' n: z下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;* M* v4 Y0 [0 f" n7 B% R
8 \  I# R) y5 f" b5 X
find --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。. l$ ~5 [' p+ }! m

: q9 R, R# \$ R1 h) p  tchainloader /ldrxpe就是啟動WinPE的XPE鏡像。. E! V; K7 ]7 L9 [( j2 m( l6 M
$ Q8 H6 K7 q# N/ H+ d  ^
map --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.9 g. N' G4 ?  U& {. ^
+ A# _% S  ]) b/ L
map --hook是讓裝入的軟盤鏡像立即加載生效。
( X3 a# {/ D/ o1 s0 }$ s3 }; j
" @; b: o& p# ~0 c/ Trootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。
( J( K2 O% N7 L( c( Y; J! T% L
0 U) {) ]: J7 B$ ]% c本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。4 R' Y/ j; O  h, C
0 q6 U0 x# X! \# L. O
' a% `, A( A% o- g
方案三:MS-DOS 7.1 + Grub4DOS: c2 t5 C/ E( z  a/ Z' Y1 S$ R

! U! |- p/ N' V- T7 a. u3 p4 \本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。% C% s* u, t3 j* c
- n4 B2 e3 ~* r# e" p2 ?
本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。) W8 ^0 A. i5 q* V8 }
+ Q$ G0 a4 B8 R1 L! d( i7 L
1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。( ~" n5 |) h! P5 B% L) ^' I1 n$ f
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。3 Q3 C2 }2 b/ C2 E% Q
3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
2 d4 Y# D7 _: R1 t8 D2 {* E4 j4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。
3 E7 P: P; K" I; H% [3 E5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。9 i" T; }4 M* ?% ^, y* ]
6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:
* H3 D( d/ c, c2 ?& K
timeout 0% t, ]5 D% o/ M& ^4 G. ]6 d
default 0
: g1 ?' h+ }! \  \; b7 ~- K$ Xfontfile /fonts.gz' _7 @- Z+ `! z; Z0 H! x' W: j) O
title 啟動 WindowsPE
3 l0 h8 ?, [0 s; B5 }: P. ^find --set-root /grubidx.txt# I9 r& a! T6 D+ H
chainloader /ldrxpe
) ?8 y& E# H- D- Q4 \) U6 G
在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。; L+ I+ a: t" Z4 u& p' T
. H/ F7 |# c( [
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:
9 F2 t7 v7 N# f
1 v. K4 [7 B' I  d. W& agrub) j7 @0 n$ \' l. |3 b  d
" {* |. q' O/ L8 v
這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。
; G) L+ @( ^% t7 M0 K. U
" R& w; S, W; QConfig.sys內容:7 \# D6 r* G: d% d7 k
[MENU]
. c  A  v/ d- }, n. p, `: ~MENUITEM=1,XMS without CD-ROM support7 k9 Q5 \/ f, U! C, k+ t  [: P
MENUITEM=2,XMS with CD-ROM support
- t9 X8 T6 u% |3 M% yMENUITEM=3,XMS and EMS
, {/ g' G! @( N* C  aMENUITEM=4,DOS real mode(no XMS,no EMS). A' ?# h( ]4 i) ]1 g
MENUITEM=5,Windows PE
7 X% k( l: W" y0 H% MMENUDEFAULT=5,30
% j9 Q1 Z$ _9 G2 S+ r) q) v[1]
: G6 Y6 z' ~  s- a  C- GDEVICE=\HIMEM.SYS /TESTMEM:OFF, u0 @% X7 R" l& q7 i' Y2 ^* y
DEVICE=\EMM386.EXE NOEMS
7 k3 F1 N2 Z1 v5 y/ X4 sINCLUDE=PUB
  s( T& i' i% n[2]1 j/ s2 F1 T$ m. q: g- `, g" [. q
DEVICE=\HIMEM.SYS /TESTMEM:OFF
. x3 \" c% B  q9 B* gDEVICE=\EMM386.EXE NOEMS* s9 L) h  E: D2 L5 ?% a) b0 ~
DEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001
) O% @3 z/ P2 h' B  jINCLUDE=PUB
" U4 i, @1 d/ C[3]
2 f) F% x* T0 _( XDEVICE=\HIMEM.SYS /TESTMEM:OFF$ y; r  y' p$ ?  t6 h
DEVICE=\EMM386.EXE RAM
1 U, Z  Q9 F* |! E6 K% `0 e7 YINCLUDE=PUB
* x( E2 N! ^" r6 H! N) e  o[PUB]9 x" C6 N, \" u3 W+ y1 j
DOS=HIGH,UMB5 a1 R! K( \0 S8 I# Z1 @
FILES=305 w( v% W) w- [. }' r8 o
BUFFERS=20& U/ X8 ^& p! H* l6 }
STACKS=9,256: W1 W- L1 D1 A1 \( k$ y
LASTDRIVE=Z
, d& Y6 h1 k% Z[4]
; t5 T; a! }6 I( xFILES=10: y8 P3 e- O3 S  U* h( x
BUFFERS=10" j# |, ]& L- ?3 I8 D# ~
LASTDRIVE=Z3 `9 P# |% ]/ j/ Q. Q* [& f5 c/ s
[5]
4 N5 d3 _( \. DAutoexec.bat內容:
. l2 P4 a1 ~2 _9 }( U' J" |@ECHO OFF
( E( o0 ^$ c, P( z7 k6 Q) [4 TPATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM
+ A5 K5 I9 A3 EGOTO %CONFIG%
0 t$ S, `( S* ^5 X:15 Z* a2 M$ m# A9 _* F
GOTO COMMON! b0 K. {  B  N. o3 a. Q% b. b1 Y
:2
/ ^" B1 p& K. m5 {$ Q3 mLH \SHSUCDX.COM /D:SSCD001
; M* V8 }% w7 }; aGOTO COMMON2 D# J% s. R/ v# S; U# z- L
:3+ r  ~& R9 H. b) E7 S  \
GOTO COMMON
+ N: b0 A, P) {0 C:4% ]& P( [  [" j& n2 f! p! ~: Q
GOTO END
+ j6 A# k, y: V' o, H6 s* F( e:5
( X3 s- C! u3 lGRUB4 ]5 Z1 H& A- T8 j$ ~
:COMMON  U2 E! I! R. r) H$ V, w4 l- A
LH \SMARTDRV.EXE /X7 T7 O: n% E; A( {; G
@ECHO Install mouse driver?, k" ?6 ^$ W2 W* u
\CHOICE /C:YN Yes,No /T:N,6
' x1 E% ^) _0 b' \- SIF ERRORLEVEL 2 GOTO END1 x4 X& `3 a' a# U
LH \MOUSE.COM
, @. Q. A( J! H: V:END

( H1 _! o# d/ `
2 Z3 N( Q; f8 G& f; A6 B  ~8 B按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。
0 c2 M! B; ?5 X0 o9 R0 H! b! H" Q* T4 `& p3 v
感謝5free和david_ge的幫助!4 ?% O- o8 }. T6 o+ p- C

. x: q  m4 }' ?: C; Z, q本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:0 U/ B0 S9 b% [- e/ Z

+ t4 }1 B  d6 U4 Ahttp://bbs.wuyou.com/viewthread.php?tid=94087
! X. U* d1 S' l5 d/ @* N7 Uhttp://maotao.u.winzheng.com/
2 d4 g4 V+ h7 F4 S; [6 l& g4 i* B0 q8 n% c5 P3 W0 o( u4 Y( F$ G
附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。. c. d- {- E- |
4 t" ~' J! ?0 u; F. Y
最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。; E; R9 @, N' a1 E! \
後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。0 O1 M; T3 N& b$ x- O3 {" I

* ~+ J( J$ Z$ f+ R目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 28-6-2026 03:06 , Processed in 0.182669 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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