天天看点

Windows启动相关知识介绍

如果你的系统丢失了开机启动项或启动菜单,很多网友写了解决方案,如果你使用BCEdi来解决问题,有些概念令人迷糊,这里对一些概念进行简单描述.

  安装过OS后,安装系统会在你的系统盘中写上某种和启动相关的数据,然后你启动PC:

电脑自检.

查找活动主分区(一般情况是C:)并加载它bootmgr(它就是安装系统写到你的磁盘中的).

读取活动分区下的启动配置文件(即C:\BOOT\BCD)或c:\boot.ini.

根据BCD或Boot.ini存储的启动信息列出启动菜单(也就是双系统启动菜单).

选择Windows 7,Bootmgr将控制权交给Windows 7系统目录下的Winload.exe.

选择xp,Bootmgr将控制权交给NTLDR,接着开始读取c:\boot.ini并列出其中配置的启动菜单.

  winxp及以前的windows,它们是BIOS-based systems,boot配置使用Boot.ini文件.

  vista/win7及以后的是基于Extensible Firmware Interface (EFI,自己查这是什么东西)的系统,boot配置参数在nonvolatile RAM (NVRAM).这些OS利用BCD(boot configuration data store)文件存储boot参数,以控制OS的启动.

  BCD提供了通用编程接口可以来操作boot环境,BCD以二进制方式存储,BCDEdit可以访问它.

boot environment application初始化boot过程,显示多OS启动菜单,它通过访问BCD找到本地Windows loader来启动指定的OS.

boot application指一些列同boot相关的应用程序,如Windows Boot Manager, the Windows boot loader, or the Windows resume-from-hibernate application.

boot entry 指一个BCD中的对象,其实是应用程序,主要有以下几个:

Boot Manager 控制启动过程,在多系统中显示启动选项菜单

Windows boot loader 启动指定的vista及以后版本window

Ntldr 启动指定的winxp及以前的os

resume application 用于当计算机睡眠是恢复OS运行

memory diagnostics application 内存诊断

data type/element 对于一个boot entry来说,它有若干项,例如PATH,DEVICE,前者数据类型是一个字符串,后者数据类型是一个设备

firmware boot manager 定位Windows Boot Manager,估计是配置从哪里寻找Windows Boot Manager及如何运行等信息

identifier  globally unique identifier (GUID) 每个entry都有,BCDEdit使用它标识一个entry memory diagnostic application 内存诊断

system BCD store PC中可能存储多个BCD文件,它指定要使用的

well-known identifiers 每个boot entry有一个{GUID}标识符,不过有些是常用的,大家都知道,所以它们还有一个well-known identifier,如 {bootmgr}. , {current} 等等.

  使用BCDEdit /enum all命令可以查看这些信息,详细情况参考微软的文档(BCDEdit Reference).

本文转自jetyi51CTO博客,原文链接: http://blog.51cto.com/jetyi/721806,如需转载请自行联系原作者

继续阅读