欢迎来到天天文库
浏览记录
ID:40490230
大小:54.13 KB
页数:6页
时间:2019-08-03
《Win7启动过程及启动项修复详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Win7启动过程及启动项修复先让我们看一下win7的启动过程的常识: 电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录,也叫dbr),PBR再搜寻分区内的启动管理器文件 BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。BOOTMGR读取bootbcd文件(BCD=Boot Configuration Data),也就是“启动配置数据”,简单地说,win7下的bcd文件就相当于xp
2、下的boot.ini文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找WINDOWSsystem32winload.exe,然后通过winload.exe加载win7内核,从而启动整个win7系统。 可以把这个过程简单地概括为: BIOS-->MBR-->DPT-->pbr-->Bootmgr-->bcd-->Winload.exe-->内核加载 -->整个win7系统 本文就来说一说MBR-->DPT--
3、>pbr--> Bootmgr-->bcd这一段可能出现的故障的解决。 1.MBR出现问题 主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各不相同。比如我们装了win7与ubuntu双系 统,ubuntu改写了mbr,在我们把ubuntu所在的分区格式化后,既进不了win7,也进不了ubuntu,开机的时候会出现如图的错误 提示:GRUB Loading stage1.5. GRUB loading, please wait... Error 22解决的办法就是重写mbr。对于重写mbr,我们所熟知的是在dos下用fd
4、isk /mbr命令进行重写。fdisk /mbr所重写的mbr与xp是兼容的,但是,与win7已经不那么兼容了。实践表明:用fdisk /mbr命令重写win7的mbr后,需要重建bcd,否则不能正常启动win7。有网友指出,这里面的原因是fdisk /mbr命令改写了mbr中的硬盘签名。一般的分区工具都是可以重写mbr的,比如diskgenius,它所重写的mbr与win7是兼容的。 也可以用bootrec /fixmbr命令重写。要运行 Bootrec.exe 工具,必须启动 Windows RE。为此,请按照下列步骤操作:插
5、入windows 7安装光盘,从光盘启动电脑,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:bootrec /fixmbr回车。这样也就重写了mbr。2.分区表存在问题 系统盘不是活动的主分区,这种情形只要用分区工具(比如diskgenius)把系统盘设为活动的主分区即可。 pbr出现问题,主要是pbr代码被改写,因为被改写的代码不同,所以出错信息也不相同。比如Win7系统的活动分区,却被写入了适合于XP的 pbr,这样开机的时候就会出现如图的提示:NTLDR is missing Pr
6、ess Ctrl+Alt+Del to restart简单的解决办法就是用bootrec /fixboot命令重写pbr:插入win7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在命令提示符中输入:bootrec /fixboot回车。这样也就重建了活动分区的pbr。 这里面还有一个常用的命令也要提一下,这就是bootsect:插入win7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输 入:bootsect /nt60 sys
7、 /mbr回车。这个命令会改写活动分区的pbr,并同时会改写mbr,使得mbr和pbr适合于win7和vista。 bootsect.exe程序位于win7安装光盘的boot目录下,可以把这个文件提取出来,在xp下的命令行可以运行这个程序,也可以在 winpe下的命令行运行这个程序,因而这个程序在使用时很方便。而bootrec.exe命令的使用就没这么方便了。所以BOOTSECT命令被应用得更为广泛一些。 另外有一个要点需要指出,vista的安装光盘里面的boot文件夹也存在着这个小工具,但vista的bootsect命令没有/mb
8、r参数,因而它只能改写pbr,而不能改写mbr,这是必须要注意的。实践表明:把一个硬盘的mbr清零,然后运行win7的bootsect命令,确实可以发现mbr被恢复正常。这也就表明了win7的bootsect命令的确能够重写mbr。
此文档下载收益归作者所有