[註: 原出處已遺忘, 底下內容有經實作驗證.]簡單說 Dos 的開機程序時
io.sys -> msdos.sys -> config.sys -> command.com -> autoexec.bat
其中我們只要注意 config.sys 和 autoexec.bat
config.sys 主要是設定 Dos 的一些設定 和 載入一些程式
config.sys 所載入的程式和 autoexec.bat 中的不太一樣
這類的程式都是要在 command.com 之前載入完成
所以要在 config.sys 先載入
例如 記憶體的管理程序(himem.sys) 或 光碟機驅動程式
下面所說明 config.sys 部份
先看個圖例
[MENU] 是指 Dos 的開機的選單,其中
MENUITEM 是各選單的項目
MENUITEM = 項目名稱, 項目所顯示的文字
MENUDEFAULT 是預設選擇的項目
MENUDEFAULT = 項目名稱, 秒數
秒數可以省略, 就不會倒數計時 ( MENUDEFAULT = 項目名稱 )
MENUCOLOR 是選單的顏色
MENUCOLOR = 文字顏色, 背景顏色
全部 16色, 其數值是 0 - 15
在 [MENU] 中只可使用選單的設定不可以使用系統的設定
[COMMON] 共用設定, 不管選擇了那個項目都會載入這個部份的設定
[項目名稱] 各別項目的設定, 選則該項目時只會載入該部份的設定
而系統設定的部份
DOS=HIGH,UMB 是 DOS 記憶體相關的設定, 可省略, 在此不詳說
LASTDRIVE 是指最後一個磁碟編號, 習慣上就是 Z 啦
可以省略...只不過省略時的預設值為何我就不清楚了
DEVICE , DEVICEHIGH 載入裝置的程式, 例如載入光碟的驅動程式
DEVICE = MS-CDD.SYS /D:CD001
DEVICEHIGH = MS-CDD.SYS /D:CD001
DEVICEHIGH = HIMEM.SYS
DEVICEHIGH = EMM386.EXE RAM
是載入記憶體管理的程序
在 DOS 核心中...只能使用 1M 的記憶體
而其中的 640K 即所謂的傳統記憶體, 其餘 384k 則是其它用途
例如有 16M 的記憶體在 DOS 中也只會用到 1M
而其中程式所能用的也只有 640 K
因此必須要載入 HIMEM.SYS 才能讓程式配置使用其它的記憶體
不過由於又不是要用 DOS 玩遊戲...所以此部份也不用詳細說明
如果只需要傳統記憶體即可...這2行也可以省略
DEVICE 和 DEVICEHIGH 差異
當我們有設 DOS = HIGH,UMB 時
可以用 DEVICEHIGH 將載入的程序放到 UMB (就是那1M中的384K部份)
來節省傳統記憶體, 不過 UMB 不夠時...一樣還是使用傳統記憶體
所以不可考記憶體的分配(以要不會影響到程式的執行), 我們也可以省略成
如果不需要多選擇的選單, 也可以只設定所要的部份
在 config.sys 部份中, 主要只要注意 光碟機Driver 的載入
DEVICE = MS-CDD.SYS /D:CD001
DEVICE = 光碟Driver的檔案 /D:給予Drvier一個名稱
例如
DEVICE = A:\Driver\VIDE-CDD.SYS /D:MSCD001
MSCD001 只是一般常久以來的而成的不成文習慣而以
名稱是可以自己取不過一定要記得, 因為在 autoexec.bat 中給予光碟機編號時會用的到
接下來是 autoexec.bat 的部份, 圖例
這比較沒什麼好說的
總之就是照順序執行而以
比較要注意的是有使用 開機選單 和 光碟Driver 時的情況
之中可以看到 GOTO %CONFIG%
如果有使用開機選單...就會有 CONFIG 這個環境變數
在 autoexec.bat 我們可以用 GOTO %CONFIG%
來跳到 :選單項目名稱 的地方來執行
例如我們開機時選擇了 MS-CDD
GOTO %CONFIG% 就會跳到 :MS-CDD 的地方然後繼續執行
所以後面的
LH MSCDEX.EXE /D:CD001 /M:32
LH MOUSE
LH DOSKEY
PATH A:\;
都會執行到
如果我們開機時選 NOCD 則就直接跳到 :NOCD
LH MSCDEX.EXE /D:CD001 /M:32 就不會執行到了
當 config.sys 載入光碟Driver 後
我們習慣上在 autoexec.bat 中自動執行 MSCDEX.EXE 給予其磁碟編號, 如此才可以使用光碟
LH 和 config.sys 中的 DEVICEHIGH 是同樣的做用, 將程式配置到 UMB
因為不知道 UMB 夠不夠所以習慣上也都是加上 LH
使用 MSCDEX.EXE 給予光碟機編號時
MSCDEX.EXE /D:CD001 /M:32
/D:CD001 這裡就和 config.sys 設定的部份是要一樣
如果 config.sys 中是用 /D:MSCD001, 這裡也是改成 /D:MSCD001
MSCDEX.EXE /D:MSCD001 /M:32
/M:32 是設定緩衝區的大小...可以省略
/L:X 設定光碟機磁碟編號, 可省略, 省略時程式會自動的分配, 例如
MSCDEX.EXE /D:MSCD001 /L:G
這樣光碟機就是 G: (當有2台以上的光碟機時, "好像"是依序從 G: 開始分配)
如果我們只是單純開機後能使用光碟機
config.sys 和 autoexec.bat 可以簡單一點
而 Ghost 部份這裡還是省下來不說了(因為好像打太長了)
而且網路上也很容易找到資料 (主要是會不會用 Ghost 的指令而以)
關於 ghost 部份可以參考
http://myweb.hinet.net/home4/hugolee/mio/364.htm
http://myweb.hinet.net/home4/hugolee/mio/365.htm
例如 我們將 ghost.exe 和 .gho備份檔 燒在光碟中
而 config.sys 和 autoexec.bat 我們可以如下
光碟給予編號 X:
因為 ghost.exe 是在光碟中
所以先跳到光碟 X: 中, 再執行 ghost 指令
如果 ghost.exe 是放在軟碟中, 而不是放在光碟中, 就不用跳到 X:
MSCDEX.EXE /D:IDECD001 /L:X
ghost -clone,mode=pload,src=X:\backup.gho:1,dst=1:1 -rb
即可
到此全部 3篇的教學算一個結束
如果你都學會了...可以自己做一個自己專用的開機光碟
會活用的話, 也可以利用開機選單來製作選擇 Ghost 自動還原或備份 的程序
PS:
2006/8/22 補充修正
如果前面都有看懂
應該會發現...文中有個小錯誤
在最後 ghost 的部份...貼圖中的 config.cfg 和 autoexec.bat 有錯(我在打的時候沒注意到)
在 config 中是
LASTDRIVE = Z
DEVICE = MS-CDD.SYS /D:CD001
而 autoexec.bat 卻是
MSCDEX.EXE /D:IDECD001 /L:X
X:
ghost -clone,mode=pload,src=X:\backup.gho:1,dst=1:1 -rb
而我文中提過 config.cfg 和 autoexec.bat 中的光碟名稱要一樣
所以 autoexec.bat 中應該是
MSCDEX.EXE /D:CD001 /L:X
或是把 config.sys 中的
DEVICE = MS-CDD.SYS /D:CD001
改成
DEVICE = MS-CDD.SYS /D:IDECD001