详解Win7启动过程 BCD启动设置数据介绍
- 格式:doc
- 大小:48.00 KB
- 文档页数:6
Windows系统引导过程以及多系统引导原理系统启动的两种引导方式计算机系统引导方式主要有两种:一种是传统的BIOS模式,另一种是新型UEFI(全称统一的可扩展固件接口)模式。
UEFI启动也可以看作是Bios的升级版。
不同模式对应不同的磁盘分区类型,BIOS只可以识别MBR分区;而UEFI可同时识别MBR分区和GPT分区,所以在UEFI下可以启动不同磁盘类型中的操作系统。
BIOS芯片•BIOS+MBR引导过程BIOS引导过程:开机自检>BIOS>MBR(主引导记录)–>DPT(磁盘分区表)>PBR(分区引导记录)> Bootmgr(引导管理器)/NTLDR>BCD(从vista开始的引导配置数据)/boot.ini(XP 引导配置文件)>Winload.exe>内核加载 >windows vista+/windows xp1.开机自检,BIOS先要对CPU初始化,然后跳转到BIOS启动处进行POST自检,(此过程如有严重错误,则电脑会用不同的报警声音提醒),接下来采用读中断的方式加载各种硬件,完成硬件的初始化。
2.读入MBR(主引导记录),MBR主要功能是在分区表(DPT)中寻找可引导的活动分区(也叫激活主分区),并找到该分区的引导扇区(分区的第一个扇区)中的分区引导记录(PBR),载入PBR中的启动管理器(bootmgr.exe或NTLDR)。
注意:MBR磁盘分区格式下,一个磁盘只允许有一个分区是活动的,因此启动文件(bootmgr、BCD)必须存放在活动的主分区内,这样才能找到系统载入程序。
3.启动管理器读取该分区boot文件夹里的启动配置文本BCD(或根目录下boot.ini),然后根据启动设置文件定位并加载二级引导载入程序winload.exe来加载OS内核。
如果有多个系统,启动配置文件就会有多个启动项,相应的bootmgr也会提供选择菜单,然后则根据用户选择来决定加载哪个系统的Winload(多系统引导选择)。
BCDEdit命令详解BCD简介启动配置数据Boot Configuration Data (BCD) 文件提供了一个用于描述启动应用程序和启动应用程序设置的存储。
该存储中的对象和元素可有效地替换 Boot.ini。
BCDEdit 是一个管理 BCD 存储的命令行工具,是编辑 Windows Vista 和更新版本的 Windows 的启动配置的主要工具。
该工具与 Windows Vista 分发一起包含在%WINDIR%\System32 文件夹中。
它有多种功能,包括创建新存储、修改现有存储以及添加启动菜单选项等。
BCDEdit 与以前Windows 版本上的Bootcfg.exe 的本质功能相同,但它有两个主要改进:• BCDEdit 比 Bootcfg.exe 可提供更广范围的启动选项。
• BCDEdit 具有改进的脚本支持。
注意:需要管理员权限才能使用 BCDEdit 修改 BCD。
否则,会提示“无法打开启动配置数据存储。
拒绝访问。
”一个典型的BCD 存储的内部层次结构(Figure from Boot Configuration Data in Windows Vista )boot.ini 和BCD 之间的关系Bcdedit 命令行选项(命令)详解BCDEdit 命令的格式:BCDEdit /命令 [参数1] [参数2] ...查看帮助:bcdedit /?——显示BCDEdit 命令列表,及可用的摘要。
bcdedit /? 命令——显示特定命令的详细帮助。
例如,要显示 export 命令的详细帮助,可输入:bcdedit /? Export ,其结果如下:BCD文件中的内容如下:一、在存储(文件)上操作的BCDEdit选项(命令,因其前面带有/,故也叫选项)二、在存储的项上操作的BCDEdit选项(命令)三、在项中选项上操作的BCDEdit选项(命令)C:\Users\teacher>bcdedit /? FORMATS以下选项描述了与 /set 命令共同使用的 <datatypes> 所必需的数据格式。
一、BCD简介BCD(boot configuration data)即启动配置数据存储, 包含了启动配置参数并控制操作系统启动的方式。
这些参数以前在 Boot.ini 文件中(在基于 BIOS 的操作系统中)或在稳定 RAM 项中(在基于可扩展固件接口的操作系统中)。
Bcdedit.exe是微软提供的用于修改启动配置数据存储的命令行工具。
可以使用Bcdedit.exe 在启动配置数据存储中添加、删除、编辑和附加项。
二、BCD的基本操作:对存储即BCD可执行的操作:/createstore 新建空的启动配置数据存储./export 将系统存储的内容导出到文件。
以后可以使用该文件还原系统存储的状态。
/import 使用 /export 命令创建的备份文件来还原系统存储的状态。
如:Bcdedit /createstore d:\newstroeBcdedit /export d:\bcdbake 备份当前存储Bcdedit /import d:\bcdbake 还原系统存储的状态三、BCD中项的操作1、BCD项的介绍BCD由不同的项组成(项又有多个选项,对启动配置的修改是通过设置或修改项选项的值来完成的)。
在Bcdedit 命令中,项需要用标识符来表示。
标识符唯一标识BCD中包含的项。
标识符采取全局唯一标识符或 GUID。
GUID 具有以下格式,其中 "x" 代表十六进制数。
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}例如:{d2b69192-8f14-11da-a31f-ea816ab185e9}破折号(-)的位置以及 GUID 开头和结尾的括号是必需的。
通过bcdedit /enum /v命令可以查看各个项以GUID格式表示的标识符。
另外,BCD提供了几个已知标识符,使用已知标识符可以使操作更加方便。
BCD中的已知标识符包括:{bootmgr} 指定 Windows 启动管理器项。
win7多重启动菜单简介一:非软破解版本win7(非grldr引导破解)下载grub4dos,复制grldr、grub.mbr到C盘在C盘建立boot.ini内容:[boot loader][operating systems]c:\grldr.mbr="whatever"这个时候你可以用grub4dos强大的功能启动windows、linux等系统了。
注意:如果menu.lst建立到C下,又安装有linux(grub引导-menu.lst),启动linux需要定位到linux 盘,可以用find --set-root /boot/grub/menu.lst && chainloader /boot/grub/menu.lstfind --set-root /boot/grub/grub.cfg && chainloader /boot/grub/grub.cfg __(ubuntu9.10后以grub2启动)如果没有在C盘见了menu.lst 可以不用定位到linux启动而直接由grldr直接搜索(Ubuntu9.10后的例外)二:软解win7版本需要用easybcd、VistaBootPRO这样的工具修改BCD启动菜单(当然也可以用BCDedit咯)注意:对于软解grldr于grub4dos冲突问题网上有解决方法,作者阿非。
原题:《Win7激活工具,避免了grldr冲突》这样就可以利用方法一,或者直接引导grub4dos了!教程可以参考:Windows 7、Vista、XP多系统启动利器EasyBCD v2.0下载及使用教程提到关于Windows 7/Windows Vista/windows XP双系统启动菜单的维护问题,一般问题都可以采用手动修复,但是如果采用软件修复,是不是更高效一点呢,本文就专题说明一下EasyBCD 的使用方法。
一、EasyBCD_v2.0下载目前EasyBCD版本为EasyBCD_2.0英文版的。
详解Win7系统下一些开机启动配置文件在我们使用的电脑Win7系统当中,拥有很多的一些系统开机启动配置文件,而我们经常会关注MSCONFIG下的开机启动,而没有去关注本身Win7中自带的一些开机启动文件,如果有人在其中做了一些手脚在上面,我们是很难发现的。
所以今天小编就来给大家讲解下一些系统自带的启动配下面我们就来详细的列举下一些Wi n7系统下开机启动的配置文件。
一、“开始”菜单中的“启动”选项这个系统下开始菜单中的启动选项位置存在磁盘中的“C:\Docume nts andSet tings\Admin i s trat or\“开始”菜单\程序\启动”和注册表中的“HKEY_CU RREN T_USER\Softwa re \Micro s o ft\Windows\Curren tV ersi on\Run”。
一些恶意隐蔽的启动程序往往就会放在这里,所以我们平时要注意看下这个位置有无可疑的启动程序存在。
二、众多周知的“M sconfi g”系统配置实用程序在“Msconfi g”系统配置实用程序中包括:system.ini、win.ini、启动项目等。
这三个配置文件里也是很多自启动程序入驻的地方。
1、System.ini首先,在“运行”对话框中输入“msconfi g”启动系统配置实用程序,找到syst em.ini标签,里面的“shell=……”就可以用来加载特殊的程序。
如果你的sh ell=后面不是默认的exp l orer.exe,或者说后面还有一个程序的名字,那你可要小心了,请仔细检查相应的程序是否安全!2、Win.ini如果我们想加载一个程序:1.exe,这时我们就可以通过加载“Win.ini”来实现。
最近由于工作测试需要,在一台电脑上安装了多操作系统(XP,2000,2003,VISTA,WIN7),但是发现window7只会显示“之前版本的系统”等启动选项,需要修改以方便进入需要的系统。
但是发现win7下无法像XP下直接修改C:/boot.ini即可,需要在管理员权限下使用bcdedit 命令操作。
记录如下:Bcdedit目录Bcdedit简介BCDEdit 使用前注意使用BCDEdit修改启动菜单选项更改系统名称Bcdedit简介在NT60系列操作系统(Windows 7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootloader,后者无须再使用boot.ini文件。
也就是说,使用BCDEdit这个工具,能够修改NT60 系列系统的启动菜单在之前基于NT50系列(Windows XP/2000/2003)的Windows系统中,Windows使用Ntldr 作为Boot Loader来启动系统,但在新的NT60系列系统中,微软引入了一种全新的boot loader架构,Windows Boot Manager (Bootmgr.exe)。
与Ntldr严重地依赖于硬件不同的是,NT60中的新架构可以实现完整的硬件独立性,且能够与多种操作系统无缝结合,让NT60的启动/引导过程更加快速与安全。
同时,将之前Windows 系统中由Boot.ini管理的内容移交给新的Boot Configuration Data (BCD : 启动设置数据),当然,也提供了新的启动选项编辑工具,BCDEdit (BCDEdit.exe),来管理启动设置。
——所谓boot loader,在指在内核运行之前执行的一段小程序,系统通过它来初始化硬件设备、建立内存空间的映射图等,将系统的软硬件环境设置成一个合适的状态,为最终调用操作系统内核准备好正确的环境。
——在启动过程中,Ntldr 使用Boot.ini 文件来确定在启动/引导过程中要显示哪些操作系统选项,我们对启动选项的设置可以通过修改boot.ini文件中相应内容实现。
Win7下双系统修改BCD启动项名称2010年08月06日星期五下午 10:32使用了启动项修复后,可能有些名称操作系统显示名称不正确,例如“早期的Windows "在 Windows 7 中,微软引入了一种全新的 boot loader 架构, Windows Boot Manager (Bootmgr.exe)。
再像之前 Windows XP 中那样通过一个简单的文本编辑器来修改 Boot.ini 的方式来管理启动选项已经不行了,要对启动设置进行修改,只能使用命令格式相对复杂的BCDEdit 启动选项编辑工具 (BCDEdit.exe)。
下面详细介绍操作方法。
启动 Windows 7 系统,点击“开始” -> “所有程序” -> “附件”,右击“命令提示符” -> “以管理员身份运行”,打开“命令提示符”窗口,并转到“*:\Windows\System32”目录下。
(*为系统盘符)使用 BCDEdit 修改启动选项的常用命令格式:修改启动菜单的操作系统名称bcdedit /set {legacy} description "Windows XP Professional SP3"修改上一代操作系统在启动菜单中的显示内容,注意,命令中的引号(英文符号)不可省略。
bcdedit /set {current} description "Windows 7 旗舰版"修改当前启动硬盘/分区上的操作系统在启动菜单中的显示内容。
当然,命令中的引号也不可省略。
修改默认启动的操作系统bcdedit /default {current}将当前启动硬盘/分区中的操作系统设置为默认启动的系统。
bcdedit /default {legacy}设置上一代 Windows 系统 Windows XP 为默认启动的系统;修改启动菜单的显示时间bcdedit /timeout 10将默认的启动菜单显示时间30秒更改为10秒,当然,您可以将这个时间修改为任何您希望的数值。
系统安装方法注意安装前要将C盘中需要保存的文件移到其它分区。
一、用安装版全新安装WIN71、C分区容量要在10GB以上,文件系统格式为NTFS,(推荐40-50GB)。
2、设置光驱启动3、出现安装确认的窗口,选择“现在安装()”4、“获取安装的重要更新”,选“不获取最新安装更新”,选“32位版本”。
5、确认接受许可条款,点“我接受许可条款”然后点“下一步”6、选择安装类型,选第2个“自定义(高级)”。
7、选择安装到哪个分区,一般选磁盘0分区1,即C盘,点击高级,格式化C盘,点击“下一步”(注意:一定要格式后再继续往下安装)。
8、开始安装win7了,这个过程很慢,在致是,“复制windows 文件”,“展开windows 文件”,“安装功能”,“安装更新”,“安装完成”。
9、重启数次进设置界面,设置用户名计算机名,下一步。
10、设置密码,不设的直接点击下一步。
11、输入密钥,点击下一步。
也可以直接取消勾选“联机自动激活”,然后点下一步,再点“否” 个人选择,以后提醒我。
然后点击下一步。
12、选择“帮助自动保护计算机,以及提高Windows性能”,选择“推荐设置”。
13、设置时区和时间、日期,下一步。
14、选择计算机当前位置,下面有家庭网络、工作网络、公用网络,里面都有说明,你可根据自己的情况选择,一般选家庭网络。
15、激活装好的系统。
16、调好分辨率,装好驱动,调出桌面图标和AERO效果。
二、用Ghost WIN 7克隆盘安装优点是速度快,省时,驱动比较全缺点也不少,系统不是原版,修改后多少有点小问题,驱动可能不匹配,还加广告,插件什么的进去,甚至病毒木马都有可能。
雨林木风,深度技术的比较好。
优点是速度快,省时,电脑公司GHO兼容性很高,不比原版XP差,缺点也不少,系统不是原版修改后多少有点小问题,一般集成不少软件,还加广告插件什么的进去,甚至木马都有可能1、设置光驱启动。
2、将光盘放入光驱,重启。
Windows7双系统的启动设置关于Windows7双系统的启动设置关于Windows7双系统的启动设置虽说很多朋友已经安装了Windows 7,可是又不想放弃原来的系统,安装双系统就成为不少人的选择。
不过有一个麻烦,那就是系统启动顺序的问题,Windows 7安装成功后就把自己设置为默认启动。
那么要把以前的Windows版本设置为启动默认项,该怎么修改呢?方法如下。
启动电脑进入Windows 7后,用鼠标右键单击“计算机图标,在弹出的快捷菜单中选择“属性,进入到“系统选项,再点左侧的“高级系统设置,弹出“系统属性对话框,然后点“高级选项卡,在“启动和故障恢复组中点“设置,弹出“启动和故障恢复对话框,点“系统启动选项卡的“默认操作系统项的下拉列表,出现两个启动项——“早期版本的Windows和“Windows 7,我选择“早期版本的Windows。
此外,默认显示“Windows启动管理器的时间是30秒,如果觉得太长,勾选“在需要时显示恢复选项的时间,把时间改为5秒。
点击“确定回到“系统属性对话框,再点“确定,点右上角的关闭按钮,退出设置。
完成后重新启动,默认的选项就是早期版本的Windows了。
提示:系统启动顺序在早期版本的Windows当中设置是无效的,必须登录Windows 7,在Windows 7中进行修改。
Win7系统必须开启的十大服务1.杀毒软件服务2.DNS Client官方解释:DNS 客户端服务(dnscache)缓存域名系统(DNS)名称并注册该计算机的完整计算机名称。
如果该服务被停止,将继续解析DNS 名称。
然而,将不缓存DNS 名称的查询结果,且不注册计算机名称。
如果你停止了此服务,你的电脑将不能解释DNS信息,不能用域名登录网站。
work Connections官方解释:管理“网络和拨号连接文件夹中对象,在其中您可以查看局域网和远程连接。
如果你停止了此服务,不能配置网路,不能创建网络链接,不能上网了。
BCDBOOT命令参数介绍BCDboot 命令⾏选项更新时间: 2013年10⽉应⽤到: Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2BCDboot 是⽤于管理系统分区⽂件的命令⾏⼯具。
可以在以下⽅案中使⽤此⼯具:部署新电脑时设置系统分区上的启动⽂件。
有关详细信息,请参阅。
设置 Windows® 以启动到虚拟硬盘 (VHD) ⽂件。
有关说明,请参阅。
修复系统分区。
如果系统分区已损坏,你可以通过使⽤ Windows 分区中的上述⽂件的新副本来使⽤ BCDboot 重新创建系统分区⽂件。
设置或修复双启动电脑上的启动菜单。
如果你已在电脑上安装了多个 Windows 的副本,则可以使⽤ BCDboot 添加或修复启动菜单。
⽂件位置BCDboot.exe ⽂件包含在以下的每个位置中:在 Windows PE 3.x 和 Windows PE 4.x:%WINDIR%\System32%WINDIR%\System32在 Windows(R) 8、Windows(R) 7、Windows Server® 2012 和Windows Server® 2008 R2:在 Windows 评估和部署⼯具包 (Windows ADK):C:\Program Files (x86)\Windows Kits\8.1\Assessment and DeploymentKit\Deployment Tools\amd64\BCDBoot⽀持的操作系统BCDboot 可以从 Windows 8.1、Windows 8、Windows 7、Windows Vista®、Windows Server 2012 R2、Windows Server® 2012、Windows Server® 2008 R2 或 Windows Server® 2008 的映像中复制启动环境⽂件。
win7引导修复Windows7 引导修复一、Windows7引导概述(一)术语说明Bootmgr(Windows Boot Manager):Windows启动管理器BCD(Boot Configuration Data):启动配置数据存储(二)双分区Windows7与单分区Windows71、双分区Windows7:Win7安装后默认占用两个主分区,一个C盘(windows文件夹所在的盘,硬盘的第一个分区,不是活动的)和一个隐藏分区(引导文件所在的盘,硬盘的第二个分区,真正的活动分区)。
2、单分区Windows7:可以将Win7默认安装出的两个分区合二为一,合并方法是:①将两个分区的文件合并到C盘(即硬盘第一个分区);②将C盘设为活动分区;③执行"bootsect /nt60 c:"给C盘写入兼容bootmgr的引导代码;④用Windows7的安装光盘启动计算机,进入光盘后选择“修复计算机”,光盘中的“系统恢复选项”就开始工作了,稍等提示完成,重启OK。
(三)Windows7的引导过程1、BIOS按设置的存储介质次序轮询到硬盘后,首先寻找硬盘的MBR(主引导记录)和DPT(分区表),然后根据MBR和DPT中的信息寻找系统分区。
2、硬盘MBR中有两个重要信息(引导代码):一个是“目标分区”,一个是“系统类型”。
带/MBR参数的bootsect能向MBR中同时写入“活动标记”和“系统类型”。
3、DPT就像是一副地图,MBR中的“目标分区”就像是目的地地名,一般的分区工具都将这个地名写成“活动分区”,但有些软件会对地名进行特殊改写,比如一键还原精灵就将地名改写为自己的“备份/恢复分区”,而这个“备份/恢复分区”并不是活动的。
4、活动分区的PBR(分区引导记录,也叫OBR或DBR)中也有一个重要信息(引导代码),即“引导文件名称”。
对于WinXP,“引导文件名称”是“ntldr”。
电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,
然后读取活动主分区的PBR(分区引导记录,也叫pbr),PBR再搜寻分区内的启动管理器文件bootmgr,在bootmgr被找到后,控制权就交给
了bootmgr。
bootmgr读取\boot\bcd文件(BCD=Boot Configuration Data
,也就是“启动配置数据”,简单地说,windows7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。
在我们选择启动Windows 7后,bootmgr 就会去启动盘寻找WINDOWS\system32\winload.exe,然后通过winload.exe加载windows7内核,
从而启动整个windows7系统。
可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr-->
Bootmgr-->bcd-->Winload.exe-->内核加载-->整个windows7系统。
windows7引导故障的解决 mbr修复时间:2010-09-27 20:23来源:网络收集点击:242次收藏本文我要评论先让我们看一下windows7的启动过程的常识:电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录,也叫dbr,究竟该叫什么,网络上争论未休,我们姑且叫它pbr吧),PBR再搜寻分区内的启动管理器文件 BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。
BOOTMGR读取\boot\bcd文件(BCD=Boot Configuration Data ,也就是“启动配置数据”,简单地说,windwows7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。
在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找 WINDOWS\system32\winload.exe,然后通过winload.exe加载windows7内核,从而启动整个windows7系统。
可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->内核加载 -->整个windows7系统本文就来说一说MBR-->DPT-->pbr--> Bootmgr-->bcd这一段可能出现的故障的解决。
mbr出现问题,主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各不相同。
比如我们装了windows7与ubuntu双系统,ubuntu改写了mbr,在我们把ubuntu所在的分区格式化后,既进不了windows7,也进不了ubuntu,开机的时候会出现如图的错误提示:windows7引导故障的解决 mbr修复(2)时间:2010-09-27 20:23来源:网络收集点击:243次收藏本文我要评论解决的办法就是重写mbr。
设置从光驱启动Windows 7系统
方法/步骤
1、将Windows 7系统安装光盘放入光驱,开机后按Delete键,进入BIOS设置界面,如图1所示。
2、使用键盘上的方向键选择Boot选项卡,此时显示Boot选项卡中的各项设置,如图2所示。
3、各参数保持默认选项,按Enter键确认,进入BIOS程序启动设置界面,如图3所示。
4、按Enter键确认,win7系统下载弹出Options对话框,使用方向键上下移动选择CDROM 选项,如图4所示。
5、按Enter键确认,并返回到启动设置界面,此时第1启动项为光驱启动,如图5所示。
6、按F10键,保存并退出BIOS,此时会弹出提示信息框。
移动方向键,选择OK选项,如图6所示。
按Enter键确认,此时计算机会自动重新启动win7,从光盘启动设置完成。
Windows(多)操作系统启动过程一.WinPE启动原理移动硬盘PE启动原理WinPE文件组成:引导文件:NTLDR和系统文件:WinNT.XPE(WinPE.XPE)和WinPE.IS_(或WinPE.IM_),有些WinPE没有内置中文支持,所以还要WNPEFONT.BIN来支持中文。
外置程序:WinPE.INI(也可以是其它文件名,如PESOFT.INI等)和OP.WIM加载系统文件:1.NTLDR和做相关引导工作2.WinNT.XPE引向MiniPE\WinPE.IS_(=WinPE.ISO=WXPX) \SYSTEM32\加载外置程序:3.PECMD.INI(位于”WXPE\SYSTEM32”目录下)引向MiniPE\WinPE.INI4.WinPE.INI指向MiniPE\OP.WIM并为外置程序分配盘符B:然后把相关程序装入B盘注意:以上路径和文件名可按自己的习惯更改。
以上是老毛桃WinPE启动原理,但一般WinXP盘中带的WinPE没有OP.WIM文件,原因在于它已经把OP.WIM中程序解压出来了(更应该说是老毛桃把外置程序压缩到了OP.WIM中)。
制作一个简单WinPE启动盘:从网上下载一个WinXP操作系统(如电脑公司,番茄花园,雨林木风)或WinPE 系统(如老毛桃WinPE,深山红叶WinPE)后解压到移动硬盘(如H:)根目录下,在H盘中找到和SETUPLDR.BIN两个文件(这两个文件一般在AXPE文件中)后复制到H盘根目录下并将重命名为NTLDR(无后缀名),再将H盘设置为活动分区,然后重启电脑从硬盘启动就会进入WinPE,硬盘PE启动原理WinPE文件组成:Avldr, Peldr, WinPE.XPE, WNPEFONT.BIN, AXPE目录(有WINPE.IM_,SETUPLDR.BIN,NTDETECT. COM)这些文件在不同WinPE中命名有可能不同。
详解Win7启动过程 BCD启动设置数据介绍详解Win7启动过程 BCD启动设置数据介绍Windows7操作系统启动过程详解,一般顺序为:BIOS→MBR→Bootmgr→BCD→Winload.exe→内核加载1)开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内);2)MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区(Bootmgr)到内存;3)Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映在屏幕上,由用户选择从哪个启动项启动。
4)选择从Windows7启动后,会加载C:\windows\system32\winload.exe,并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。
在这个过程中,bootmgr和BCD存放在Windows7的保留分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。
MBR(Master Boot Record),中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。
第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。
他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。
但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取BCD=Boot Configuration Data (启动设置数据) ,BCD是操作系统中的启动设置数据,在有vista或windows7的多重操作系统中,系统通bootmgr程序导入BCD文件完成启动菜单的引导。
可用bcdedit.exe程序来编辑BCD文件,来调整开机默认操作系统和等待时间附bcdedit使用教程bcdedit.exe是vista系统自带的一个命令行工具,用来定制windows boot manager,它位于v:\windows\system32目录下。
bcdedit.exe的功能强大,参数非常多,VistaBootPro和Easybcd这类工具就是图形化的bcdedit,它们实现的功能bcdedit都可以实现。
在一些情况下,上述工具无法达到目的,而bcdedit.exe却能够得心应手。
因此有必要对bcdedit.exe这个系统自带的命令行工具进行了解。
bcdedit.exe的参数非常多,帮助文档有很复杂,很多人因此对它弃而不用。
但实际上大部分人只需掌握它的很少几个用法即可。
下面我用一个实例来讲解bcdedit.exe的常用功能。
一个秘密:bcdedit不但能对系统bcd(boot configuration data)进行操作,它也能对文件bcd进行操作。
作为新手,你不应该去贸然改动你的系统bcd(这很可能导致你丢失引导菜单甚至再无法启动计算机)。
因此,下面的实例中我只对一个文件bcd进行操作,全部完成后再将该文件bcd导入到系统bcd中。
对文件bcd和系统bcd的操作方法是完全一致的(实际上系统bcd也是一个文件,大家用bcdedit查看c:\boot\bcd的内容就知道了)操作环境:C盘装xp,D盘装vista,之后c盘的xp又被重装,因此原启动菜单丢失,现在开机只能进xp了。
为了方便,我将v:\windows\system32\bcdedit.exe复制到了c:\下,cmd窗口改变当前路径到c:\。
预料的bcd信息应该是这样的Windows Boot Manager--------------------Identifier: {bootmgr} //这个不是菜单,而是主入口,一个BCD有且只有一个{bootmgr}Type: 10100002Device: partition=C: //这个说明BOOT MANAGER的BCD信息在C盘?Description: Wolf Boot ManagerDisplay order: {ntldr} //菜单项排列顺序,第一个菜单项{882e394a-f543-11db-8ee8-00105ccdeb8f} //第二个菜单项Windows Legacy OS Loader------------------------Identifier: {ntldr} //XP它用NTLDR这个程序进行引导Type: 10300006Device: partition=C: //XP在C盘Path: \ntldr //引导程序是\ntldrDescription: Wolf XP //该菜单显示的文字Windows Boot Loader-------------------Identifier: {882e394a-f543-11db-8ee8-00105ccdeb8f} //这串数字是计算机生成的,是唯一的Type: 10200003Device: partition=D: //VISTA在D盘Path: \windows\system32\winload.exe //VISTA引导程序是\windows\system32\winload.exe Description: Wolf Vista //该菜单显示的文字Windows device: partition=D:Windows root: \windows简单讲解,上面只有3个入口(Entry),每个入口又有细分,最关键的是Identifier,很多人看不明白在BCD中,每个入口的唯一标识就是这个Identifier(简称Id)。
上面有个三个Id:{bootmgr}{ntldr}{882e394a-f543-11db-8ee8-00105ccdeb8f}我们要修改已经生成的入口,必须指定其Id。
修改都是针对具体的Id进行的,后面我们会看到为什么上面3个Id中,前两个不像最后一个也由一大串数字组成呢?这也是新手最容易误解的原因。
我只能告诉你{bootmgr}和{ntldr}其实是保留的Id,其中{bootmgr}是一个合理的BCD中必须有的ID,{ntldr}这个ID则用来存放XP这一类的老系统的引导菜单信息。
下面我们一步一步来生成上面的bcd信息由于我们还没有一个文件bcd,因此我们先创建一个,命令如下bcdedit /createstore bcdwolf该命令创建一个空的bcd文件c:\bcdwolf;有了这个空bcd文件,我们就对它进行操作C:\>bcdedit /store c:\bcdwolf /create {ntldr} /d "Wolf XP"说明:如果在bcdedit后面不加这个store参数,则是对系统bcd进行操作;加了则是对指定的文件bcd 进行操作。
上述命令在c:\bcdwolf文件的BCD信息中创建菜单Wolf XP/store参数指对c:\bcdwolf进行操作,而不是对系统bcd/create参数指创建一个新菜单{ntldr}是固定ID,凡在vista之前的操作系统菜单都用这个Id,如果你需要创建一个能引导XP的菜单项,就一定请用这个ID,不能指定为其他的或者像VISTA菜单那样让计算机为你生成随机ID/d参数是指定该菜单显示的文字C:\>bcdedit /store c:\bcdwolf /create /d "Wolf Vista" /application osloaderThe entry {882e394a-f543-11db-8ee8-00105ccdeb8f} was successfully created.创建菜单Wolf Vista由于是vista系统的菜单,参数改变为/application osloaderVista和Vista之前的系统,菜单创建方式是不同的C:\>bcdedit /store c:\bcdwolf /create {bootmgr} /d "Wolf Boot Manager"The entry {bootmgr} was successfully created.创建{bootmgr}入口,这个是主入口,不是菜单,建立的所有菜单都在这个入口中管理C:\>bcdedit /store c:\bcdwolf /enum all显示我们创建的c:\bcdwolf的内容Windows Boot Manager--------------------Identifier: {bootmgr}Type: 10100002Description: Wolf Boot ManagerWindows Boot Loader-------------------Identifier: {882e394a-f543-11db-8ee8-00105ccdeb8f}Type: 10200003Description: Wolf VistaWindows Legacy OS Loader------------------------Identifier: {ntldr}Type: 10300006Description: Wolf XP设置{bootmgr}入口的device值C:\>bcdedit /store c:\bcdwolf /set {bootmgr} device partition=c:操作成功完成。
设置{ntldr}入口的device值,这里实际是xp所在分区,它在c盘C:\>bcdedit /store c:\bcdwolf /set {ntldr} device partition=c:操作成功完成。
设置{ntldr}入口的path值,这里指定引导程序所在路径,xp是在c:\ntldrC:\>bcdedit /store c:\bcdwolf /set {ntldr} path \ntldr操作成功完成。
设置{882e394a-f543-11db-8ee8-00105ccdeb8f}入口的device值说明:{882e394a-f543-11db-8ee8-00105ccdeb8f}是菜单“Wolf Vista”的全局Id,这个Id是自动生成的,vista在d盘C:\>bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} device partition=d:操作成功完成。