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

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

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」
" D  b+ X, k8 }: l4 A" y/ d本文原址:http://bbs.zuluck.com/thread-1902-1-1.html* N( n" [' Y5 u% l9 S

- t1 O' F# F0 z7 T0 G8 k: h5 U4 _3 F1 g3 _
沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。
1 v1 G7 U2 S) s( m, ?; m3 e! N) T9 d0 X8 x$ _4 Q: l# R
前緣:
( I$ Y, T; w* V/ P
3 }7 r. v; ^$ [( e) @很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
7 T8 j( c6 i/ ~; w9 `5 t
. k9 J) q9 U* B1 X目標:
' W0 u$ `( ?! H: B$ B" d3 ]0 A
. M- a- ~8 v: P' ?; N; W8 d) l* }對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!
: e( @9 v9 K- U4 N. o. T' w1 I- A$ X1 b) ~4 E; E
技術背景:, N. i  W2 Z' y0 M8 N  V
/ B9 J5 n" n$ ?  f
其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。
3 O& a/ U! C$ n6 A! W
0 H1 z1 p6 E/ c# l; A首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。; h, e$ I5 o* J7 t, q
' K# |* B* U! D$ _8 C1 X9 I. v
因此完成一個操作系統的啟動,5 U8 _' h/ Z0 s* [+ k  r- _; l& r0 k
需要兩個必須的步驟:1、MBR引導;2、OS引導。
5 A4 h! k& M; _' w3 }( q8 y7 g7 R$ Q4 \) f
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。
2 U8 a/ d, J2 I* n* @
9 J/ i+ n1 |. D1 Y  M+ S對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。2 F; k$ C1 x- _- o6 h/ u
雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。
2 S# `' X5 c  u& ?# v: o- }
9 I7 H  r3 }1 p' d4 e' a, rOS選擇:# B' g$ |# o: l! v5 b

7 L3 ]( L+ o0 _2 t8 H" MDOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。, I, D) K/ a6 a1 [2 ]' w
. p4 ?, d% v- N: T
方案一:NT Loader + AVLDR + Avlgo* C2 l6 o; F, L/ a5 x4 u6 y/ b  l5 c
: T; c6 d" b! z8 s5 W9 j3 v
MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。
' L. Y2 v2 V# v5 n' t. r8 ^3 O' c2 Z
工具準備:8 R# c  \, `2 J! Y) U+ G8 M
PeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。. j( Y* {! {: k( V1 X: E

5 N  o0 X( e6 q5 P數據準備:
$ I& }2 R+ h4 I4 Z& k" L. k' t, I5 @; [( \, E$ c
1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。
% F3 K( n( N9 c0 [! B$ M" y: j
" i+ {, f1 P0 N! |5 P, r, M$ s7 D, b2 M% k. \  O2 r
2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。
2 v3 a, d! @2 C" _, N- t2 |
1 |5 s5 y+ `3 E2 B$ }3 x
, {) ?% S5 w8 I' u: K0 p9 _& m( L
3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。
5 J% \1 v- g! H3 k% z6 c, o
% z4 v* Q+ g) O5 o6 K/ ^4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。
6 B* O* S7 _7 M4 l2 Q& @
. c- r; o$ G! l( q. u8 n  ^! D0 _3 {% e7 m: A" B  u) Z. h# P* U
5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。
0 w' O& m$ f( D5 {0 q; \# n) B1 ?: q1 s7 b% v

; H4 A9 J* f: L4 n
  I8 t3 m& M$ F* H& p& a開始組裝:$ d. A' H- O; ?4 }6 T9 |

  a* ]5 @4 A, j1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:
- M# y. d8 g& ~- n, T
[boot loader]
5 g& `8 ?% L5 }timeout=30* i& p, O, E  A" W8 `# e
default=C:\avldr.xpe
$ k6 p1 B* l0 b" A+ `4 c. p8 x[operating systems]+ |$ t! b1 ?9 Y0 K( c8 f! w8 T8 X
C:\avldr.xpe="Windows PE ByaoMaotao"  o3 _! V4 p6 s' }! S8 O6 K
C:\avldr.bin="MS-DOS 7.1 form USB-HDD"
8 E: N; _1 H. Z5 jC:\avldr.dos="MS-DOS 7.1 from USB-FDD"

& D: F+ `0 ^( g完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。
$ O3 n* A& M) s7 D1 w# T, f4 J; N
' H4 X/ b4 B9 k7 X. l0 `這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。
* A- I! I8 v+ ~
! ]: A" _7 |, c6 d0 j1 B[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。
5 n% t* Z6 E8 O, R, n; C- l+ A. s: q4 T7 T& A* m" B8 P: |
2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。
- Z3 Y8 u/ L' P6 m0 G2 D( [4 y5 V6 S3 l
3、把下載到的老毛桃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環境下。
% |3 [  U$ j; Z6 }
5 M3 J0 C5 Q! U% T+ o( m5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。1 @* B3 `  Q/ M, `# I! R
1 M7 T  s+ c2 o: k0 U) b
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環境下。, [4 {+ \- j9 V4 \% t  X
& z* Z4 Y! ^3 c* T1 k' W: ^
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環境下。
: i3 ?' S3 i9 a3 M" H9 L, j2 x' R0 {4 b9 [) {9 s! y2 K% `% I: n
至此DOS/WinPE雙啟動系統維護U盤製作成功。
. u5 d/ p& ?7 ]8 B  w8 R$ R
, {8 o5 D$ v) {% \2 _" N方案二:NT Loader + Grub4DOS* ~6 b/ Q' @9 B5 T# e" l

$ O5 T9 X: ?& @; V因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。
8 a- I: \/ q9 Y0 k4 `" G3 ^( u! Q& L* @
: F4 q+ z" [! m2 f: @1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。
$ ?$ k% r2 f1 r# |2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。
$ t) B  n* E2 h- p& Q; r3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:9 ~) M8 U7 q0 i: P$ Y; l0 {
[boot loader]
( ~3 a5 R/ N9 e7 x$ U! P' Ztimeout=0
) E7 @: ~! ]7 n# M$ }8 Ndefault=C:\grldr9 c" a) }* R$ u1 x+ @
[operating systems]' i3 n  D4 B' L6 m. x$ g/ L# @! M
C:\grldr="Boot Menu"
8 ]0 @" {# H# p0 v1 B
Boot.ini菜單各個項目的含義請對照方案一的說明。
) S! f6 c. V4 C$ \* ?7 _
" I2 c, B! \" N% Y4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
/ a7 ]  P" U) U8 n; B' }) {( t/ m( l# \/ }1 N
5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。1 F" U% X, R4 L2 q
! K( S' i; }. i$ S
6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。: u# j7 h- P* H3 [9 G$ ~) ^7 j

4 R2 H) l$ a9 N$ I8 d! j7 ]7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:4 C0 u8 t5 X; \$ E) k2 ~$ l
timeout 30
0 F! X; n( r: w" B; M( I, zdefault 0
# q. f# o4 Z- e- X1 |* O7 P" rsplashimage /boot/splash.gz
/ A3 Z; v+ f  k4 A, B+ J; Sforeground ffff000 C1 h7 {* V0 H
fontfile /boot/fonts.gz" p9 N, Q8 g4 [7 q  H
title 啟動 WindowsPE
3 ~$ l5 i( V) {7 L4 j  M( G, ufind --set-root /grubidx.txt9 _' Y) l8 _% w: n/ Y/ n
chainloader /ldrxpe8 u' ^' Q: m3 W: X# i
title 啟動 MS-DOS 7.1
2 T0 q0 ^1 l0 j& {find --set-root /grubidx.txt
: p, |7 K! a* o. ?map --mem /boot/dos.ima (fd0)
+ t- c1 i# ~1 ~9 d9 p) Emap --hook
- n, [  v" |& e% v- ?chainloader (fd0)+1% U" g% f- N9 }) X6 P  z
rootnoverify (fd0)
6 a$ ?! ^- w0 w; W
做完這些,U盤就可以啟動了。
; j2 }3 w, |9 ?* q5 Y
) T! z/ l7 T7 J3 X. Q/ S菜單項目說明:
7 b! D1 T# U- Z/ N+ j. M2 N) e) K& E
( l- b  p3 M  m9 M1 P第一行設置等待30秒的等待時間;, T4 L. d  V+ _7 X
* H0 g/ @% O+ z* g0 a
第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
$ }/ g) o. e  D
8 h- ~, N& ~# [$ usplashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;' I3 C: q0 \7 g
  L: Y& x, F) ]4 I- X
foreground項設置啟動菜單文字顏色為亮黃色;
+ a' a' q6 R! i& ?6 s+ ?4 Q) h: Q$ V* u% z' E$ [; j2 g
fontfile項設置中文字體文件為/boot/fonts.gz
8 j+ H" V$ ]1 B
4 f1 R0 K, k# p! G. ^# ^& M+ z+ K下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;
% w- h3 s% @$ O. R; E5 A9 f% l, `
find --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。
1 G1 Z! u% @2 l/ r9 I7 k
8 f: p2 R2 [" v8 zchainloader /ldrxpe就是啟動WinPE的XPE鏡像。
- {8 ^, @+ N" J$ M" P7 M4 Q  d. Z- ~4 y! g! M( l3 `: O2 ~! |
map --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.
% h7 ]/ S1 [& k, X- f4 y  B6 E& v9 T# l
map --hook是讓裝入的軟盤鏡像立即加載生效。
' D# I* z+ D4 E' J+ W0 p
- S+ P0 ^( X( i9 E; k; I% r/ Mrootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。1 p8 ?4 \8 p2 E  ]/ s) h

; l2 ~8 B+ n. y6 A& [1 \, F! e本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。
( i8 G, ~1 Y3 E* D' X$ u' Q) a$ n6 f3 U1 g8 `: H% t/ J3 f
" M+ F( m3 l) S$ ]2 Y1 j7 T
方案三:MS-DOS 7.1 + Grub4DOS
5 X2 Z! V) A# [  L
1 @+ Y5 r3 z9 O4 b6 ~本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。
: ]7 y) A( I3 W
- S' q' C' N& m本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。
% @8 D8 P/ k% E$ B& P% `5 a+ S( E9 c( t* B/ M  Q
1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。) p8 Y) @( |: n4 N! B7 B7 c2 ^
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。+ t! [0 o# ]9 W" k
3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。( U+ u' a+ c6 ]! ]& O
4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。: e+ r- @2 C6 y4 D
5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。
/ O5 g, I) \, D! Y6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:
9 ~: v0 X' J) q. L' F
timeout 07 w2 q1 v' T& W4 u
default 09 g! Q6 S+ b5 |3 `/ T% r" S' h( v
fontfile /fonts.gz8 g) J2 Z5 _( {. S/ @+ e( o  \
title 啟動 WindowsPE6 O0 z. Z  T* T' j
find --set-root /grubidx.txt
& N+ ]  {8 ?. v; Z/ O+ n% n# Lchainloader /ldrxpe
" J0 b$ f& Q; q) Z  Z# L* C
在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。0 C/ M2 P7 L! r! v; A( W
5 @3 n* K1 y0 Y& V; m" S6 h' n& W
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:
; i4 t1 _7 P* {
4 t: M2 Y# F- ^: ^& z/ R% G" Zgrub5 ~% v7 l- |+ j* L' @

  X4 G. T- V) z3 m( W  Q這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。! h9 X$ Z1 E$ w6 o& o

- |. U8 T+ B) [% n' _0 _. VConfig.sys內容:) M) n9 w. A' {7 T% z% i, c3 l9 g
[MENU]
& H* \  {1 |9 z+ RMENUITEM=1,XMS without CD-ROM support5 M7 @) c) L' |$ V0 w5 v" H
MENUITEM=2,XMS with CD-ROM support1 @) N$ X( ^/ x- v4 u& Y: E4 S
MENUITEM=3,XMS and EMS/ y4 }  p) Y, D% n5 U& m" i( H" y
MENUITEM=4,DOS real mode(no XMS,no EMS)( g% j% h: Q; T
MENUITEM=5,Windows PE  e( z1 `" U) p5 j7 I7 M& z6 y
MENUDEFAULT=5,30
5 |4 M, v  ~$ @# l4 R  j[1]
/ m7 A/ Q  M) M) M  k/ gDEVICE=\HIMEM.SYS /TESTMEM:OFF, H6 }6 P$ M& s4 o: ^- I
DEVICE=\EMM386.EXE NOEMS
7 V  l! @5 l( Q8 C9 xINCLUDE=PUB
5 ?! e3 b8 A& O[2]* G7 Q- z* Z7 z( b
DEVICE=\HIMEM.SYS /TESTMEM:OFF/ K0 H3 \# G. t) S/ j4 H% x8 o
DEVICE=\EMM386.EXE NOEMS
, l& I% |6 F! UDEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001  E: Z. K$ B9 w( D
INCLUDE=PUB: Q$ u0 s( ?2 ?' v' i+ o
[3]
2 c2 Q  W' W. D+ `DEVICE=\HIMEM.SYS /TESTMEM:OFF$ S; p$ G, t" m$ n- C9 B
DEVICE=\EMM386.EXE RAM
& G6 O* L! D; y+ jINCLUDE=PUB0 C" U, Z# Q1 l  b- r
[PUB]
/ X2 Z% |7 K" P& U, N6 ?# VDOS=HIGH,UMB
" [5 l) M& K9 ZFILES=30( L! _' m4 T4 y/ u; H' i
BUFFERS=20
. A; Z/ t) g! j, B/ J' ]$ @1 T# nSTACKS=9,256
$ g  L% L! |2 n# r6 V4 MLASTDRIVE=Z3 P* Z. W7 Z) W
[4]& e; Y$ b& }/ V6 U, N" O; c4 x
FILES=10
8 d+ m2 K; ^( i) o; JBUFFERS=10# x# g/ l6 l- [! Q
LASTDRIVE=Z+ Z% R2 w, d* M2 H+ {' G
[5]
3 ]0 ^: U: x8 l2 |$ n& J* EAutoexec.bat內容:
8 c  k8 S) {( m8 D  Y@ECHO OFF
' ^" C. h6 m6 Q- x3 gPATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM
! N7 P3 x' V& }2 R, x1 Z& I+ _GOTO %CONFIG%; j. u, ?; F' r- Y5 {
:1
5 ~: ^0 w9 ~8 ?* I. |' dGOTO COMMON
9 R" I' J0 X; G$ D:2  r# h. a# [/ U" c
LH \SHSUCDX.COM /D:SSCD001% B# i3 k. P) }9 T) q: z; R: V
GOTO COMMON
; x" L% \. v8 |) `$ K' t4 @# p:3+ ^  `' D! @! e
GOTO COMMON
8 c+ X  A/ Y) K+ i. ?:42 T0 h/ i+ W& ?& L* A& O" q$ ?. D
GOTO END; L7 }) A+ @2 _' q# v4 p
:5
% }+ Z3 |# d2 W. ?GRUB9 p% T6 T% C6 G7 o) ~7 H
:COMMON
) \, O+ |8 B) A, q! T8 bLH \SMARTDRV.EXE /X
6 a7 Z$ t% M& @( B  P@ECHO Install mouse driver?/ n4 P- n7 [: J: \3 c5 P
\CHOICE /C:YN Yes,No /T:N,6# X' k. e/ E% J* ^0 r, o1 J- {
IF ERRORLEVEL 2 GOTO END- y4 s9 x2 }, k6 \# ~' i9 |
LH \MOUSE.COM
0 x/ Y5 g& A9 I  i:END
3 V% f  R. Z' k! S7 |+ j8 p

5 I" M2 o$ c' D6 L- t5 G按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。
" P  i6 j* ?& t9 ~# o4 S
8 h+ z$ D# L2 S: L& @" x, L! @感謝5free和david_ge的幫助!2 w5 X+ ?- K) X
1 i6 N, W. ]+ R" ~4 D' l% a( E
本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:
5 V8 j4 m$ V7 o3 R5 B3 g
0 j0 [' {, r9 P/ q, t' G2 chttp://bbs.wuyou.com/viewthread.php?tid=94087
8 b7 g* z) n( H* i9 qhttp://maotao.u.winzheng.com/
8 W3 U! ~5 m; p* `! }
. B7 P- L" L! \; `4 ~附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。; k) T: Z0 X6 c: M" i

* L6 [- e5 u( t" F1 U& K最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。3 B5 ^7 V% A: z& Q
後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。  z  ?/ M8 f# f9 K8 w1 C
, a+ p6 D- _( |8 ]' m; T( E/ r
目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 2-8-2025 18:01 , Processed in 0.167250 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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