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

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

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」
. w% U' w7 c( r" B本文原址:http://bbs.zuluck.com/thread-1902-1-1.html
- ], k& t$ A3 R# i/ h! a/ K) }, {( Z5 m

4 Q  n6 f: J2 p沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。8 D7 Z" h/ T- x5 C

- k5 C- o" D, ]2 k* N7 w前緣:# k  T7 Y8 g: ?" v1 P* R

( ^: p. y% P+ G6 q5 t很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
' F" X% m- u2 w. b* s- N
+ l7 W  u( h8 L- [$ C目標:
% U0 H5 ]% |# W6 {
7 W6 P: \& D. S5 Z對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!  x, }- d. C+ ?8 e* J
/ S7 D7 ?5 |9 A& Q% Q
技術背景:8 a! f4 e5 f3 ^5 a. V
- s2 v0 T" |4 \; Y* v! a
其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。
" v8 z& n( G- t& ^7 B: B
6 M- i; p6 J, E; D: V* r6 c首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。2 {; F3 P7 o2 g( c: b) H( G
! T& O! N; Q! c/ {, y2 h+ P: ~) ?
因此完成一個操作系統的啟動,
4 X& _% L# y2 D! h0 K' Z需要兩個必須的步驟:1、MBR引導;2、OS引導。
6 A9 `& o2 Z' m3 s# K+ l: F3 h9 f
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。
+ y$ y4 t8 Q! y) ?% I* |" k! g* w# ]( u5 v
對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。
! x5 u) Y; H9 u- e2 r雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。& R* L, ^1 w- n7 F- P& j8 V
2 ]1 j" @( J- L2 d- x0 b' I
OS選擇:, t# y+ Z' `& A
" Q8 u+ ]) j& M' o
DOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。: \- W$ O# U2 M( [7 T
3 D2 j0 Q7 s/ ?: _1 ?, V
方案一:NT Loader + AVLDR + Avlgo
+ z! j! X0 }! w. v: Z2 I  |6 E* _1 [) t8 t6 l) w% [4 ~7 z* V9 ?
MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。
- D1 w9 z: p% M3 O" ?6 Z- k
' H" A/ ^) ?" J工具準備:9 I0 F8 ~4 q% t! c1 q+ p
PeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。
0 K+ ~1 H1 L* |* y
6 g* L* F+ X0 D2 \7 J% l' a數據準備:7 R7 W; f- U7 c

; E7 f; [, z3 s) a' R5 z1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。9 U; K0 D% j% f3 E; i% b
8 L) T& ~& ^' @$ v
6 B9 z( F. `, f# f
2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。
- A' x) ~, `4 I* N( J. X: x) Y: A7 ~! h# l5 ]
% Q" x, T% \: }
. G+ v6 l# m% ^! j  _
3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。" F: o8 y) I/ O7 ?3 h& G

. M) r" |: J8 ?- `4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。; f# T# s* J8 B! q; u9 l
1 F, B: a3 P2 [! }9 J

9 i. \) }* @' C; S& e* X9 ~8 F. }5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。# y: Y! p0 g# B# u& @( j
3 W& T; M8 C- }1 q: g% \

. e+ H  E$ e$ [, I) z& y
/ l- i6 K4 ?5 V% p+ ?開始組裝:3 _" w9 B) C/ ~9 p: \! x

- x' q1 u/ y! n! L( B1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:
) g. P0 H6 M. h$ D; C, G+ q' |3 J
[boot loader]
/ v' j2 e3 o1 `6 s2 S! f4 q6 Jtimeout=30
! a* A2 l/ H$ @+ k, j$ Idefault=C:\avldr.xpe# l9 i" v' N' M7 `+ @
[operating systems]
3 I9 d5 D: W3 T* H9 CC:\avldr.xpe="Windows PE ByaoMaotao"
- }: i  H# V' iC:\avldr.bin="MS-DOS 7.1 form USB-HDD"* B7 {, q) c8 A/ i$ v. t
C:\avldr.dos="MS-DOS 7.1 from USB-FDD"
7 ~9 d- }' E' _% C) J
完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。/ c+ A3 H( S/ C8 _- E7 ^7 z) v' N

4 \& ]* n4 M4 m" p這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。
, [+ q) ]& y/ S6 m
" Y. ?& V9 \8 c. F! P6 A[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。
9 {7 b- ]% F8 @% c0 g+ Y# P( S  ]7 k/ }  d, m, c4 `5 Z
2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。& o1 a& F3 t1 a5 H7 r6 t
4 s4 B) s. }' ~( l+ E5 S7 i" |( C6 l+ b
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環境下。
& f; M6 q; U0 Y1 d
' `9 k8 k2 f: m) X0 r5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。
4 U7 U0 V$ Z& W2 [/ J4 V2 g5 T$ `/ d- z0 L' [' k
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環境下。
6 Y. n$ \! _6 B6 b' |+ P
1 R" C3 A# n: N% s! }0 s7 ?2 B7、把前面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環境下。+ y4 W$ D, x0 @8 a
! S% Y1 T0 ^, {
至此DOS/WinPE雙啟動系統維護U盤製作成功。; c% u' O. v' S7 I; ]" |" I  t

3 Z: B5 S* f" C& }方案二:NT Loader + Grub4DOS
$ t, I! c+ N, ]. ^+ _( m- v
* m# N) d3 X4 d+ q/ I' M9 s$ F因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。
( N( A* Y5 R( R, P& {  u5 ?% ?* v6 V8 k$ }/ V  q% j
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。% B% o0 I9 U$ [$ k
2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。: ^! ?* F6 l) B/ d
3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:
9 ]: B2 L# L+ v. K/ G9 H
[boot loader]
" G; ?; m! F3 _  ~timeout=0
% [  B( e, Z0 E% m2 {. m& ^default=C:\grldr1 q) X7 \& i3 O( w1 F
[operating systems]3 ]9 ]$ J! x) ~
C:\grldr="Boot Menu"

' m( v2 `& r) V$ G7 N8 HBoot.ini菜單各個項目的含義請對照方案一的說明。
/ `! B4 Y/ A- S( ^: j" l% o, P0 a! ?( k0 c
4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
4 j6 k& n7 s- e* m& F
0 j* A: O& X& E7 a' u5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。
. E' z2 e9 n' g6 {0 @' b2 d" B/ k" [8 ?
6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
, N* D3 ^) o; a8 l/ }! k
3 _5 `3 k$ `% Y; w% q4 }7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:
. c/ L7 n$ ?. ?3 _" p5 d
timeout 308 ^" _' G% _% f; i
default 03 v) L3 E+ j$ F3 U1 y0 V/ W" i
splashimage /boot/splash.gz6 Z5 R- Y# ]# V3 o# d
foreground ffff00
: ~. Y. H- C: F8 |5 ?2 }$ T, rfontfile /boot/fonts.gz/ L2 Z6 _/ [8 I4 y& m0 C
title 啟動 WindowsPE6 O' R& X3 l- ]; g
find --set-root /grubidx.txt
& t2 C  k1 j2 rchainloader /ldrxpe
( _* J  }. A+ l* Ltitle 啟動 MS-DOS 7.1$ x, ^- C2 D/ }2 |
find --set-root /grubidx.txt
6 A7 [0 e2 Y, J" ~6 X' hmap --mem /boot/dos.ima (fd0)$ E/ o+ T1 j$ v  X" T
map --hook
1 Y. B! \. z9 F% schainloader (fd0)+17 E0 I' D+ Q3 F
rootnoverify (fd0)
$ @- o* x# I; P; Q+ p7 y
做完這些,U盤就可以啟動了。
' L6 L" }: F3 n8 c+ j' [2 o3 Z  }+ N8 k% J
菜單項目說明:3 ?: a6 S0 Q3 K6 L( [

( {0 O3 {& B6 L+ I3 U; k  d( O第一行設置等待30秒的等待時間;
' F+ e' R4 x" x5 S
+ f* A. `  n: f# G9 K4 U5 M第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
, H" Z% x  d0 R- q3 m! i* S
$ X2 {$ T. ^; `splashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;- `  [! ?4 m! d  I

7 M# S% k+ M  D) oforeground項設置啟動菜單文字顏色為亮黃色;4 H$ k9 }, V6 v, ?# h2 j9 E, X" P, [
' M, r4 l- `  N  P' a2 c; [6 q' q
fontfile項設置中文字體文件為/boot/fonts.gz
& `7 U  ]1 ^* Z7 b
+ C7 I. h5 a7 G下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;( c4 K; v( W2 N7 o7 j2 f  A* ^

4 v& k1 V2 {& ?/ F; K; J, ~find --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。3 I- F, Z8 O. B$ o2 z

: b, M( l1 d- E+ U6 jchainloader /ldrxpe就是啟動WinPE的XPE鏡像。
& D. ?( L, M. C$ X0 s
9 \6 b* K6 S3 r: [/ C; L4 r5 Emap --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0., M& l  K3 _: r

4 |# z# W: _8 wmap --hook是讓裝入的軟盤鏡像立即加載生效。
( O) K% \" F) k& V- y3 Z& h3 D' `5 m5 v
rootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。
" p# L* J( ?8 w: @5 k6 r4 j
+ \5 Y8 g) E" N本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。" S0 _( ]3 _+ ^: ^
$ J* n: K! t& _  w" v. Y

, l6 S2 r* M" {3 K方案三:MS-DOS 7.1 + Grub4DOS
$ d, i; i( @( l, |& {  Q; i; `1 |  E
" u8 j% X3 t' Z4 c本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。, h6 n2 l5 \$ m" N

. y7 S  R- d% E, ~1 L! f9 y本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。! o' v. y7 i! j9 U# J9 B
: a, i; ?! D4 M& F
1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。+ v$ c( [  F- u& n
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。
: _% j9 a7 n- }3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。# i5 N1 G* d3 g0 `
4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。
2 a/ z- o# B8 B( W1 v5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。
0 C' ?0 j% C) r1 Q6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:
3 u7 K. U- b8 E( r+ \: M) i9 C1 _% f
timeout 0
, ?3 ~- H' M' D; }default 0
) K7 S, O4 a5 @# o1 {! D5 |fontfile /fonts.gz$ {- q  E& F) ]1 y5 h+ J' ~
title 啟動 WindowsPE! O0 I* n" W8 [1 T' U
find --set-root /grubidx.txt: w: J% y! s9 ^& {
chainloader /ldrxpe

$ D+ I6 x3 o. f! o* ?在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。; s" i: w6 b7 A+ T

9 `' j( m0 p' H" w7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:
* I/ b. U( Z" d, A1 m+ e* q, A/ l( G  a
grub1 @! h( Q% {: S& A" O' h
( t! E" ?  K/ t- R
這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。; J# ^) t$ E+ B! \

. X7 E  K1 ?+ R% f; R7 ?) i8 uConfig.sys內容:9 z  z, u, h/ ]
[MENU]
/ U/ c9 B9 f# g* y1 Z6 |& f9 dMENUITEM=1,XMS without CD-ROM support# _" N8 J8 `9 J/ g; w7 v6 T
MENUITEM=2,XMS with CD-ROM support
( h/ H, J9 O0 ^9 c3 dMENUITEM=3,XMS and EMS' n, u+ G" H- k8 v4 E* ?
MENUITEM=4,DOS real mode(no XMS,no EMS)0 d' F! ~$ Q9 {
MENUITEM=5,Windows PE
! }" n- s9 [& g" pMENUDEFAULT=5,30
# A; s% q! h' @# j/ Z+ \[1]. L1 d% O( H; g1 o3 q" H
DEVICE=\HIMEM.SYS /TESTMEM:OFF
0 P6 N* t7 j. I( ]DEVICE=\EMM386.EXE NOEMS
# j5 t# Q$ P: A/ b* w: m3 p/ S% fINCLUDE=PUB
- t  w! m9 H. ~. V[2]
) e( x+ g* q4 M9 F, L1 e7 z# EDEVICE=\HIMEM.SYS /TESTMEM:OFF7 Z$ e" J3 i2 p$ s  Y" [( L! T' ]  M# N
DEVICE=\EMM386.EXE NOEMS
. B0 o; ~# M4 q! s2 p4 gDEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001, V6 Q. d' W" V- O9 e+ B
INCLUDE=PUB% m: O7 G4 l( L9 F4 V8 q
[3]
  A: d/ F4 ?: H* E& N$ [5 hDEVICE=\HIMEM.SYS /TESTMEM:OFF( ?. ~' |6 V' p  o' R
DEVICE=\EMM386.EXE RAM
+ j& J& L6 E& }, K* }9 |INCLUDE=PUB2 L$ j4 k6 k. S/ F* O* e5 F
[PUB]
0 x3 \  `+ B4 ^( e1 ~& H/ S! SDOS=HIGH,UMB
# L5 S) k. l6 o% d" SFILES=303 v" Z. `% c4 T) K& N# I& ?
BUFFERS=20
3 Q0 i% C- Q" T4 _% [& k( VSTACKS=9,256% }5 d" z5 V' T# }
LASTDRIVE=Z8 J( r; {+ }0 s: i& S5 \6 a
[4]6 m+ e# r+ M. ~: y% b
FILES=10
6 k/ o! ]8 N( l$ t1 ~BUFFERS=10
/ o: |* r  {! n$ R" kLASTDRIVE=Z
7 L- M- d9 Z) S: e# p$ S7 f% e[5]
2 N& A) l1 I( M, f! t7 U' kAutoexec.bat內容:* G" h5 z% m% z) T3 K" c( Y) k
@ECHO OFF* z2 f# O0 G8 q" O7 C) G
PATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM! z# C- \  \7 G
GOTO %CONFIG%
' _& f& w) S1 p3 O:1+ {) ]5 U9 {: M. Q# ?. q- i
GOTO COMMON1 A* z5 w  k" S/ j. X* z, P
:2. B% W$ \8 k- z4 N% t( Q
LH \SHSUCDX.COM /D:SSCD001
% [+ e' G7 q! r- e; H" yGOTO COMMON" A6 o% O3 K1 u" U
:3; B$ R6 j- a, U: G
GOTO COMMON8 D: a) K/ K  f6 e# I5 C
:4
6 z+ J- M1 G) v8 p& o4 I% H; EGOTO END% O1 O2 ]$ l( x( b, t" x
:5+ z' N7 n) Q  {5 ^: j
GRUB
) S9 d1 A: U7 q  j: L' F8 [:COMMON
* a% M" u* q- T% R/ }- P8 XLH \SMARTDRV.EXE /X6 m3 [1 V7 Z8 W7 O6 m, u% b" E5 v0 O
@ECHO Install mouse driver?" K0 O7 K* z. s! }" \4 c
\CHOICE /C:YN Yes,No /T:N,65 _5 q1 D' V% O7 M6 E* l, B+ K+ y
IF ERRORLEVEL 2 GOTO END3 S$ G" g2 e: Q. Q5 v
LH \MOUSE.COM7 U6 q9 w: p3 Q$ p2 T9 |
:END
3 E6 w0 Y5 @' T" Q+ L

3 [- E0 {+ C4 n5 W# u按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。
5 U1 S$ r7 O. [6 z* y7 l2 d- e2 P; G3 j8 R- N2 l
感謝5free和david_ge的幫助!
2 ^9 P, r! z& x' V2 Q: P
& \. {! @5 B0 j' c本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:. J1 X' U$ c$ w( i

! E- l" l- q* Z9 u: Yhttp://bbs.wuyou.com/viewthread.php?tid=94087$ f, d( P9 p4 v. f# k2 p4 D+ [2 ^, T
http://maotao.u.winzheng.com/1 v4 C1 C2 n6 @% D  {( S

% P, [- C& Q# f$ `  _8 e! T# h附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。
, j5 V5 y5 }# p
( U3 X: p/ A* f/ _! c最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。
2 Y$ p. e& Q  m& x後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。+ ]0 w2 V* C% W( W. t

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

本版積分規則

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

GMT+8, 8-6-2025 23:47 , Processed in 0.337694 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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