目的:
在一原有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分钟就很顺利地完成了剩余的安装工作!
所以说,遇到问题注意分析总是可以解决的。这个简单的安装问题的解决就是一个最基本的例子了。 希望对大家有点借鉴意义。