装系统不求人——BootLoader与引导修复

首先下载附件中的boot-tools,引导记录编辑和修复工具,包括NTBootAutoFix和EasyBCD软件。

http://pan.baidu.com/s/1c08NJs0

这两款软件是我们装系统的必备神器,很多装完系统电脑不能开机的故障都能轻松搞定。

BootLoader

BootLoader之前做过介绍,BootLoader是电脑开机启动时必须经过的一步。

简单回顾一下电脑开机过程:BIOS --> BootLoader --> 操作系统 --> 应用软件

电脑开机时BIOS根据启动优先级设置,逐个尝试每个设备,例如U盘、硬盘、光驱等。因为平时我们用的操作系统一般都是装在硬盘中的,所以装系统的过程中,硬盘的引导是非常关键的。

这里列举几个常见系统的BootLoader及其配置文件。

  • Linux系统中BootLoader通常使用grub
  • 本系列文章中的万能启动盘,其BootLoader是grub4dos,默认配置文件为U盘根目录的menu.lst
  • 不少PE系统中的BootLoader文件为PELDR
  • Windows NT5.x,包括Win XP/2000等,BootLoader是NTLDR,其配置文件是Boot.ini
  • Windows NT6.x,包括Win Vista/7/8等,BootLoader是BootMgr,其配置文件是BCD

注:严格来看,上面的说法并不准确。例如在Win7中,BootLoader的核心常被安装到硬盘的MBR中,开机后BIOS先加载MBR,再由MBR加载BootMgr。BootMgr是Win7的引导文件,可以认为,由MBR中的代码和BootMgr共同构成了Win7的BootLoader。

BootLoader之间可以互相加载,万能启动盘中就用到了这个特性。详见:

《装系统不求人——量身定制自己的万能启动盘》
http://www.paincker.com/sysinst-customize-bootable-disk

NTLDR与Boot.ini

对于XP系统,其BootLoader是NTLDR,配置文件是Boot.ini,这两个文件一般就放在XP系统的根目录(可能是隐藏的)。

Boot.ini就是一个文本文件,这里不具体介绍它的语法格式了,具体可以参考百度百科。其典型的格式如下。

  1. [boot loader]
  2. timeout=5
  3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  4. [operating systems]
  5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

下图就是NTLDR输出的系统选择界面:

BootMgr与BCD

对于常见的Win 7/8系统,其BootLoader是BootMgr,配置文件是BCD。BootMgr通常放在活动分区根目录,BCD则放在相应的Boot子目录下。

BCD文件不能直接进行编辑,一般用微软提供的bcdedit命令编辑,这里也不细说。

在Win7中,右击计算机,属性,打开如下页面,依次选择“高级系统设置”、“启动和故障恢复”下的“设置”,可以打开界面,可以编辑部分BCD设置,如默认启动的操作系统、显示操作系统列表的时间等。

下图是BootMgr输出的系统选择界面:

NTBootAutoFix工具

NTBootAutoFix工具在附件中,这个工具可以自动修复Windows NT5.x / NT6.x的引导,并且在Windows和PE环境下都可以运行。

软件需要以管理员身份运行。打开后,显示界面如下。通常我们鼠标点击自动修复,NTBootAutoFix就可以自动识别硬盘分区中的Windows系统,并修复其引导设置,其他的我们什么都不用操心。

EasyBCD软件

NTBootAutoFix用于自动修复NT5.x / 6.x的引导,而EasyBCD软件则可以用图形化的方式编辑NT6.x的BCD配置。EasyBCD只能运行在Windows下,在PE环境中是无法运行的。

打开软件后界面如下:

点击左边的编辑引导菜单,可以编辑启动菜单项。可以设置默认启动的系统、倒计时时间,还可以修改排列顺序。

还有一些其他的功能,这里暂不做介绍。