王者荣耀 铠 铭文:【多系统引导启动原理】--------WinXP、Win7和WinPE三系统启动的方法

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 01:27:55
2011-5-20 09:51   安装双系统的用户越来越多,不过多系统的启动和维护一直是个让人头痛的问题。比如WindowsXP(以下简称WinXP)+Windows7(以下简称Win7),如果启动文件Bootmgr或者BCD启动配置出现问题,经常会导致两个系统都无法进入。下面将和大家讨论如何使用XRLDR(一个轻量级的多重启动管理工具)实现WinXP、Win7和WinPE三系统独立启动的方法和技巧。   了解多系统启动基础知识:  在使用XRLDR之前,我们先来了解一下系统启动相关知识,这样可以让大家更好地理解和配置多系统的启动。硬盘上的系统一般启动程序是这样的:开机自检 —> 加载硬盘主引导记录(MBR) —> 搜索并激活系统引导文件 —> 加载启动配置文件 —> 加载系统核心文件 —> 完成启动       winxp(2000)系统启动:开机自检-主引导记录(格式为NT52)-搜索并激活系统引导文件ntldr-加载启动配置文件-加载系统核心文件-完成启动。
       win7(vista)系统启动:   开机自检-主引导记录(格式为NT60)-搜索并激活系统引导文件bootmgr-加载启动配置文件(c:\boot\bcd)-启动winload.exe-加载系统核心文件-完成启动。
  比如,对于在WinXP基础上安装Win7双系统用户,安装Win7后它会更改主引导记录并使用Bootmgr管理多系统启动。它的引导流程是:自检后加载NT60主引导记录,然后查找引导文件“C:\Bootmgr”并激活之,接着,加载“C:\boot\bcd”启动配置文件并列出多重启动。如果选择启动“Windows 7”,Bootmgr会根据BCD启动信息配置,将控制权交给Win7系统目录下的“Winload.exe”,加载系统核心文件,然后开始启动Win7。如果选择启动的是旧版本的Windows系统,Bootmgr会将控制权交给“NTLDR”,加载启动配置文件-加载系统核心文件-完成启动。注:bootmgr可以启动xp和linux系统。
 
常见系统引导文件:  硬盘主引导记录和具体操作系统并没有必然的联系,它是在操作系统启动之前加载的一段代码。不同类型的引导记录区别在于加载引导文件的不同,比如NT60记录,它会去查找“C:\Bootmgr”并加载之。Bootmgr既可以引导WinXP,也可以引导Linux系统。具体引导什么系统是由系统启动配置文件决定的,比如将“C:\NTLDR”启动配置写入BCD后,Bootmgr就可以启动WinXP系统了。  从上述启动流程可以看出传统的双系统引导主要有如下不足:   1、多系统启动都是通过第一分区完成。因此,一旦第一分区无法正常工作(比如:遭受病毒破坏等),就会导致所有操作系统都无法启动。   2、多系统启动文件都保存在第一分区,并且依赖于Boootmgr单一文件,一旦该文件被误操作(如:对启动配置文件BCD错误编辑)或误删除,将导致多系统启动失败。   为了解决多系统启动的上述不足,我们可以自行对多系统启动进行一番改造。首先,将各系统的启动文件复制到各自的硬盘分区。接着,通过XRLDR配置实现各分区系统的独立启动,从而使多系统启动摆脱对第一分区和单一启动文件的依赖。     注:本文以C盘安装WinXP加D盘安装Win7的双系统安装为例,为了更方便进行维护,还在E盘安装了WinPE系统。   实战:多个系统各自启动   从上述介绍可以知道,改造多系统启动操作第一步就是要将各系统启动文件复制到各自硬盘分区,由于简单复制启动文件并不能启动系统,复制完成后还要对系统启动进行配置。下面就针对不同系统介绍如何进行具体操作。   1、实现WinXP独立启动   大家都知道WinXP是通过“C:\NTLDR”来启动的,对于先装有WinXP后装有Win7的用户,我们只需将硬盘主引导记录更改为NT52格式即可。进入WinXP系统后将下载的“bootsect.exe”复制到C盘。接着,启动命令提示符工具并输入“c:\bootsect.exe /nt52 c:”,当屏幕出现“Bootcode was successfully updated on all targeted volumes.”的提示时,则表示成功将主引导记录更改为NT52格式。现在,重启系统后就会自动加载NTLDR来启动WinXP系统了(不会再出现Bootmgr启动管理器界面)。   提示:对于在Win7基础上安装WinXP的用户,千万不要使用上述命令更改主引导记录,否则会出现两个系统都无法进入的后果。因为变更为NT52格式后,硬盘主引导记录就会去寻找第一分区根目录下的NTLDR文件(NT60格式为寻找Bootmgr)。   2、实现Win7独立启动   完成上述操作后,重启电脑进入WinXP系统,把“C:\bootmgr”文件、“C:\boot”整个目录全部剪切到D盘根目录。然后运行下载的“bcdtool.exe”,单击“启动配置 —> 打开”,打开“d:\boot\bcd”配置文件。依次选择“编辑 —> 删除启动项目”,将原来的启动项目全部删除。接着再依次选择“编辑 —> 新建Vista启动项目”,选中新建项目后,双击右侧窗格的“device”项,将其更改为“partition=D:”(盘符依据Win7安装的具体分区更改),“description”(启动菜单显示名称)更改为“Windows 7”。     经过上述启动文件移动和配置后,我们只要能够加载“D:\bootmgr”,Win7就可以从D盘上启动了(Bootmgr加载需要借助XRLDR配置)。   3、实现WinPE独立启动   由于Win7启动经常需要借助WinPE来修复。因此,为了更方便地对Win7系统进行维护,我们还可以手动在硬盘上安装WinPE系统。只要准备好Win7安装光盘,打开光盘后将除“光盘目录\sources\install.wim”文件外的全部文件复制到E盘即可完成安装。  4、最后设定:多系统统一管理   完成上述三个操作系统的配置后,先进入WinXP系统,运行下载的XRLDR,单击“安装/配置”进入配置界面。在界面预览下选中“第一个操作系统”,依次进行如下设置:   1、启动方式单选“从文件启动”,启动文件选择NTLDR(用于启动WinXP,启动Win7和WinPE则选择Bootmgr);   2、启动分区选择第一分区(即WinXP所在分区,其他系统根据具体分区选择);  3、系统类型选择“NTLDR/BOOTMGR”,并勾选“启动时激活要启动主分区”;  4、菜单文本更改为“Windows XP”,然后单击“生成”(字体、颜色、字号等根据自己喜好进行设置)。其他参数采取默认设置;  5、操作同上,依次设置Win7和WinPE系统的启动配置,最后单击“写入磁盘”,完成对主引导记录的更改;  OK,现在只要重启电脑,我们就可以在开机多重启动菜单中选择自己喜欢的操作系统进入了(下次启动时默认启动上次选择的系统,默认启动系统可以在XRLDR中进行设置)。   上述三个操作系统是独立启动的,比如选择Win7进入后,依次打开“计算机管理 —> 存储 —> 磁盘管理”,可以看到Win7所在分区既是系统分区也是启动分区,表明它的启动并不依赖第一分区。系统修复
    如果Bootmgr文件出错或被删除导致Win7无法启动,可以进入XP系统,到其他电脑复制Bootmgr到D盘就可以修复win7启动问题,同样,如果win7的BCD菜单出现故障,我们可以到WinPE下,使用Bcdboot命令进行快速修复。
--------------------------------------------------------------------------------------    PS:什么是系统分区、启动分区?  根据微软帮助文档的解释,系统分区是指包含加载 Windows(比如Bootmgr)所需的硬件特定文件的分区,系统分区可以(不是必须)与启动分区相同。启动分区则是指包含 Windows 操作系统及其支持文件的分区。在传统WinXP + Win7情况下,对于Win7,它的系统分区是第一分区(因为加载 Windows所需特定文件如Bootmgr和Boot引导目录在该分区),启动分区则为第二分区(因为Windows 操作系统目录在该分区)。这里系统分区、启动分区合二为一,表明这个分区就包含系统文件和引导文件,可以说明该系统是自主、独立启动的。   经过上述改造,我们已经实现WinXP、Win7、WinPE三个系统的独立启动,这给我们日常维护带来很大的便利。比如在改造前误删了Bootmgr文件,重启后就无法启动多系统了,而现在则可以进入WinXP系统,只要到其他电脑上复制Bootmgr到D盘即可修复Win7系统的启动问题。同样,如果Win7的BCD菜单出现故障,我们还可以进入WinPE系统环境,使用Bcdboot命令进行快速修复。   即使是电脑高手,也常常会遇到多系统启动的故障,而一旦产生无法启动的故障,那维护起来可就费时又费力了。本文另辟蹊径,为多系统维护提供了一种很好的思路,通过XRLDR独立引导,实现各个系统独立启动。如果你已经安装了多系统,并且也曾遭遇过多系统启动的故障,不妨,试一试本文介绍的方法,就可以大大减少你的维护工作了。  希望能对你及你们有所帮助,WinPE爱好者伤不起!--------------------------------------------------------------------------------------XRLDR 这个小软件的全名是 xorldr 的 是个多系统菜单启动器XORLDR 的原始最新版发布在这个地方: http://bbs.wuyou.com/viewthread.php?tid=157812&extra=page%3D2
 【XORBOOT: 多系统引导程序】-(2011.12.16 v0.60 征求意见版)

XORBOOT(原 XORLDR) 是一个轻量级的多系统引导程序,它使用图形化的选择菜单,可以管理多达 16 个系统的启动。XORBOOT 的启动对象可以是分区的引导扇区,也可以是分区上的某个文件,还可以是指定的绝对扇区号。

XORBOOT 支持的启动类型有 GRLDR/GRLDR.MBR、NTLDR / SETUPLDR.BIN / BOOTMGR、SYSLINUX 的 LDLINUX.BIN(3.80~4.03)、PLoP Boot Manager、MS-DOS(IO.SYS)、FreeDOS(KERNEL.SYS)以及磁盘映像文件(*.IMG;*.IMA;*.ISO)的模拟启动。

XORBOOT 可以安装在硬盘的 MBR 上启动,也可以安装到 PBR 上,还可以将配置输出后由 GRUB4DOS 或 BOOTMGR 加载启动。
...............................