本文共 2092 字,大约阅读时间需要 6 分钟。
由于个人原因,最近新购置了一台本本,在使用了一段时间Windows 7后还是惦记着Windows 8的一些新功能,比如内存占用量、更便捷的Apps面板、新的MetroUI以及一些细节上的改进等。关于Windows 8的细节改进和体验,可能稍后我会写其他博文来展示。
下面简单的来叙述一下这次故障的发生过程,在安装好Windows 8后,已经初步的实现了Windows 7和Windows 8的多系统环境。按正常的步骤,无论什么系统装好我们所做的第一件事应该是安装系统各个部分的必备组件,比如系统补丁、驱动更新等。这些一切的步骤都没有问题,但在进行磁盘管理的时候就出现了问题。由于是基于Windows 7系统安装Windows 8,所以就存在安装Windows 8后磁盘盘符混乱的问题。在进行磁盘管理的时候发生了一个严重的错误,错误的将非活动分区设置为了活动分区,从而导致系统本身的活动分区标识丢失,如图所示。
在执行这个选项后会发现,现有的系统保留分区的活动分区标识已经消失,因为在Windows环境中一个磁盘只能有一个活动分区。现在只有一个被错误标识的分区拥有活动分区标识,如下图所示。
若这个时候我们没有改回活动目录标记重启计算机,就会发送计算机无法正常启动的问题,包括之前的Windows 7也无法启动。在重启计算机时,显示器只会在左上角显示一个光标,表示Windows没有找到可以引导的设备。
这里我就以Windows NT6.0及NT6.1(Windows NT 6.2似乎已经发生了变化):在加电自检POST后,BIOS准备将计算机的控制权交由指定的引导设备,比如磁盘、光盘、PXE网络设备、USB闪存设备之类;在交由这些设备处理后,会在这些设备寻找引导扇区来查找相应的启动选项,而引导扇区就位于活动分区中,但活动分区并不一定是位于计算机的第一个扇区中;在通过活动分区标识找到存放启动管理器后再查找相应的启动选项配置(Boot Configuration Data),这时如果是单系统环境则直接启动该系统,若多系统则会给出系统列表让用户进行选择;在用户选择或单系统环境执行系统引导后,计算机会将计算机的控制权交由Winload.exe来加载系统;在Winload.exe完成系统的核心加载和启动后会向用户展示欢迎界面,也就是我们所说的登录界面。此时Winload.exe再次将计算机的控制权交由Winlogon.exe这个程序来完成Windows NT6.0或NT6.1的启动。但此时系统并没有加载和启动完成,仅仅是完成了核心的启动。这时如果计算机没有一些特定的服务,系统将只会有少部分的内存需求;用户在登录界面输入完用户凭据后,系统会进行身份验证,Windows会话管理器会为用户建立一个新的会话,也就是我们所看到的桌面,即完成整个的Windows NT6.0或NT6.1的启动。
从上面的启动过程描述,我们可以看到活动分区标识对于Windows系统的启动非常重要,如果没有活动分区标识,计算机将无法找到启动管理器,更无法继续后面的启动步骤,所以只会显示一个光标。并且在磁盘管理中我们不会找到“取消活动分区标识”的选项,在这种情况下我们应该立刻将活动分区标识重新标识在存放启动管理器的分区上。而Windows 7在安装时为了系统的安全和启动数据的隔离(避免用户不经意的删除,或第三方软件、恶意程序将其损坏),创建了一个100MB的系统保护分区,用于存放系统的启动管理器及BCD。我们应当马上在磁盘管理器中将该分区标识为活动分区,以免出现启动故障的情况。
这是最佳的情况,但如果这个时候我们进行了计算机的重启操作,那么情况就会变得相对复杂。这时就需要使用到装有Windows 7安装程序的光盘或USB闪存,重启计算机将BOOT选项改为该设备,并通过启动到安装界面,选择左下方的“修复计算机”选项通过自动修复功能来解决此问题。
在这里问题就已经可以基本解决了,但可能有朋友会问,这篇文章不是写Windows 8无法启动吗?是的,但在测试过程中我发现Windows 8如果出现这种问题,将很难得到解决。通过Windows 8的安装光盘或USB闪存启动到安装界面后,进行修复将无法解决问题。通过Windows 8的自动修复功能、Windows刷新、Windows重置功能均无法解决问题,因为Windows 8在执行刷新或重置时会让用户选择要重置或刷新的系统,而在活动分区标识丢失的情况下系统也无法找到启动管理器和BCD,所以无法显示系统列表,从而无法进行重置或刷新。并且如果执行Windows 8的自动修复功能,也无法完成修复。
所以,如果在Windows 8 Developer Preview版本Build 8012出现这个问题,如果没有Build 7989或Windows 7的安装光盘,可能解决起来会比较困难。这也许是Windows 8 Build 8012自带的自动修复功能存在问题,或者我测试不完整导致。但建议大家还是通过7989光盘或Windows 7光盘来解决。
转载地址:http://dculx.baihongyu.com/