上一篇的"Volume Boot Record" 是partition 的boot sector。
disk 的boot sector還是叫做 mbr 。
http://en.wikipedia.org/wiki/Volume_Boot_Record
NT Loader (ntldr) 安裝在 partition 的boot sector中,不需要裝在mbr。
ps boot process是:
- MBR code 尋找 active partition,load active partition的boot sector。
- boot sector code 在partition中找 ntldr 這個program
- ntldr 這個program 在partition中找 boot.ini 這一個檔案。
- 依照boot.ini 描述的內容。開機
這一篇也有說明NT Boot動作:
- partition boot sector 找到partition中的 ntldr - load and run ntldr
- ntldr 切換32bit flat memory mode,找到partition中的boot.ini。
- ntldr follow boot.ini 的設定,run ntdetect.com 做出硬體列表。
- ntldr 列出 boot.ini 的內容,讓user 選擇。
BOOT.INI 的第二段 [Operation Systems] 使用ARC 作boot path 指定,"ARC"就是"Advance RISC Computer"。
有關boot error message:
Non-system disk or disk error這是DOS boot disk中沒有system file。重新format並且copy system file。
Replace and press any key when ready
Boot: Couldn't find NTLDR這是NT 的boot process但是bootloader不在disk上。(說明說..bootloade 要在第一個partition的mbt上?? 越說越不清楚 @_@)。
Please insert another disk
http://www.comptechdoc.org/os/windows/ntwsguide/ntwsbooting.html
http://www.felgall.com/ntsrv5.htm
BPB
在每個partition的sector0 中有一塊BPB (BIOS Parameter Block),存放partition的geometry parameter : sector number, head..。
這一塊的參數,同樣個一顆HD,在不同的hardware下作partition的話,結果會不一樣。
Win98 會忽略BPB中head 參數的檢查,所以不會出錯。
NT 會檢查所有參數,一有不合,就會出現"NTLDR is missing" 的訊息。
解決方法:
- 要在本機上進行partition。避免不同的hd controller會產生不同的BPB資料。
- DOS的 sys c: 命令會重寫BPB。可以用這個方法將BPB 寫正確,但這個動作同時將boot sector的ntldr覆蓋掉了。
沒有留言:
張貼留言