qishun's profile躺在角落的孤独者PhotosBlogLists Tools Help

Blog


    November 09

    VistaPE启动原理与数据配置

     

    Windows Vista 启动过程在操作系统的定位和初始化的方式上与 Windows XP 有所不同。启动时首先是由 BIOS 加载可引导磁盘上的主引导记录 (MBR),可引导磁盘由 BIOS 中配置的引导顺序定义。MBR 接下来加载活动分区上的分区引导记录 (PBR)。在此之前的 Windows Vista 的启动过程相对于以前没有变化。
    copyright e5b

    Windows Vista 与 XP 的差别是从 PBR 代码开始的,Windows Vista 的 PBR 代码不再查找 NTLDR。Windows Vista 中新的启动加载器是 BOOTMGR。BOOTMGR 是一个用于加载启动配置数据库 (BCD) 的组件,启动配置数据库接下来将加载操作系统加载器启动应用程序 Winload.exe。最后,Winload.exe 初始化 Windows Vista 内核。

    image

    上图说明了启动过程,可以将这一更改视为对如下两个要素的更改:

    ● 由以前的 Windows 版本中的 NTLDR 执行的两个主要操作现在由两个组件分开执行:

    ○ \Bootmgr:读取启动配置,包括设备和路径位置。
    copyright e5b

    ○ \Windows\System32\Winload.exe:初始化内核。

    ● 由以前的 Windows 版本中的 Boot.ini 存储的启动配置现在存储在一个位于以下位置的、基于注册表的数据库中:

    ○ \Boot\BCD:启动配置数据库 (BCD)

    BCD 是一个由 Bootmgr 使用的数据库,该数据库包含 boot.ini 的函数并位于活动分区【被激活引导的系统C盘】的启动目录\Boot中。Windows Vista 提供了 BCDEDIT.exe 命令行工具来管理 BCD 存储中项目,该工具位于 Windows Vista 分区的 \Windows\System32 目录中。BCD 使得在 Windows Vista 中不再需要 BOOT.INI,不过 BOOT.INI 仍将会出现在双启动系统中以便向后兼容。因为 BCD 首先引导到启动环境而非 NTLDR,所以不会验证 NTLDR 和 BOOT.INI 的位置,除非选中了旧版操作系统。BCD 存储是一个注册表配置单元,在 Windows Vista 中,运行 regedit.exe 时将加载此配置单元,但会在视图中隐藏它。该存储将被加载到以下的注册表位置:HKLM\BCD00000000。也可以通过从 \Boot 文件夹中加载该配置单元,从而在 WinRE 中手动查看该存储。C:\Boot 的目录含有BCD、BCD.LOG、BCD.LOG1、fixfat.exe、fixntfs.exe、memtest.exe文件及zh-CN、en-US、Fonts语言字体文件夹。
    命令行工具 Bcdedit.exe可以对系统活动分区实现更改 Bootmgr 选项,添加启动项目,删除启动项目,编辑项目,导入/导出 BCD 存储,以及在存储严重损坏的情况下创建新的存储。Bcdedit.exe 位于 Windows Vista 分区的 \Windows\System32 目录中,也可以在 WinRE 中从命令提示符访问该工具。如果获取正在运行的系统上的配置单元的副本,请使用以下命令导出一个配置单元文件以进行脱机检查:Bcdedit /export filename。此命令将 BCD 存储导出到当前目录中一个名为“filename”的文件中。但是,不建议按照这种方式直接编辑 BCD 存储,因为这样做会产生意外的结果。

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://caoqishun1984.spaces.live.com/blog/cns!D1C04C5A6FCAAADE!455.trak
    Weblogs that reference this entry
    • None