在计算机上全新安装Windows 7 RTM时,布拉德·伯德碰到了一个独特的问题。
--------------------------------------------------------------------------------------------
上周末,我下了很大的决心,对笔记本计算机进行了全面清理,以便安装Windows 7 RTM。经常阅读我文章的读者应该知道,从2008年底开始,我就一直在使用Windows 7测试版。当Windows 7候选发布版到来时,我采取的是非常规安装方式,直接从测试版升级到RC版(微软并不支持这样的操作)。但这次,我决定采用全新安装的方式升级到Windows 7 RTM,如同在上周的文章中说的一样。
尽管我努力注意保证小心不出大错,但在Windows 7启动管理器的环节还是出现了问题。下面就描述一下出现问题的情况和我发现的解决方法。
在多启动模式下开始安装
目前,我的笔记本计算机的主要应用于为客户运行产品展示之类的日常工作,偶尔也会运行任教的课程项目。在一个外置的串行ATA硬盘中,我已经安装了采用多启动模式的Windows Server 2008。
我相信,在Windows 7 RTM的安装过程中,连接外部驱动器的话,会让安装向会检测到是需要配置多启动模式,并希望它可以自动进行配置,这样的话,我也就不必对整个过程进行过多的干预了。
这样做导致了相当有趣的结果是。在整个安装过程中,并没有出现问题;在重新安装了Office 2007和Live在线服务后,我安装了几个软件并对一些设备进行了简单配置,准备导入旧数据。
因为我首先进行的是重新加载备份数据的操作,所以并没有马上发现这个问题。直到我退出安装光盘,才发现找不到启动设备了。
更糟糕的是,我发现即使是拔掉外部驱动器使用启动盘也无法启动系统了。
于是,我首先采用光盘启动模式,并使用F8键。选择对系统和启动菜单进行修复。但系统没有发现任何问题,我又选择利用安装光盘进行处理,但得到的结果也是相同的。我只好进入命令行模式并使用BCDEDIT进行处理,以找出启动模式使用的实际分区。
为了获得这些信息,必须在系统管理员的权限下运行命令行模式,具体内容如图A所示:
图 A
BCEDIT显示出问题的所在
结果显示开机管理器选择的是外置串行ATA硬盘所在的D盘作为启动盘。
为了更改这项设置,我输入:bcdedit /set device “partition=C:”
我还发现C盘和刚刚使用的D盘一样也包含了开机管理器的文件。这就是我发现最有趣的地方,看起来是没有办法解决这个问题了。
于是,我输入下面的命令选择使用开机管理器的备份文件:bcdedit /export c:filename
接下来,我使用安装光盘重新启动计算机,并选择修复系统。并通过命令行模式删除笔记本内部驱动器和外部串行ATA硬盘上的bootmgr.efi文件。
最后,我关闭系统并且断开外部串行ATA硬盘。重新利用安装光盘启动系统。选择修复系统,在安装向导为Windows安装进行自动扫描的时间,它马上发现了问题,并给出修复的选项。我选择同意,并在没有外部串行ATA硬盘和安装光盘的情况下,重新启动计算机。
这次终于成功了!
现在,在启动菜单中,我可以选择Windows 7(恢复)和Windows Server 2008(恢复) 两种系统了。
当Windows 7开始正常工作后,我选择关闭系统并连接外部串行ATA硬盘。当重新启动后,我选择安装Windows Server 2008,这样其运行的也非常好。
BCDEDIT的正确输出结果如图B所示。
图 B
故障排除后的BCEDIT
为了消除显示项目中的恢复字样,可以输入下面的命令:
Bcdedit /set description “Windows 7 Ultimate”
Bcdedit /set description “Windows Server ® 2008 Enterprise”
需要注意的是:替换为其它任何内容都是可以的。
关键原因是什么?
我相信导致这一问题的根本原因是选择全新安装Windows 7 RTM的时间,安装向导发现了Server 2008并将其作为主要启动设备,因此,这导致了bootmgr文件被复制,并自动进行配置,引起了问题的发生。
你在安装Windows 7 RTM的时间,遇到过什么奇怪的问题么?如果有的话,请告诉我,对此我非常有兴趣。