|
|
轉載請註明出自「 Zuluck!- 運氣論壇!」
) ^+ p3 @; Q* Z3 P8 y. L1 W本文原址:http://bbs.zuluck.com/thread-1902-1-1.html
0 _2 R, }8 R) S, K* U# z) l3 r/ k5 {; J6 \" t' ], M; ~
0 c( \! P5 v" A沒想到製作方法發佈得到如此廣泛的關注,看來大家都跟我一樣希望製作一個通用性比較好的系統維護工具。經過這幾天各位網友的測試反饋,發現NT Loader + Avlgo的方式兼容性不太理想。於是我又換別的啟動方式試驗。現將試驗成功的另外兩種方法也一併發佈,大家共同試驗、探討。謹以此文拋磚引玉,希望在眾人的研究之下,最終能找到一個兼容性比較好的解決方案。
9 k6 M9 x& |7 y# X+ Y
5 M# D* p! O" ]! e3 c前緣:4 \% W' O& d* V u! N
1 w F& Y, J; \/ k- H) p很多年以前,那時候軟驅還是電腦的必配,維護電腦引導系統也用軟盤,我那時候就做了N片啟動軟盤。後來隨著軟盤淡出市場,系統維護盤也改用光盤了,例如著名的深山紅葉系統維護工具盤,就為我的工作提供了有力的幫助。不過光盤還是存在容易磨花,體積較大等缺點。現在的電腦基本上都支持USB設備啟動,U盤可以做成小巧而容易攜帶的系統維護盤;可重寫的存儲媒體也為更新提供了方便,再也不用為了升級刻錄一堆光盤了。5 S& m* @. O& L5 {* P( C# `: C
* \7 n- z" I( U9 |目標:
/ S* f u3 J. X$ Z1 {2 R
* L1 A6 c& K- L8 ^; V對於系統維護來說,WindowsPE不可卻少的利器;除此外,有一些問題還是需要啟動到DOS環境來解決。所以我的目標就是製作一個DOS/WinPE 雙啟動的系統維護U盤。下次再遇到某電腦系統崩潰的話,從衣袋裡面摸出一精緻的U盤,啟動電腦之後,把問題解決於彈指間。何其瀟灑也!! ]: {# E$ b7 X2 E, b: R$ K% U
, A8 E+ z1 ~" Q" D! V2 U+ B技術背景:& j( G# J e9 m X( j
# h$ V% X% E5 I' i/ M+ f其實,U盤啟動電腦,主要是各種引導工具的合理靈活運用,所有的操作和調試,也都是圍繞引導工具的安裝和配置進行的。我們知道,作為操作系統的主要載體,磁盤一直是最重要的存儲媒質。因此基本上所有的OS引導的模式都大致相同,都是由磁盤來裝入的。5 h% v# q! c1 \$ r
* ^2 `* e+ s5 }9 L1 J# \& D
首先,需要在OS所在磁盤的MBR(主引導記錄)扇區寫入特定的引導代碼,電腦啟動後會按照BIOS裡面設置的啟動順序輪詢對應磁盤的MBR區,如果找到有效的MBR記錄,就按照MBR記錄的指針去裝入OS引導文件,如果OS引導文件正常,就加載對應的操作系統。
! k! ^ R* k- z. ^# l9 a' b2 J: w: [: }
: j p9 r% R* ^: ?, N因此完成一個操作系統的啟動,' J5 A1 m# O3 V( b/ Q
需要兩個必須的步驟:1、MBR引導;2、OS引導。
* X, H8 o+ h. |% a; r' ^) R" e# `7 B. n7 H
基於上述基本原理,各種操作系統都有自帶的引導器,例如WindowsNT以上系統的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引導器等等,當然還有一些第三方的多系統引導工具如System Commander等等。
: p; y7 F4 v6 s O
- ~" [3 h. P( a4 D對於我們目前的這個應用,目的是能夠在U盤上實現DOS/WinPE雙啟動,並且具有相對比較好的兼容性。要達到這個目的,就有一些技術要求。首先,方案要能夠適應U盤移動存儲這種盤符變動的情況;其次,要實現雙啟動,一般都會用到虛擬盤鏡像,也就是引導器需要支持RAMDisk加載各種常見磁盤鏡像啟動的方式。
% {9 x4 ]; {* k T. u5 s% Q雖然U盤具有小巧輕量並且可以反覆擦寫等諸多優點,但如果要做成啟動盤,還存在一些需要解決的問題。最大的問題是:USB啟動並沒有統一的行業規範。主板製造商不同、BIOS不同,USB引導方式也有差異。作為移動存儲設備,主板對U盤的識別不同,會使盤符變化。這些直接導致U盤啟動的通用性和兼容性不理想,表現就是在有些電腦上無法引導。這是需要重點解決的問題。2 y' S* L u2 v6 ^% E0 ~6 ^
: t3 ^' D( ?! A5 _ q, p# D8 DOS選擇:
4 _! `9 s' L, l" D9 n0 @$ e. k6 F% b" D, X
DOS系統選用MS-DOS 7.1;WinPE選用無憂論壇老毛桃的「外置網絡、多媒體組件的老九 WinPE 老毛桃最終修改版」。! R) v8 s1 e0 h6 F, Z6 m: i$ D
! d6 R: t6 ?0 A( K# O2 K5 a4 ~
方案一:NT Loader + AVLDR + Avlgo/ Z3 T4 Z' L. Q ~7 n
( c) e9 c4 o: c+ p ?" q
MBR用NT Loader引導,在NTLDR引導菜單中設置選項:用AVLDR引導WinPE;而用Avlgo引導DOS;由於Avlgo不支持選單方式多重啟動,為了解決不同主板識別U盤的盤符不同的問題,對Avlgo引導配置文件稍作修改,以適應盤符變化的啟動需求。0 y$ i5 x4 k. }: g% d
) P) B5 ]$ k' w" |, f
工具準備:- {% H6 S2 @6 G' I8 D% Q" w* P% Y
PeToUsb——用來把U盤格式化成NT引導模式;WinImage——用於製作DOS啟動軟盤鏡像;Avlgomgr——用於生成Avlgo引導文件;UltraEdit——用於編輯修改Avlgo的引導文件。4 F* v. Z" A1 ^7 N' C" n6 L
# Q' W8 y* c# X3 l數據準備:. q4 @9 G/ ?% z0 l: L7 P
1 U# }/ P& C6 k' @
1、PeToUSB是一款免費軟件,專門用來把U盤引導區格式化成NTLDR引導代碼。啟動PeToUSB,從「Destination Driver」欄選擇目標U盤,點擊下面的「Start」按鈕,它詢問「Continue」是否繼續,點擊「是」,彈出一個警告窗口,提示目標盤的所有數據都將會丟失,是否繼續?還是選擇「是」,然後片刻就完成格式化。9 W" _: l$ u; F/ j' M# d+ i
% A3 n0 U! ^" M$ ]; Y( R% i4 m
J/ [1 x% ^# q C8 `+ B2、用WinImage製作一個2.88M的啟動軟盤鏡像,將MS-DOS 7.1裝入鏡像,並把常用的DOS工具也放到鏡像裡面。啟動WinImage後,點擊最左邊的按鈕新建一個鏡像,這裡選擇標準格式2.88MB,為的是盡量能多存放一些工具。然後向這個鏡像中添加文件,把事先準備好的MS-DOS系統文件從資源管理器裡面拖拽到WinImage窗口中。其它DOS工具也這樣添加進來。文件添加完畢之後,點擊「映像」菜單——「引導扇區屬性」,選擇「Windows 95/98」並確定,這一步很重要,漏做這一步的話,這個軟盤鏡像就不能引導電腦了。最後保存成ima格式的鏡像文件DOS.ima。
1 W- [2 |3 O% X6 g/ `, x
) i. C; P( [& [2 ]
; h4 N1 e* k3 N8 L' p3 M1 l! o9 _) D1 i* U9 b
3、先備份好C盤的Boot.ini文件,注意默認狀態看不到這個系統、隱藏屬性的文件,需要到資源管理器裡面「工具」菜單「文件夾選項」當中修改查看方式,取消「隱藏受保護的操作系統文件」復選框,並切換為顯示所有文件。啟動Avlgomgr,在「虛擬磁盤完整路徑」瀏覽找到剛才用WinImage製作的鏡像文件,然後點擊「裝配」按鈕,Avlgomgr自動修改Boot.ini文件,並在目標盤(本例為C盤)生成我們需要的Avldr.bin和 Avlgo.sys兩個關鍵文件,把這兩個文件拷貝到某處備用。完成以後恢復原C盤的Boot.ini文件。
9 O' G" ~9 | O- }6 k" D7 H m q& H% Y
4、啟動UltraEdit,先打開Avldr.bin,在編輯屏右邊的ASCⅡ碼區域可以找到「AVLGO.SYS」的字符串,把它改成「AVDOS.SYS」,文件另存為Avldr.dos。3 @/ W7 `' k1 ~
. Y; `; {+ J& j* d" z6 v& d; ]7 R5 g0 y i0 L
5、然後打開Avlgo.sys,在右邊ASCⅡ碼區域找「(hd0,0)/DOS.IMA」字符串,把它修改成「(fd0)/DOS.IMA」。修改的時候要注意,由於修改後的字符串比修改前的短,為保證文件長度不變,剩下的部分要切換到左邊16進制碼區域,用「00」填充,這樣才能保證文件長度不變。修改完後另存為Avdos.sys。
$ h8 Y0 f/ o$ K' {+ J
/ `8 D% `* t1 {- B& y* H$ z( `) Q) X3 z
2 Y9 z; s2 c, g1 A0 `. L開始組裝:
0 i$ q4 {* b* ? @. J
6 b4 e0 L3 }4 w1、首先,在U盤的根目錄用記事本創建一個Boot.ini文件,內容如下:
% e' n9 n4 i9 N6 K2 ?$ H[boot loader]/ Q, {, j& M* [! n
timeout=303 j Y- J5 v$ x1 T. F
default=C:\avldr.xpe
/ `, W2 a+ d; E$ I$ {! ]& t[operating systems]0 U) A) l0 V) e& v( q0 E
C:\avldr.xpe="Windows PE ByaoMaotao"
& t) `/ V2 p$ D8 o+ F; \$ W, XC:\avldr.bin="MS-DOS 7.1 form USB-HDD"
2 `" s! W1 J/ D2 q0 K5 O" jC:\avldr.dos="MS-DOS 7.1 from USB-FDD" & d& z% m2 _' H" t9 [
完成以後把這個文件的屬性修改成 只讀/系統/隱藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件屬性)。
5 z1 E' P/ L" X' @
4 p |6 M5 E: _8 g3 b這是NT Loader的菜單配置文件,timeout參數設置的是菜單等待時間,如果在設定的時間(本例為30秒)用戶沒有進行選擇,就自動加載default項默認的C:\avldr.xpe,啟動WinPE。! \0 W/ Y, n7 J0 O. |
2 P; A @ x7 z[operating systems]小節是菜單中出現的引導選項,第一個就是前面default設置的老毛桃WinPE,雙引號裡面的是註釋行,會顯示在引導菜單裡面。下面兩行分別是為主板識別U盤為USB-HDD和主板識別U盤為USB-FDD兩種模式對應的引導項。
' K+ G7 X% I1 T: h: M# P; u* y! f' D+ S4 C' T/ O- n
2、把硬盤系統的NTLDR和NTDETECT.COM兩個文件拷貝到U盤根目錄,這是NT Loader引導器的必須文件。& s3 K. p: x* p: W
" |! _4 `- ?) t' 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環境下。
) y* z9 ~1 m/ R/ Q- z3 b5 b1 t$ G S% _9 ^( X
5、把軟盤鏡像文件DOS.ima拷貝到U盤根目錄。' {' t* _( | O* S
! l# h( ?* |* L2 Z3 m9 f
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環境下。
- F7 C) X+ W- n+ I4 ` t* p" D5 s" m! \" m- T
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環境下。' n3 `6 l8 ~( [3 h$ Q$ {6 Y- }
- O8 f* u. M/ \) m. H
至此DOS/WinPE雙啟動系統維護U盤製作成功。
& x5 Q) N( ^0 r3 S( l
' y5 R: i* e2 F, _0 E2 A方案二:NT Loader + Grub4DOS
' S' w4 B+ V$ _9 ~4 L# D1 g6 }; n: [* |8 `7 i5 }5 s9 B0 k
因為Avlgo引導器默認是不支持多重配置選單的,所以前面我使用了特殊的方式編輯處理Avlgo的引導配置文件,以期解決U盤啟動盤符變動引發的問題。從網友的反饋看,這種方式引導DOS啟動軟盤鏡像,失敗率還是比較高。基本上出問題的情況都是NT Loader引導正常,但是到Avlgo的環節出錯。因此這套方案,依然保留NT Loader作為MBR引導器,用Grub4DOS來引導OS。
" c. D6 V+ i" _+ N* G( H( H* m* d3 G L7 Q# P# N( Q
1、給U盤寫入NTLDR的MBR,此項工作可以用PeToUSE來完成,也可以用其它方式達成目標。具體操作見方案一。/ a& K2 [5 e3 N* P6 e( b
2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷貝到U盤根目錄。* R v/ E6 H& F, h! n9 j `
3、編輯NT Loader啟動菜單Boot.ini。用任何文本編輯器創建一個Boot.ini文件,內容如下:
: X+ F* Q) y; B7 H. W; P[boot loader]
, O( ~- {9 k: y/ y* n( k9 Ztimeout=0
' m4 { I: n5 C9 h/ {% v% \default=C:\grldr
: g/ T1 G) V8 C- ^- J& @$ M[operating systems]
) s* `9 W( o& B: Z2 {4 N$ l: dC:\grldr="Boot Menu"
1 y& X# _5 }. E' t2 M3 n: @$ ^Boot.ini菜單各個項目的含義請對照方案一的說明。7 A6 f) K0 v! e- `
+ a7 m2 j. ]: [! r1 R- {# o4、拷貝Grub4DOS文件,把Grub4DOS裡面的grldr拷貝到U盤根目錄;在U盤根目錄創建一個Boot文件夾,把Grub4DOS的中文字體文件Fonts.tz和菜單背景圖片文件Splash.gz拷貝到這個文件夾下。在U盤根目錄創建一個grubidx.txt文件,內容無所謂。) ]8 e/ Z0 A! m: K% S+ Z( ^/ V
. u d) t3 x, N/ r' A. ^- g1 V
5、把DOS軟盤鏡像文件dos.ima拷貝到U盤的Boot文件夾下。
8 o" J2 z! D" q
* L+ d2 ~5 a+ S% N x3 ]4 e6、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。( C7 k8 E- r+ n8 _0 x* \0 m0 e7 j1 C
. E* Y8 f G& g& v- |
7、創建Grub引導菜單文件,用任何純文本編輯器在U盤根目錄創建一個Menu.lst文件,內容為:, j0 w( Z8 a$ T8 B( Y; I: h
timeout 307 g( `- W2 T8 g; R
default 01 J! l) l/ f: o/ ]$ a4 n% P
splashimage /boot/splash.gz
/ F& q3 i( k7 J; g% Yforeground ffff00# l1 \5 Q+ E; f: c
fontfile /boot/fonts.gz
0 y5 o- S% ]) `! ~$ \title 啟動 WindowsPE
) T8 E. t& C P9 f! Wfind --set-root /grubidx.txt2 Q% c* k+ y5 q2 a; W' ]& ^
chainloader /ldrxpe
+ `# H( \1 B ptitle 啟動 MS-DOS 7.12 l( h& t6 a! B+ _. ^( [
find --set-root /grubidx.txt
9 U+ T. O& j0 y/ d ^map --mem /boot/dos.ima (fd0)" d' `! K) O4 r! X4 g1 k+ P
map --hook. C, I) ~+ ^% x2 [3 _
chainloader (fd0)+1
; v% p0 P) d/ J' k) B* |rootnoverify (fd0) ( c6 f; \3 d O+ |" l+ J- H
做完這些,U盤就可以啟動了。
& \" v! I% k- j' `: x; g
4 w$ t, z7 |. n0 [+ l菜單項目說明:% t+ a6 C; J4 v1 w4 D0 U" F) r
8 A# {* g3 S: b* k J
第一行設置等待30秒的等待時間;
% j' A: q- X4 ~4 ?4 e
; Z0 c4 N8 K$ R% k2 g( U$ ]第二行設置如果30秒用戶沒有選擇,就默認啟動第一個引導項目「啟動 WindowsPE」;
3 {) }+ v1 o) l k e7 `9 y5 \' {% c
splashimage項目設置Grub4DOS啟動菜單的背景圖片,圖片路徑為/boot/splash.gz;% p5 [; A" C0 V4 A* o2 }- E" J, I
; T! Q& h0 r* y5 Z& U" D
foreground項設置啟動菜單文字顏色為亮黃色;
* u) e5 L. C/ x& Y* C
8 Y3 H) e* Z# x6 ~ z+ @6 f9 Rfontfile項設置中文字體文件為/boot/fonts.gz
7 q; z2 _ [$ b( m( l0 d
7 n6 t1 v) O, ]下面兩個以title開頭的小節就是啟動菜單的兩個啟動項,title後面的文字將顯示在菜單中;8 u9 T7 l0 B! [# O' D
$ g1 k) S. X! u
find --set-root /grubidx.txt這一項是自動搜索grubidx.txt這個事先創建好的特徵文件,它只要找到這個文件,就把文件所在的路徑設置為根設備,這樣就不會被盤符變化困擾了。至於特徵文件的內容,那就無所謂了。- O1 \! e7 Z2 o. W* f
( Z- V4 B- ~. r4 \
chainloader /ldrxpe就是啟動WinPE的XPE鏡像。
0 R3 i& N' z6 T4 T+ \' L
3 d7 K# o" p" {- C1 g3 b" [map --mem /boot/dos.ima (fd0)是裝入/boot/dos.ima這個軟盤鏡像,並且虛擬成fd0.
6 o3 _2 L/ G4 d' O! _' \* l# B0 ] f$ T- i" z
map --hook是讓裝入的軟盤鏡像立即加載生效。. x5 U+ }2 h) F+ i4 }$ o
$ E2 N0 ~0 m8 ^! L$ wrootnoverify (fd0)指定把剛才虛擬的fd0設置為根設備。" Q5 `8 T7 E: w8 V
6 o) {( h" B; m) [8 z1 T2 ~" d本來,Grub4DOS可以直接安裝到U盤的根目錄,但是我反覆嘗試了多次,MBR是寫進去了,可總是報錯無法引導。所以還是用NT Loader做MBR引導器,由於NT Loader不支持加載鏡像文件,所以MBR引導成功後,把控制權交給Grub4DOS,由Grub4DOS來加載WinPE的XPE鏡像以及MS- DOS的軟盤鏡像實現啟動對應OS的功能。
2 s1 j. L2 X8 v z. S: g
4 F6 }, E. f& ]/ {
. U7 e; z7 G. o" A( J. A2 c方案三:MS-DOS 7.1 + Grub4DOS! g2 i. v/ L+ N+ O
; I2 C$ d5 J7 W# E* S* E
本來這個方案是我著手製作雙啟動U盤最早選用的方案,但是在我的華擎845E主板上始終沒法使用,所以開始沒有發佈。這次發佈出來供大家測試,看看是不是我那主板的特例。
! T; ]2 z; Q1 L1 q) r1 r& j: }3 a1 Q+ ~1 Q5 V/ }1 X: X
本方案的MBR由DOS引導,WinPE由Grub4DOS加載啟動。相對前面的方案,這個方案製作起來最簡單。: G" u- P0 l/ I" e
( U6 l8 j' o- s- K' ?1 E1、用HP USE Disk Storage Format Tool把U盤格式化成FAT可引導盤。3 H) l2 w4 Z) L% }6 W V# L0 U3 y! v3 @
2、根據自己的需要,把其它DOS文件和一些DOS工具拷貝到U盤。
: ?; C M* P/ B; w3、把老毛桃WinPE裡面的WINNT.XPE和WINPE.IS_文件拷貝到U盤根目錄;把WXPE文件夾下面的SETUPLDR.BIN拷貝到U盤根目錄下並更名為LDRXPE,注意沒有後綴哦。把「外置程序」文件夾拷貝到U盤根目錄。6 T( A: ], C0 W
4、把NTLDR和ntdetect.com兩個文件拷貝到U盤根目錄,這是啟動XPE格式WinPE鏡像必須的文件。
& H1 i5 X+ Q: J" ]$ Z; Y5、把grub.exe和fonts.gz兩個Grub4DOS的程序文件和中文字體文件拷貝到U盤根目錄。0 i: _' I& ^* l; K+ ~4 d4 l
6、用任何文本編輯器在U盤根目錄創建Menu.lst,內容如下:8 H' N- ], [8 `9 o
timeout 01 l }8 E+ f! n
default 0
! w4 K' R+ v7 X; @$ N Q. tfontfile /fonts.gz
9 D( b* O8 U* F* O( ~' atitle 啟動 WindowsPE l5 N" ^% E" }7 O
find --set-root /grubidx.txt7 F- j+ N; v7 q7 U, }* ?
chainloader /ldrxpe
0 v+ N P' A7 j$ [0 E8 Z在U盤根目錄創建一個grubidx.txt文件,內容無所謂,作用是配合Menu.lst作為Grub特徵文件查找確定根設備。0 D a9 L* B( D
) `$ t1 {" C7 b* ^
7、自行編輯Config.sys和Autoexec.bat,構建DOS多重開機選單,加入啟動Grub4DOS的項目。要保證啟動Grub的時候不裝入任何的內存管理程序和其它驅動程序、駐留程序,以免跟Grub4DOS發生衝突。可以簡單地在Autoexec.bat裡面加入一行:8 H# |& \- e5 [
* C* d. \" x. V# f: r* Rgrub- x; T8 Y* k& Z$ p/ ]
/ k ~$ g! H7 b# J9 z2 z; P4 h這樣就可以啟動Grub4DOS了。當然,由於要實現雙啟動,所以要把這兩個配置文件編輯成多重選單的方式,在需要的時候可以啟動對應的配置。我把我的配置文件內容放在下面供參考。
. a: A: l, V Y8 ~' p7 N
& h {* s2 W) K0 ?: tConfig.sys內容:
7 [; ~/ \+ K4 r7 P, v[MENU]
- o: x f- ?# ]* I( P4 Y3 G5 K( cMENUITEM=1,XMS without CD-ROM support3 {) @0 a$ J# A% {% m
MENUITEM=2,XMS with CD-ROM support4 i/ U8 j) E% V& k* D
MENUITEM=3,XMS and EMS
9 M: p7 r& `) wMENUITEM=4,DOS real mode(no XMS,no EMS)( k/ L* [7 i' z- G
MENUITEM=5,Windows PE* @. H7 }' v: j2 b9 N6 P
MENUDEFAULT=5,30
0 ~7 p8 I: `1 L4 s# U" O1 {[1]3 s2 H' w3 @3 e6 O/ p2 y
DEVICE=\HIMEM.SYS /TESTMEM:OFF
/ w1 o; {, E+ B- jDEVICE=\EMM386.EXE NOEMS
/ M6 Y/ j1 L- n$ V6 RINCLUDE=PUB
& t0 A/ u- H; g9 m8 M[2]
, i$ a5 w, _, a% mDEVICE=\HIMEM.SYS /TESTMEM:OFF5 o: Z$ F6 w! a/ Q+ K: }
DEVICE=\EMM386.EXE NOEMS, n1 u$ s$ J" j: m* g5 E+ ?
DEVICEHIGH=\VIDE-CDD.SYS /D:SSCD001
$ L4 l: | W2 JINCLUDE=PUB
% d1 Z9 x7 L* o( U1 {[3]8 c, F$ _3 N7 _
DEVICE=\HIMEM.SYS /TESTMEM:OFF
6 j$ E5 C2 K1 A6 r8 ]% j6 O0 fDEVICE=\EMM386.EXE RAM
/ e; k' `/ t* o7 GINCLUDE=PUB
( Z" N) W- c1 j% Z6 B[PUB]! ]" F# q9 }7 q+ ^3 a
DOS=HIGH,UMB
( K" O+ F& d4 y* L! U* d2 _FILES=30
8 ^, A% S( k6 H2 ?, A/ U% HBUFFERS=20
- J5 r' g- h6 {% G. s/ DSTACKS=9,256
( O) Z- l, d0 X/ l& SLASTDRIVE=Z4 A1 p0 N$ _( C4 }9 E9 V* ~
[4]4 t$ L5 P$ u0 c8 c
FILES=107 T) j4 ~) i0 i! }# u
BUFFERS=10& y- m, Y6 \# [
LASTDRIVE=Z6 P, _6 k- i& J" z1 N
[5]
% B4 t* i2 Z$ o) Z. r, ZAutoexec.bat內容:
& o; H9 F \. o! n7 S@ECHO OFF7 j8 |/ ~1 a2 M! M9 r! Z
PATH=A:\;C:\;A:\Diskgen;C:\DiskGen;A:\DM;C:\DM
. P$ X4 i0 `! wGOTO %CONFIG%. j9 g7 H* T) U3 X1 C. G0 Y
:1! F0 G& O1 g% w, C2 `! J) J! p
GOTO COMMON
: N h3 |" w+ m:2
# i! N D. {9 Q, GLH \SHSUCDX.COM /D:SSCD0010 H6 O$ k5 H" s. B9 Z! ]7 _0 A
GOTO COMMON) G9 y/ l! p% F- g6 a, V$ \* @& D0 U
:3
4 s- f% K/ [2 YGOTO COMMON7 }8 C/ | l; {
:4. X! X1 U: }) J3 G& k
GOTO END
; h6 ?6 I, x7 R- p& u! g% D8 s) [1 m: R:5! a8 I$ c% t# }/ ~
GRUB. b! c Y) l, Y& _; C6 H, H
:COMMON" ^3 v6 U; m4 C* Y
LH \SMARTDRV.EXE /X
7 k( f+ D/ c, k$ ^6 a k, x6 @@ECHO Install mouse driver?- U# q: z) e0 s8 S/ F. Z2 x
\CHOICE /C:YN Yes,No /T:N,6
: k1 T8 z) k/ t3 i8 f1 b2 c9 y. GIF ERRORLEVEL 2 GOTO END
1 v; A) k6 y2 ]2 |4 C6 YLH \MOUSE.COM4 l3 U: o; a( p# X4 a
:END
! w1 m/ s9 b1 ?4 t' n/ R( l4 l! i: C, e1 ?2 e1 b! O
按照這個配置,啟動的時候如果選擇第5個項目,或者超過30秒沒有做選擇自動執行第5個項目,那就經由Autoexec.bat裡面對應的語句啟動 Grub4DOS,然後Grub4DOS會根據Menu.lst的設置啟動WinPE。DOS多重啟動配置的具體做法,請參考有關資料。9 B' r- [) m# n
, w7 X* D( s- Y& {5 D感謝5free和david_ge的幫助!9 o. N: [) @& B5 H9 P m
* j# J, C3 z0 t% Z* M+ j本文選用的「WinPE 老毛桃最終修改版」可以到無憂論壇或者老毛桃的網盤下載:
' r {* V9 N' a1 l7 p! D# y6 s$ T: Q- u; a: B
http://bbs.wuyou.com/viewthread.php?tid=94087
& Z4 n) T4 J8 _% U( v: ?1 khttp://maotao.u.winzheng.com/
0 i) w2 W9 M3 U) y1 K: q t3 R# P) }: y( q( ^
附件中Avdos.rar是我製作好的Avlgo引導文件;NTLDR.rar是NT Loader引導器文件;PeToUSB.rar是格式化NTLDR引導盤的工具;Avlgomgr2007.rar是Avlgo裝配工具; FixNTBoot.rar是另外一個用來寫NT Loader MBR的工具。其它軟件由於涉及版權,請自行到網上尋找。0 G6 G3 }* p& [% a0 ]
% M# c" m2 ^5 Y% N
最近在研究DOS/WinPE雙啟動U盤,開始的時候用Grub for DOS,結果這個東西對USB設備的支持有兼容性問題,搞得有的主板裝入WinPE的時候死機。) _6 m0 M" |% e; \/ d
後來用NTLDR+AVLDR代替Grub for DOS搞定了啟動WinPE兼容性問題。
# g" P# u. @$ X1 R. D: h; x2 I. O4 r1 u, y* T9 {) U
目前的需要解決的問題是如何用NTLDR啟動DOS。現在我是把DOS文件放在U盤根目錄,已經提取生成了U盤格式化為DOS引導模式的引導扇區文件。但是不知道如何編寫Boot.ini文件,是否還需要把DOS系統文件製作成某種鏡像? |
|