目的:
在一原有Win98(FAT32)的4.2G硬盤上無損安裝NT Server 4.0。
(硬盤原分2G的C:和2.2G的D:。)
操作過程:
用PMagic略縮減D:,在硬盤 最後安裝IBM Boot Manager;縮減C:,在C:後半部分空出約400M建一個FAT分區准備安裝NT4。
將該400MB的分區設為ACTIVE,建立DOS 6.22後,正常啟動並帶上光驅。此時,因原98的C:不可見;原D:為FAT32,FAT無法訪問,所以也不可見,因此,准備安裝NT4的分區為C:,光驅為D:。
從光盤WINNT/B開始安裝,復制文件完全正常,可到第一次藍屏小字時出現死機!從滿屏出錯信息中 可以看到:INACCESSABLE_BOOT_DEVICE
疑問:
在FAT格式,DOS啟動正常,NT4啟動到讀BOOT.INI時都正常(死機後RESET,每次都能出NT多重啟動選擇菜單,選擇安裝NT4後出藍屏,一會就又出那個死機信息了),為什麼NT4會提示不能訪問BOOT設備呢?
可以完全排除光盤問題或者硬件兼容問題!因為在同一機,完全相同的配置,同一硬盤,同一光盤,就在上一天,幾乎使用完全相同的方式,曾經非常順利的安裝成功過一次!可莫名其妙關機後第二天啟動安裝好的NT4就出現了上述問題!重新安裝,還是在相同的地方出現相同的錯誤情況!Why!
分析:
為了排除大硬盤、FAT16 2G限制等因素(盡管我不認為我上面的安排會存在這樣的問題),我利用PMagic強大的分區move功能將400MB free space挪到了整個硬盤的最前面。可惜,嘗試安裝NT4還是同樣的失敗了。不過,至少現在又排除了一些可能的干擾因素。
讓我們分析一下:我的問題在“無法訪問啟動設備(INACCESSABLE_BOOT_DEVICE)”,那 麼,啟動是怎麼開始的呢?不用說,BIOS首先讀取MBR,然後,利用MBR前面512-66的bytes作為啟動程序,66bytes作為分區資料開始啟動過程!
OK,我可以從4.2G硬盤上3個啟動分區,包括400MB那個FAT16分區(DOS啟動)正常啟動,說明MBR 中的啟動程序和分區數據基本是正確的……
但,能說明完全正確嗎?不,當然不能!最明顯的例子是引導性病毒,當它感染即修改MBR啟動程序 後,可能照樣能正常啟動訪問各分區。如果(人或程序)不去檢查MBR,是不會發現異常的。那麼, 如果排除了病毒的情況(我有95%的把握沒有病毒),現在的MBR還肯定是常規(normal)的嗎?
可能不是。為什麼是可能呢?理論上講,PMagic使用單獨一個分區安裝BootManager來實現啟動管理,對MBR的啟動程序是不會做什麼修改的。但我已經用PMagice xx次更改各分區大小了。而對於我用的PMagic 3.05來說,每次分區大小的改變它都要進行MBR的寫操作(PMagic 4.0對此有改進)!雖然理論上它只應該改變後66bytes的信息,不應該更動前512-66bytes的數據。但實際上它真的這樣做了嗎?或者它在做這件事時是不是會有誤差呢?
解決:
讓我們采取點行動證明這一點!現在我要動的是MBR,自然要謹慎一點 。於是,先備份一個MBR文件--怎麼備?工具很多啦,我是用KV300/B來做的,盡管我不會用它殺毒…… ;-) 然後,做一段干淨的MBR啟動程序對比一下就可以了(主要對比啟動程序部分)。 可正好手邊沒有其它機器,干淨的MBR啟動程序只能由 FDISK/MBR 來得到。不過那樣一來,這段干淨 的程序就直接進入MBR了。接著,再來一次KV300/B,保存這個“干淨MBR”。用UltraEdit打開這兩個MBR數據文件,Compare Files……哈!對比結果果然不同!
已沒有心思分析到底哪裡不同,立馬重啟機器,選擇啟動那個400MB分區,選擇Install……結果…… ;-) 是非常令人滿意的--我只用10分鐘就很順利地完成了剩余的安裝工作!
所以說,遇到問題注意分析總是可以解決的。這個簡單的安裝問題的解決就是一個最基本的例子了。 希望對大家有點借鑒意義。