如果只需單一版本的 XPE 開機, 請參考『USB 隨身碟 DOS, Grub, XPE 多重開機實作』
如果要在同一個 隨身碟 放兩個以上的 XPE 版本, 請參考 本篇
這次, 主要是使用 autoexec.bat 直接呼叫 grub.exe 來引導 XPE 開機, 另外還用到 MOVE 指令來搬移檔案
.
準備材料
- USB 隨身碟 – 先作成可以 DOS 開機
- MOVE 外部指令
- Grub4Dos
- XPE 光碟 或 ISO 檔
開機設定
- 目錄結構
請注意不同版本的 XPE 檔案的目錄名稱, 例如:- XPE 的檔案 SETUPLDR.BIN (更名為 RXPE), RXPE.IM_, RXPE.SIF, RXPE.COM 都複製到同一目錄, 使所有檔案都是 RXPE 開頭 (包含自行編寫的 RXPE0.BAT), 另外再複製 OUTTOOL 整個目錄
- Grub4Dos 只需要 GRUB.EXE, GRLDR, 另外需自行編寫 MENU.LST
0504 版的檔案放在 0504 的目錄, 對應的 outtool 目錄則改名為 out0504
1030 版的檔案放在 1030 的目錄, 對應的 outtool 目錄則改名為 out1030
- 檔案搬移圖示
- Config.sys (DOS 開機選單)
[menu] | |
menudefault=DOS,10 | - 預設 10 秒後, 以 DOS 開機 - menucolor 非必需 |
[DOS] | - DOS 的設定 |
[1030] [0504] [noemm] | -這邊不要放任何 DOS 設定 |
.
- Menu.lst (Grub 開機選單)
chainloader /RXPE | - 原本的 SETUPLDR.BIN 改名為 RXPE, 以方便搬移檔案的操作 |
.
- Autoexec.bat (DOS 開機自動執行)
@echo off goto %config% | - 跳到指定的開機設定 |
:DOS goto end | - 原本的 DOS 開機自動執行, 放這裡 |
:1030 :0504 call XPE.bat %config% | - 搬移指定版本的 XPE 檔案, 並呼叫 grub.exe 來引導 XPE 開機 |
:end |
.
- 存放在 1030 目錄裡的 RXPE0.BAT
@echo off |
.
- 存放在 0504 目錄裡的 RXPE0.BAT
@echo off |
.
- XPE.BAT
|
XPE XPE 版本名稱 XPE 非法名稱 |
=> 沒有參數, 直接用前次的 XPE 開機 => 以指定版本的 XPE 開機 => 將前次開機的 XPE 移回原目錄 |
.
@echo off cd \ rem 沒有參數, 直接用前次的 XPE 開機 if %1.==. goto check_boot rem 檢查是否有前次開機的 XPE if not exist \RXPE0.bat goto no_previous rem 將前次開機的 XPE 移回原目錄 Call RXPE0 move \outtool \out%XPE% move \RXPE*.* \%XPE% echo. set XPE= :no_previous rem 檢查本次的 XPE 目錄是否有檔案 if not exist \%1\RXPE.IM_ goto not_valid rem 檢查前次開機的 XPE 是否清除 if exist \RXPE.IM_ goto not_empty rem 將本次開機的 XPE 移到根目錄 move \out%1 \outtool move \%1\RXPE*.* \ echo. :check_boot rem 檢查次開機的 XPE 檔案, 並取得版本 if not exist \RXPE.IM_ goto not_boot if not exist \RXPE0.bat goto not_boot Call RXPE0.bat dir \outtool echo. dir \RXPE*.* echo. echo ==== Ready to boot XPE %XPE% ==== echo. rem 如果不想暫停, 可以移去 pause 指令 pause rem 以 grub 呼叫 XPE 開機 grub goto end rem ==== 以下為錯誤訊息 ==== :not_valid rem XPE 版本參數不正確 echo ==== "%1" is not a valid parameter !! ==== goto end :not_empty rem 前次開機的 XPE 無法清除 dir \RXPE*.* echo ==== Please move previous XPE back to its folder to proceed !! ==== goto end :not_boot rem 找不到本次開機的 XPE 檔案 echo ==== XPE NOT Ready ==== :end |
.
注意事項
- 請確認你的電腦是否將 USB 隨身碟 開機為 C:。因為, 如果 USB 隨身碟 開機為 A: 可能會讓 Grub 無法正常運作
- 目前發現, 兩個版本的 RXPE (原 SETUPLDR.BIN), RXPE.COM, RXPE.SIF 檔案完全一樣, 所以也可以只處理 RXPE.IM_ 和對應的 outtool 即可
.
參考資料
- [工具] GRUB4DOS (NoName XPE 討論區), http://nonamexpe.duc.cc/viewtopic.php?f=39&t=229
- 使用 Grub4Dos 來做隨身碟的開機管理, http://blog.teatime.com.tw/1/post/277
(...繼續閱讀.../...CONTINUE...)