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

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

[複製鏈接]
發表於 26-3-2010 14:45:48 | 顯示全部樓層 |閱讀模式
轉載請註明出自「 Zuluck!- 運氣論壇!」& }, e/ R+ C3 r$ W+ s7 H  O2 L
本文原址:http://bbs.zuluck.com/thread-1902-1-1.html$ _2 Q; n5 s/ k/ n* h' |

3 u9 v8 y% D% [! h  y
3 U8 e7 ]: l3 @+ h( M8 Q沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。
' C; S  h- H' z4 O# k
5 [$ z6 Z2 H( n* ]- P前緣:% C, t  K* x& ^4 C, D" y
0 B9 P. l8 H% D1 I
很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。
! Y% v5 |2 p* M1 ~' t1 l! `  `0 g1 B7 G
目標:
" t! l0 t- i7 V) k! G" J- n# G
5 [( [; m) p+ C0 q對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!
9 \/ g4 x, E8 s$ d, Q( E' o% a: W+ R3 e3 l$ q
技術背景:) o% q+ ^& v% U  W/ F
3 ~  C% k! X% B* \0 }# A: n
其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。1 S8 n: F! L; _0 P/ v2 j

" x! Y& L, u$ G5 G3 I5 j5 K3 |首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。* o2 N2 N" n) k; _' r

3 q$ G: b! D, g, B, Y5 c因此完成一個操作系統的啟動,- E7 \- R7 T3 x0 d1 Y' r
需要兩個必須的步驟:1、MBR引導;2、OS引導。
* O2 p% w- e7 |6 ]* ^+ W# Q$ Z$ q- U5 ~, |1 F, O0 @$ Q0 W
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。) z. m2 a# \. h7 ~) T

1 w9 i' J) ?' f) _  `對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。8 H3 @' M$ s* p) K+ i* v4 d
雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。
; P9 [# m8 w8 a3 G- h; t* l/ r# Q2 f3 D% R. w( A4 \
OS選擇:. m8 Q* P1 t" X0 A0 q
6 t2 Y$ Z! X' L& Z+ H
DOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。' J. N4 h8 f  y; g0 u. p

( n% f8 h  X, f9 g5 l+ j方案一:NT Loader + AVLDR + Avlgo
9 [5 A, [( n+ @2 t3 [- |9 O3 d5 t
9 _, A. F, Z. Q( ^( v) B% i0 OMBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。
# `+ G0 q& S  n# d5 X: H! s' t$ Z- N3 b6 \6 g4 N" u
工具準備:
/ l4 v) _3 l) W- z8 jPeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。
; d8 B- X; f! H& i. P, i9 T, v* n( P! p. {2 c8 k& X5 c: M; }1 w
數據準備:
2 h$ K' e8 ~0 k7 @2 @! a5 ^7 A' S- L2 D- V) m
1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。
' @3 j9 C; e+ m: t& D- m( i! b" Z$ z% l' D# @1 Z

  V- I' k" E  k# D2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。. X/ o; W) m1 U6 @/ B% @
% R7 N, M6 V! T4 x

& I% t4 }2 b8 F! ~
' p% o; n  k+ h- F! M3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。3 b9 }4 A) \& j, G3 p" E3 G
! ~: c7 {/ e5 z3 G1 T, C8 y- `
4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。
3 M- p& H3 e. ~1 I& e" X) d6 w! v" u! v7 N+ ^% z0 t9 S

2 ]& q, t& r% v  e  B. z5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。
9 ~' k. l8 \- G2 i$ @* A3 X" f$ ]' N; T, A+ o2 C, s

& B) s# p% @3 a6 S3 }4 l2 a7 h+ m$ G8 L1 B, J
開始組裝:9 E8 Y0 D# w; B/ K0 c. U

& W- ]+ A3 Y2 T" n0 h1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:" q+ F' i! {2 |$ N0 O; D
[boot loader]3 K% q# ^( t) @1 Y! [/ i; W; W4 Y5 Q
timeout=30
8 M' l+ j, ^2 ~3 \& \: @default=C:\avldr.xpe
/ O/ q8 c# r( t: }7 q3 N3 z[operating systems]
, _1 P0 a( Q  x) LC:\avldr.xpe="Windows PE ByaoMaotao"( e; Y+ T$ }, m5 l4 \- l
C:\avldr.bin="MS-DOS 7.1 form USB-HDD"
% h" |7 e4 Q, p% b" mC:\avldr.dos="MS-DOS 7.1 from USB-FDD"
' U" L$ |: ~4 ~
完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。1 }) W; a. G% D% z! n4 |7 K
0 a; W1 h6 i6 y% y
這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。% _% S% a' I8 D  i7 N" u4 N

3 ]: Y5 S5 F; k# V[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。
& F# E$ v, i- b7 E7 M
6 V6 C! G+ p+ l0 M  [2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。
# u: x( u5 e8 q. {) `' D) U, @! p; M3 S' o
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環境下。; T6 K; E  B# E9 d
0 F; E7 R1 r1 N! }) w' e; q
5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。
  P" T% U& A$ L1 x4 d) s: h) W5 U/ Y  c2 _" V) }0 ?+ W) i  Y
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環境下。
: y6 S1 i& e4 L; J* k% K. x
* P6 `: H, e1 y" d7、把前面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 d2 J, R3 n" P

& `+ F6 N" o6 `9 e7 n+ ?至此DOS/WinPE雙啟動系統維護U盤製作成功。+ \7 O: Z& _: g/ {  l

0 I, |9 D; t  ]* Q+ B/ S8 b方案二:NT Loader + Grub4DOS
4 z* ~/ _8 r4 o: q* ~" q( T( S6 P6 e% b! {- f. X
因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。( Q  c. J% d1 Z3 S! A0 ^
# g, k+ K4 C+ g1 k
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。0 S% V# E6 Z; m5 P! S4 b; T
2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。
( ]7 B5 d4 K- q* Z3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:8 t" u2 t$ B% I1 J
[boot loader]1 c+ x' R3 q( T! }1 k% T
timeout=0
; |" {. H( z: B2 F& S- A- @! |/ Ldefault=C:\grldr8 m$ k  J; ~- R3 B
[operating systems]
" {* @; W% C- V" A) aC:\grldr="Boot Menu"

3 e; @( v# W0 M2 V) B8 U- k1 vBoot.ini菜單各個項目的含義請對照方案一的說明。
# C7 I- k5 A' N2 V+ C, H8 w: K) |, P- I
4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。
2 b# ]2 [1 F9 K' i/ T; e! Q4 C$ e' q  \5 B. z+ K
5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。% a: ^/ _0 I9 N& m( i5 p  ]. T
: }4 p0 o! S  a
6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。) d  ~" E* l: ~5 b* ^" S
8 y! \! \2 A+ w* O& b
7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:+ ]+ L7 a% d* F6 T, z8 M: S
timeout 30
" U$ O2 T3 l: x. C3 d$ Jdefault 06 c$ M, _' G* x3 _1 `
splashimage /boot/splash.gz7 C) l9 a# t5 |7 `$ h
foreground ffff00
' a& j' k5 p3 V0 u+ M$ P+ s5 j2 ffontfile /boot/fonts.gz
: y- P; j* c6 qtitle 啟動 WindowsPE. j( y$ z- U# H. n9 y
find --set-root /grubidx.txt8 t: x9 K" v3 n" a
chainloader /ldrxpe
2 H; D' S4 K% t* E; z9 ntitle 啟動 MS-DOS 7.19 \( n9 m/ O, `! d
find --set-root /grubidx.txt
2 x, _% X& B# Z2 H1 ~map --mem /boot/dos.ima (fd0)
5 X( ~4 p/ U7 {- {( p: P2 f# Zmap --hook1 ~5 W$ \! K8 i# v/ h/ T9 O1 F0 ?+ v
chainloader (fd0)+1
+ L& Q+ j" y0 ~' O+ E  g5 U8 p" P" K: Arootnoverify (fd0)

/ j! t. a+ F6 W9 M0 J做完這些,U盤就可以啟動了。
3 T  _$ R/ S8 B" C6 x. j3 w* \4 ]/ S( `2 n
菜單項目說明:
: I: S1 u' W7 C# g* \& M, B: ]7 Z. y9 r+ ]4 N! x! C8 Y
第一行設置等待30秒的等待時間;) V1 {0 n9 n9 `7 f; V

! ?! G0 z& K: }6 ~& Z' |0 w1 H0 B  _1 o第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
$ E  u. k. X# W
& `; p' a* y4 h1 usplashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;0 o; e) h9 l' K+ R7 B5 [

7 E- s- _5 G4 L; k9 }. B+ K! cforeground項設置啟動菜單文字顏色為亮黃色;8 C& B: o; \0 f
2 s4 Z3 K6 m0 Y+ T
fontfile項設置中文字體文件為/boot/fonts.gz
& a9 @2 A0 Q% f2 S% F0 Z' N! H% u3 y& [. g' M
下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;4 |' @! W, a( G" S+ }

+ Y, p. _. W" P3 efind --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。
" k9 }6 d, q+ Z$ \; i9 b1 t( w
chainloader /ldrxpe就是啟動WinPE的XPE鏡像。" {( _$ M; @  N' W) @/ h

- ?' e& m( E+ F2 wmap --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.
, m' Z: _. n' v( a( d' N) A6 `
; s. c5 G$ G, ?' z7 h9 \map --hook是讓裝入的軟盤鏡像立即加載生效。
! T* i+ @/ D# h6 W$ x+ W# ]6 M' z7 d5 ]) O0 @) C4 j2 ~1 K
rootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。
1 F" S8 q  a. h; T1 k2 y
- C7 @# n1 ^( H; G6 E本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。) a  f* {  h7 q

0 v% V) _$ p4 V" U3 [, G6 B. D' Z$ t# a- n: g5 r' X6 K
方案三:MS-DOS 7.1 + Grub4DOS
; q; @# w8 |, }5 W6 x0 f8 ~$ y4 \( {2 |
本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。/ d$ ~  @4 C5 E1 _3 z2 D

+ a+ x9 h  @% ^5 w6 M' n; l本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。: ]9 L9 P1 X: m" y2 ^* @

) R; J6 h- R  {1 G1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。& z! h0 s1 R7 Z4 B5 Y
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。' f: u" I$ t/ y+ }9 ~- O  j# q
3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。
! J6 H; x; r! c' T: N4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。
: m9 y0 X! \' o9 A& m+ _8 P5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。
! D4 e* f7 b$ _/ d  r6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:
' c0 M: j# l, d) M2 v7 g  y) H
timeout 0
( P3 Q" n% Q5 T+ ~default 0
4 v# D8 T* j1 [& ffontfile /fonts.gz( x( I' D; ?4 ?
title 啟動 WindowsPE$ l& B. U+ V# n7 }1 i' B9 G
find --set-root /grubidx.txt
8 f, r5 a0 F, y; Dchainloader /ldrxpe
5 `, M! f3 C% [' F
在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。( E5 ^0 r( g/ ~  U: R( p
" K) ?- ~1 F1 |* ?5 L* P$ D
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:9 J; x9 P2 d; z! M7 c. X8 l
6 u4 ^2 N3 A. X* ?9 q
grub
$ D& s  C3 P1 E6 k  q7 v" U6 n. x7 P2 ~% {* L) I$ X& c
這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。
7 E. z/ h; v+ J; c/ e. o' W" ~' c  a  p3 m  O& p! n2 B2 n, W3 g7 ]
Config.sys內容:
9 d" f) m- l; ?. B
[MENU]6 E0 D. I6 p  J0 Z
MENUITEM=1,XMS without CD-ROM support
4 J2 @0 S% z" @9 uMENUITEM=2,XMS with CD-ROM support; ?& n% V" C6 u
MENUITEM=3,XMS and EMS$ B9 a# H; b6 G
MENUITEM=4,DOS real mode(no XMS,no EMS)7 |' \& M* J3 ^+ P% S; w
MENUITEM=5,Windows PE, c2 t; C8 U0 t, i
MENUDEFAULT=5,30- a# a# V8 |  R  Y9 p
[1]% z. ~* |$ h7 o. {4 F
DEVICE=\HIMEM.SYS /TESTMEM:OFF
0 d; M* d, d) Z$ F0 YDEVICE=\EMM386.EXE NOEMS
3 h: L# @& h7 OINCLUDE=PUB" j- }" B* v* I2 I! D7 X7 \
[2]  e# O/ X; l! k9 w0 W
DEVICE=\HIMEM.SYS /TESTMEM:OFF
5 o. I+ S8 e: i6 a  W: p4 A# r/ V8 iDEVICE=\EMM386.EXE NOEMS
& @1 {/ L6 X3 t% U, nDEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001
+ l: \5 R) l9 B2 ]' _  j/ [INCLUDE=PUB% E3 Z5 w" k2 S6 R: I# W# y: T
[3]- S9 \7 `. v: i8 u( y  t
DEVICE=\HIMEM.SYS /TESTMEM:OFF
2 L% f2 p. T: J8 tDEVICE=\EMM386.EXE RAM7 m  ^8 b# a3 n1 V; [8 }% n! u, \
INCLUDE=PUB
% W: v! e- }( @' W! T- h6 g[PUB]# X* u9 e+ Y( h+ w6 Q! J
DOS=HIGH,UMB
9 Z1 H, z/ G) b/ H' }9 C2 _  V2 LFILES=30
4 U7 s0 {8 K( A# t. t: c6 }BUFFERS=20
: l) Z; n0 T- \0 V1 B. l4 zSTACKS=9,256! j& K; f+ p) v: `2 `
LASTDRIVE=Z
* K: ]" q0 W* E9 r) y7 I[4]
7 g7 w% H4 p3 ~" j9 mFILES=10
4 `4 A. M4 x" G4 P8 h" \BUFFERS=10- K/ t# @1 r' J5 e4 f
LASTDRIVE=Z
" m" U0 b$ n0 W7 a4 P* n[5]
% U8 v5 O5 \+ b+ g! ~( h& v- {$ pAutoexec.bat內容:
% c! @2 [: Z& S@ECHO OFF
+ {8 U: Q+ S7 ~( ~7 jPATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM
1 I% s2 _& `/ `4 _: {& @* ^GOTO %CONFIG%& ?/ q+ z, ^) f# E$ v* N9 u6 [
:1
0 y" v( S% z1 d( F. \+ l; jGOTO COMMON& z; _& l5 Z3 K- m( G* K4 y: [
:2" I: U! d; q8 e; N5 Y
LH \SHSUCDX.COM /D:SSCD001
( k4 {: L4 K' iGOTO COMMON
; v: t- G% D3 ^# a8 N$ x:3$ e/ [4 W6 X' L1 q+ l
GOTO COMMON7 F" g; Z0 T5 F
:4
+ L0 n4 W: \. ^" [* ZGOTO END3 T! S/ h8 J7 ]( ^" q+ v
:5
. J4 S. [, i1 r; XGRUB0 Q* F8 `0 |" `, Z3 S7 e- c& p
:COMMON9 x* E5 k3 W* {  S; I* T0 X6 j7 y
LH \SMARTDRV.EXE /X. o3 a; [) {9 [
@ECHO Install mouse driver?
) r  r9 q* c7 n. B. J8 R4 r\CHOICE /C:YN Yes,No /T:N,6
' L5 p# U( F( l% g8 XIF ERRORLEVEL 2 GOTO END+ t0 S' U! P, B  x9 n6 Z
LH \MOUSE.COM8 B4 m" w, r6 P2 E3 f  c: M0 {/ n
:END
5 M9 _5 z( F6 H7 b) M/ Z! H

% ~5 k2 r; o2 ^5 t& ?( W& J5 @按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。
; v2 g; U0 z# S) ]) e% ^- N3 x) a! ]2 m5 C
感謝5free和david_ge的幫助!
. @6 v3 P0 E( q) E6 X* L0 W5 u6 j; ?3 P6 H0 L/ c1 B$ N% N; }
本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:/ ~- \: n# d1 x# v2 G& w6 T9 l2 D9 d: h
& J2 w1 d7 [. R9 o
http://bbs.wuyou.com/viewthread.php?tid=94087
  h& L: \  O0 s: E2 V  Shttp://maotao.u.winzheng.com/
9 D' d3 y2 P9 F8 \/ G1 H8 ~& [, }; L! C0 ~9 z
附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。
. A8 u6 _# F% Y% l$ S7 f8 r) N, [/ r- O# K! F: a0 ^. u
最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。
& n" c, n2 H7 _9 Q後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。
( {' z8 M+ T8 U5 H, q7 _
  n. M0 P/ ?, T% b6 S8 P. d" K/ d% K目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 2-11-2025 23:26 , Processed in 0.277588 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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