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

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

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」
- _$ V* [7 M; ^- L+ V1 t本文原址:http://bbs.zuluck.com/thread-1902-1-1.html& t" L  ?: y/ J3 O3 {& `
8 r- ~- S2 _1 B. E* \/ E

; E2 Z9 q# |. W- P0 j2 y' d; }沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。
8 I+ w# P: o. M* I/ @+ m/ j! F, H% K: {6 `0 @, b2 D- r) {! B* L
前緣:- }9 P7 ^1 [" A! Q, f* r% k3 \
0 L& T4 _! q! V4 _$ L8 x" ~
很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
! a) C3 E4 Q, m/ Y# K, {+ z" `! T9 J# _7 b  c# r0 ~7 T( S  f
目標:4 l2 t: j0 @$ E/ b
# S$ Y3 b- |2 ^9 C& c; I7 z
對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!7 z) Y- N6 O: d" O/ Z! N' i: Q

6 F+ g4 _9 Q6 s6 E* |5 @技術背景:" F) l( _+ ?, u3 f- @7 N: Z$ x

  w8 I8 h2 [& V  R/ L其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。
; f& ?" k( f/ t. P. u% k( w6 |5 `" V  |# Y8 c% |. M3 s
首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。
, J1 f' |* i/ @7 ^& T  R" K: X( ^1 f- {/ C, o
因此完成一個操作系統的啟動,
9 o* y& t" m4 k* _. P' w' \- L需要兩個必須的步驟:1、MBR引導;2、OS引導。
7 I% d* r. {5 k9 P: a# ~4 A. J( |; @
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。  e# X; D8 R) ^: l' T5 u
7 T) z. k8 I: t
對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。9 C0 K# `$ T0 t. n3 E; O
雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。, ^0 _& w9 l2 Y0 q5 ~( v
1 g7 A' j; `6 o6 Y3 `+ @7 ~
OS選擇:
  Y' G* N& X0 D/ h8 O% g5 q) s* L. i8 f& `3 F4 U
DOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。$ x; _% A0 M9 L8 ~" o* q. S
  `, m1 ~# F% r  e' G) L6 Y  h
方案一:NT Loader + AVLDR + Avlgo8 G8 ?9 j$ z! v, Q$ _

  [& N/ e5 E' K4 ?MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。
1 u! A  Z2 U4 \, y+ J
5 H' u- B1 K( [# t% X& t工具準備:
5 W+ z* ?' `; J! A1 ?6 A2 X! v- FPeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。* K- G' T2 d0 f* g

. S5 a( ]6 n% r- N數據準備:: F5 b4 |! @) X1 n7 q' v0 ^
9 f: p, ~1 h% d# o5 Q7 o
1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。2 }3 o3 c& H  }. ]0 h0 M. M

0 H' l& k* F+ F" ^, |6 d, h- s* d/ R, d
2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。: ?9 I/ V* n! f% N& ~' I7 n+ r! V
$ ~2 Z3 G& o. o$ t3 ^

4 H8 M1 b: T. Y" u$ ~+ y* N- }6 m. A  V7 L
3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。
5 t/ X6 K* J! Q. Z/ x" L+ B
* e% n1 M2 J8 c2 l% u/ w9 X6 `3 }4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。
0 A' m7 G2 X) ~# K! e2 c( D' z$ o
5 Y: M+ K! w  o
5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。# ~! A4 w) J: ^# W! t
! k6 g+ }" l! Z# B& h* s

3 j! K' M* m" A3 B/ a$ W! [  X9 B& |; K& s7 ?8 {3 m' W  |
開始組裝:
' o5 J; p" e, d: n$ K( B% y# V$ E. P( h$ j
1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:
/ ]6 v$ u1 G) I( M8 K- @# ~! c
[boot loader]) e7 a2 U  \" s- l- P( Q; g
timeout=30* ^3 f0 X$ Y2 h% i+ o# v+ u
default=C:\avldr.xpe
0 c8 L6 z1 v0 l, l3 z[operating systems]4 b& e. ~3 |! v) C. V0 I, t
C:\avldr.xpe="Windows PE ByaoMaotao", x8 F' C" `) J# ]& E% r- W* H8 m
C:\avldr.bin="MS-DOS 7.1 form USB-HDD"5 |8 P6 k5 ~  y6 {5 o: ]3 D
C:\avldr.dos="MS-DOS 7.1 from USB-FDD"
1 }4 M9 L4 y& G, z$ o. s
完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。
3 t" F/ P1 ^3 L* t- g
7 P9 ?( ]" b' p6 S  r4 Q- l這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。9 h( A5 R5 {/ \# ^: l6 K

; N: }4 _+ D* o; S  m1 ?# p[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。1 S* v/ |) Z5 f
+ ^! l2 x6 s9 p
2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。0 ~$ O# H2 o: y3 g

  W1 d1 Z$ q8 {; q  X; H3、把下載到的老毛桃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環境下。6 ~* C5 V9 A8 n  V
* [/ X( M; J7 O1 h* m, C7 F* y
5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。
8 _9 a1 d; o; O: c" S- ^
3 y( f4 Y- w9 A6、把前面生成的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環境下。5 e* K5 |# N; T. ]  y

9 J# F: E8 M& l7、把前面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環境下。
+ K9 r" \* ~9 |& O
9 \- `$ j9 l- o7 [至此DOS/WinPE雙啟動系統維護U盤製作成功。
( M: ]* v5 i+ ]; ~7 l8 |* B5 x3 b7 J! L
方案二:NT Loader + Grub4DOS
! ?1 s- ~( E! v/ g) q& u5 @7 D
' c$ n6 n- R$ O: \因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。
% ]' G) _& Q6 f  x7 o7 E' ~! o7 I$ e# O- n# N' a* W" K' j# J
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。$ R. E3 U1 H7 [
2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。9 W, H9 o4 O$ G6 [% R
3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:8 l0 z  G( f# K( O/ c; K# k
[boot loader]: g3 O! N& m: a$ E  @
timeout=0
% ^7 V; R$ D- Z$ [. @9 k/ ^default=C:\grldr
. b& n8 u2 t% V( y3 D[operating systems]+ m+ X* ~" X' S! {
C:\grldr="Boot Menu"

# N+ X, n6 d8 t, Q' h- dBoot.ini菜單各個項目的含義請對照方案一的說明。
- M) E# D  f, C- w+ y; L# _1 c* s3 ^; U/ ]8 n. d( J: z7 o) X- h
4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
& s( j  O3 L' ?
. |1 t1 e* j2 z+ B2 X2 t% U5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。; U# [) M/ v: ?) r
* I" A% g! m4 R/ B' H
6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。% I2 V0 p* J5 E% r1 e* X

0 D% \  ^" X; {; l% q1 V. H1 u7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:0 P1 ^8 \7 S7 Q' \, }2 Q
timeout 30' x0 v$ [4 V+ u1 M6 r
default 0
0 {0 k  B& s, e4 S' e  h0 csplashimage /boot/splash.gz
4 M. h* e/ b! Y) nforeground ffff00
2 w6 T! w$ P- J+ ]" E  Tfontfile /boot/fonts.gz
0 b5 L4 H$ Q. V% k- s) P5 Ytitle 啟動 WindowsPE
' ^0 r! ^( ]# Q2 o. E$ i0 J- {find --set-root /grubidx.txt
5 }; Y, v7 ]# @9 L% J. vchainloader /ldrxpe( o# S! c  n4 {% ]5 Z
title 啟動 MS-DOS 7.1
$ C+ m0 z) W1 \' [0 a- Vfind --set-root /grubidx.txt
$ ?% K6 Y0 ?; [4 D! d( w1 omap --mem /boot/dos.ima (fd0)" e; ?: ]' @3 u# r& z6 ?
map --hook
+ o/ u) d* Y9 w+ c1 @4 N9 {4 Rchainloader (fd0)+1
4 ?) N1 q" T2 brootnoverify (fd0)
: g& E; a( g- w. @7 Z6 t4 C
做完這些,U盤就可以啟動了。
' T( E) F: E' c, q
& B& D) }0 k; }* f$ J2 f6 F菜單項目說明:
3 G* r4 \) K: F3 J5 b0 P& h! C2 A( r! C% `  u
第一行設置等待30秒的等待時間;
+ C) F  s3 \. O/ x1 M! e  w( ?1 ]# J- [# Q  ~$ J
第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;7 A; ~, S! Y" c5 G
( B% x# [! C! h9 i
splashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;4 \# k& `, L  l: I/ O
4 k, \& D- T9 R+ ~; D: B: j7 A
foreground項設置啟動菜單文字顏色為亮黃色;( n' p8 y  K7 ?6 e( {, A: {

- x9 K* z3 ~5 r3 v" bfontfile項設置中文字體文件為/boot/fonts.gz$ }1 E6 a! a' f* l+ c
& r8 A- e; z/ `  @
下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;
' w3 }: R% C& A9 _# \: O' Y, n
+ [* T2 y2 R2 Z; Tfind --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。( s1 @: P3 z; @% F+ K4 M; ^, p5 P
* L% {& F. _; L0 a. s9 U7 R- D" G
chainloader /ldrxpe就是啟動WinPE的XPE鏡像。
" F" f' g1 x3 F7 v) j8 H+ e. F+ a$ {. s9 b
map --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.
5 O. q' X, M& h  z* f8 ?# Z2 L5 Y# U# b1 _( }
map --hook是讓裝入的軟盤鏡像立即加載生效。2 F0 v4 x! r  @) W, R
0 h3 L, k) P' T- P; r
rootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。& {. i5 c' p- O/ \% }' R3 w
4 G- x! B" k. g$ Y+ [: v$ B% C
本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。
7 C# X8 e& }( ~, P& E, n/ D3 y$ v) A; N

/ R7 b; E; N9 s3 P8 o方案三:MS-DOS 7.1 + Grub4DOS
' F* r& `) H6 ]
- `. C# O* l' U: f4 {5 {7 T本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。$ `+ M0 P# Q1 y0 C: w' n

' B7 s% i( p) b+ y- w& [本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。
- y1 Z( O) V5 ~. p" c  n- d/ S4 |' x' R) Q0 h: `
1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。  w: e. l1 C# c" `3 p
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。
' A9 ^: O0 ?, @% f5 d2 O* ?3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
$ t# ~8 R& M9 Y4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。
4 d7 c/ c, N: a1 |2 U, @( X+ @- G5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。
4 ^. {  D% h2 b6 v. y6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:% m3 k3 G  ]  k+ k
timeout 0
9 `3 W2 v$ e3 B2 V" K, [$ Bdefault 0& X0 c- O6 b3 b0 M/ Y0 [2 g
fontfile /fonts.gz5 H5 k# p' y7 c& H2 d1 K3 R
title 啟動 WindowsPE
1 G3 j+ J7 p# H+ |find --set-root /grubidx.txt
+ M" e  A1 _2 a' D% E8 echainloader /ldrxpe
5 h2 s# @0 w4 T+ H5 H- W
在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。  k9 _% Z& g9 H7 i
, a5 E' ~5 g# ], {
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:
3 F& u' l. E3 q) K6 `7 d/ j0 v. n3 P% h! r4 p) Q7 b$ v
grub
, R- o3 }9 k1 n/ O5 v* `3 Q! j
- d9 v1 J* e- Q  q9 {. E( U這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。5 |+ p# {* K# t% a) |

  Q/ q' B: D4 @0 {( p+ zConfig.sys內容:
0 F5 Z' k; }6 B4 n! d' w1 e6 O
[MENU]
, K+ e" q6 F7 N. s. u  ]$ A6 t  RMENUITEM=1,XMS without CD-ROM support& C+ z/ h  z, P' `4 U+ E5 h8 J3 y
MENUITEM=2,XMS with CD-ROM support
% X  y5 s; o- u* x1 u! B  qMENUITEM=3,XMS and EMS
. B& g0 c0 V, W' q5 d. M" aMENUITEM=4,DOS real mode(no XMS,no EMS)2 f: ^! [+ w/ C
MENUITEM=5,Windows PE( `$ Y0 r, }! O( V- A% W
MENUDEFAULT=5,30
' P5 W- v1 B: ?9 N8 y: [% ^[1]
! |2 w- c7 T" V5 l6 p2 s7 X' F. WDEVICE=\HIMEM.SYS /TESTMEM:OFF
" G  M" q  x" w- K% tDEVICE=\EMM386.EXE NOEMS3 f% k/ h* z# _' Q+ v8 ^
INCLUDE=PUB
( u8 v- B0 K2 n2 o[2]( i4 Q' n1 K/ N: ^$ }! w
DEVICE=\HIMEM.SYS /TESTMEM:OFF8 r% S8 w: ], }" V( V; z3 r% a/ a
DEVICE=\EMM386.EXE NOEMS) I: d2 J7 ]: T' K) E
DEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001  J- S. ~$ m: w! P4 B3 w
INCLUDE=PUB* {% Z9 ?  ~1 [1 ?, B
[3]
4 l0 p; t; v; C* X: @4 \5 vDEVICE=\HIMEM.SYS /TESTMEM:OFF% f+ o' B2 P! h1 I( ^. D2 z
DEVICE=\EMM386.EXE RAM
) H" y6 e' W4 P8 \  uINCLUDE=PUB  D* [8 I& q4 x7 c. o
[PUB], F* P5 H+ _  S( p6 }; K8 B
DOS=HIGH,UMB- [  R$ y. [( T1 k7 C- B
FILES=30
7 K  n2 ^0 p8 _4 I9 e$ c7 g6 UBUFFERS=204 S) V, r* @  c' |- e/ o" U4 H9 ]$ r
STACKS=9,2560 u  _, F2 n0 A8 c" Y+ p, V) I% P: V
LASTDRIVE=Z
+ k8 C% U. s- N2 B$ Z2 x' S2 g[4]
. S' G% L0 ?/ ]* W0 mFILES=10
' P. w. `- `4 O. tBUFFERS=10
( {, |  @4 g9 D2 hLASTDRIVE=Z" o# O0 A" {0 k
[5]) \9 S4 f, U! O: @# t
Autoexec.bat內容:
! W4 T$ n* Z4 ?! f5 `( i* H@ECHO OFF7 K2 I0 S1 V4 O5 a# {" I
PATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM- L1 U; ~4 i! d/ h' ]' B6 C& z
GOTO %CONFIG%" K4 \7 K* Z& W# X  D5 N7 L
:1
5 I1 ^7 z- b. i1 ~; }$ RGOTO COMMON
. Y4 t# G& U5 s# ?' y3 q:2
2 Y0 g6 q" y6 c5 l6 @9 T/ p  Q5 _  vLH \SHSUCDX.COM /D:SSCD0013 |! t# ]4 k7 n5 A! o
GOTO COMMON
! Y9 h; s& a: V/ D:3
' Y' r- Y/ u2 h* y* J: h9 aGOTO COMMON* x4 t* Y4 Z. U9 k" J3 _
:46 J9 I8 b8 I5 }9 S# k# q6 @4 d
GOTO END9 a- T+ {6 D* O. I% O5 j5 e) L  n
:5& i: a6 T6 v# @  ~6 U; d( I0 Q
GRUB9 x3 s# F# l0 Q- c2 y) O7 c
:COMMON. T( `5 h" |9 X( D% {+ r
LH \SMARTDRV.EXE /X
2 V: y+ H  V; P@ECHO Install mouse driver?& E9 |) U: w+ h9 P$ l" C" v2 S
\CHOICE /C:YN Yes,No /T:N,65 X2 t/ @0 o! u
IF ERRORLEVEL 2 GOTO END5 l0 ^7 m% e2 W
LH \MOUSE.COM/ M% A9 Z# d9 ^, r" a: v* c/ v  ]3 u+ z
:END
) K6 a; k) l1 _0 i

( z. T; L+ _) C/ g  f. [- _按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。6 [' m' M5 Z1 A
% d: m, _/ x5 W8 U: y( ?- n
感謝5free和david_ge的幫助!
- S/ [0 R/ z# j: r, e/ p3 t- C! b1 q" H
本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:
* W/ N$ G, N9 m4 V( C
' F* A3 b2 [; e9 u9 p! Shttp://bbs.wuyou.com/viewthread.php?tid=94087
6 U7 ~0 B& C$ C+ a1 A* s! Lhttp://maotao.u.winzheng.com/
) o! Y  a( E+ b; M( g, [. R$ t1 ]  h, {) G! f, n
附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。
6 B  d- W# y. T5 q4 J) N; s+ _0 Q; b4 f+ o4 ]" Y. I9 v
最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。& j" U: k5 n5 p( j" M
後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。5 o# }9 w3 e" ^5 Y& t
, O% g3 P: @' ?) J( z
目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 17-3-2026 03:10 , Processed in 0.533358 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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