2008年7月21日 星期一

開機流程基本需知 (硬碟 光碟 USB裝置)

---感謝金田一大提供教學

****** 基本流程 ******
1. 電腦開機執行 BIOS
2. 搜尋支援的開機硬體裝置 (依CMOS中的設定)
3. 硬體裝置的啟動
4. 載入開機程式(或引導程式) [這步驟依裝置不同而有差異]
5. 啟動完成

1 到 3 一般不會有什麼問題...最多就是 BIOS(CMOS) 的設定
而 3 到 4 之間是一般人不知道或會忽略的問題所在
4 到 5 是一般人會往往以為的問題所在
也就是如果 3 到 4 之間出問題...就不能開機了


****** 開機流程的 3 到 4 ******
硬碟開機:
1. 讀取 MBR (即一般所謂 0 軌)
2. 依 MBR 資料...讀取 啟動分割區 的 開機磁區(即 分割區 中最前面的磁區)
(開機磁區...類似於 光碟 的 引導檔)
拿 XP 來說...不是硬碟開機後就知道去讀取 NTLDR
而是在 開機磁區 中 引導程式 的部份會去讀 NTLDR
像 Dos 就是去讀取 IO.SYS 和 MSDOS.SYS)
3. 載入開機程式 (例如: XP 的 NTLDR)

光碟開機:
1. 載入 光碟的開機區段...可以是 引導檔(即 引導程式) 也可以是 軟碟映像檔
2. 如果是 引導檔 就不說了...
像 XP 的安裝光碟 或是 自製的 多選項開機光碟 都是用 引導檔
(例如 GRUB4DOS 的 grldr 和 EZB 的 loader.bin)
一般 引導檔 的 引導程式 都是去載入一個 開機程序
拿 XP 來說就是 SETUPLDR.BIN
GRUB4DOS 就是 grub.exe
EZBOOT 是去載入 EZB 檔
而 軟碟映像檔 就是 去模擬(映射)軟碟機

USB開機:
這一部份因為 USB 裝置 和 主機板 的問題...所以會有很多情況(相容性問題)
原則上 USB 裝置就看他使用的方式
像 USB-Flash(隨身碟) 或 USB+HD (USB轉接硬碟...) 都是用類似 硬碟 的方式
不過 USB+HD 用的是一般硬碟 (不管是 2.5 或 3.5 硬碟)
比較不會有問題...相容比 USB-Flash 來的高一點...
而有些 USB-Flash 是本身就不支援開機...那當然就不能開機了
原則上...只要 USB裝置 可以支援開機 MP3 MP4 應該也可拿來開機...
所以...先搞清楚自己的 USB裝置 支不支援開機
當然 USB裝置 可以開機...如果 主機板 不支援也沒有

如果 USB裝置 和 主機板 都沒問題了
再來就是 檔案系統 的相容性的問題...這個牽扯就多了
在 USB+HD 上...比較不會有這個問題...所以討論 USB+HD 的情況
但在 USB-Flash 上...常會因為 檔案系統 的相容而不能開機
原則上... FAT16 的相容性比較高...但 FAT16 最多只支援到 2G
要用 2G 以上的 USB 裝置只有用 FAT32 或 NTFS
以 SPFDISK 中的 檔案系統 ID 來看...
而 FAT32 還有細分為 DOS FAT32 和 DOS FAT32 (LBA)
(FAT16 也有分為 <> 32M...等等)
不過有些 USB-Flash 或 主機板 也有不支援 (LBA) 這種格式 開機 的情況
(不是不能用...只是不能開機)
(我曾幫朋友做 USB-Flash 的 XPE...就碰過 LBA 的問題...這個是我實作有遇過的)

所以就算是 FAT32 也可以用 SPFDISK 看一下是不是 FAT32 (LBA)
基本上相容來說 FAT16 > FAT32 > FAT 32(LBA) > NTFS
可以使用 SFPDISK 來測試不同的 檔案系統 ID...看你的 USB-Flash 可以用哪一種開機

另外...網路上也有一個相容度較高的 USB-Flash 格式化程式
HP USB Disk Storage format Tool (HPUSBFW )
可參考 http://tw.myblog.yahoo.com/0936369147-0932369107/article?mid=1934&prev=2067&next=1782
其中寫的 "實體方式進行寫入" ...指的應該是 LBA
不過我沒用過這個程式...(因為我沒 USB-Flash)
有問題不要問我

總之 USB裝置...要先測試看看可不可以開機 (基本上用 Dos 開機測比較方便)
如果可以...開機流程中的 3 到 4 的部份...才可以算沒問題
之後才是 如何 啟動 XPE 的 4 到 5
目前不管是在 硬碟 , USB+硬碟 , USB-Flash 上...的啟動 XPE
只是處理了開機流程的 4 到 5 ... 而不是 3 到 4
也就是開完機後的 XPE 啟動
一般來說是用 DOS 或 NTLDR 開完機後載入 GRUB4DOS 利用 GRUB4DOS 啟動 XPE
而利用 GRUB4DOS 也可以達到多重開機選單的功能