windows7系统引导故障的解决修复mbr图文教程 【百科全说】-凯发k8官方旗舰厅

腾讯视频/爱奇艺/优酷/外卖 充值4折起

windows7的启动过程的常识:电脑加电后,首先是启动bios程序,bios自检完毕后,找到硬盘上的主引导记录mbr,mbr读取dpt(分区表),从中找出活动的主分区,然后读取 活动主分区的pbr(分区引导记录,也叫dbr,究竟该叫什么,网络上争论未休,我们姑且叫它pbr吧),pbr再搜寻分区内的启动管理器文件 bootmgr,在bootmgr被找到后,控制权就交给了bootmgr。bootmgr读取ootcd文件(bcd=boot configuration data ,也就是“启动配置数据”,简单地说,windwows7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系 统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动windows7后,bootmgr就会去启动盘寻找 windowssystem32winload.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,开机的时候会出现如图的错误 提示:

[图一]解决的办法就是重写mbr。对于重写mbr,我们所熟知的是在dos下用fdisk /mbr命令进行重写。fdisk /mbr所重写的mbr与xp是兼容的,但是,与windows7已经不那么兼容了。实践表明:用fdisk /mbr命令重写windows7的mbr后,需要重建bcd,否则不能正常启动windows7。有网友指出,这里面的原因是fdisk /mbr命令改写了mbr中的硬盘签名。一般的分区工具都是可以重写mbr的,比如diskgenius,它所重写的mbr与windows7是兼容的。 也可以用bootrec /fixmbr命令重写。要运行 bootrec.exe 工具,必须启动 windows re。为此,请按照下列步骤操作:插入windows 7安装光盘,从光盘启动电脑,在光盘启动完成后,按下shift f10键,调出cmd命令提示符。在cmd命令提示符中输入:bootrec /fixmbr回车。这样也就重写了mbr。


[图二]

分区表存在问题,对于这个问题,限于篇幅,不做详细探讨。系统盘不是活动的主分区,这种情形只要用分区工具(比如diskgenius)把系统盘设为活动的主分区即可。pbr出现问题,主要是pbr代码被改写,因为被改写的代码不同,所以出错信息也不相同。比如windows7系统的活动分区,却被写入了适合于xp的 pbr,这样开机的时候就会出现如图的提示:


[图三]

简单的解决办法就是用bootrec /fixboot命令重写pbr:插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift f10键,调出cmd命令提示符。在命令提示符中输入:bootrec /fixboot回车。这样也就重建了活动分区的pbr。这里面还有一个常用的命令也要提一下,这就是bootsect:插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift f10键,调出cmd命令提示符。在cmd命令提示符中输 入:bootsect /nt60 sys /mbr回车。这个命令会改写活动分区的pbr,并同时会改写mbr,使得mbr和pbr适合于windows7和vista。bootsect.exe程序位于windows7安装光盘的boot目录下,可以把这个文件提取出来,在xp下的命令行可以运行这个程序,也可以在 winpe下的命令行运行这个程序,因而这个程序在使用时很方便。而bootrec.exe命令的使用就没这么方便了。

所以bootsect命令被应用得 更为广泛一些。另外有一个要点需要指出,vista的安装光盘里面的boot文件夹也存在着这个小工具,但vista的bootsect命令没有/mbr参数,因而它只 能改写pbr,而不能改写mbr,这是必须要注意的。实践表明:把一个硬盘的mbr清零,然后运行windows7的bootsect命令,确实可以发现 mbr被恢复正常。这也就表明了windows7的bootsect命令的确能够重写mbr。另外,bootsect命令也可以重写xp的mbr和pbr,而这也是bootrec命令所做不到的。xp的恢复控制台用fixmbr命令改写mbr,用 fixboot命令改写pbr。

如果是引导文件的问题,一般可以用bcdboot命令重新写入引导文件:插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift f10键,调出cmd命令提示符。在命令提示符中输入:bcdboot x:windows /s x:注意,这前一个x:是windows7的windows文件夹所在的盘,一般是c:,如果你的不是c盘,请改为对应的盘符。这后一个x:是活动主分区的盘 符所在,一般也是c盘。所以这个命令一般的写法是:bcdboot c:windows /s c:但需要注意,在windows re环境下所看到的盘符与你在windows7下所看到的盘符未必一样。所以需要首先用dir /a命令确认各盘是否正确。比如:cd /d c:dir /a这两个命令的作用是,首先进入c:盘的根目录,然后显示c盘根目录下的所有文件和文件夹,根据所显示的文件或者文件夹,可以判断这个盘具体是你在 windows7下所看到的哪一个盘。windows7的引导文件主要是bootmgr和boot文件夹里面的文件,而boot文件夹里面的文件主要是bcd文件。bcdboot命令会在指定 的分区内重新写入全部windows7的引导文件。如果只是bcd文件有问题,则可以用bootrec命令重建bcd:插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift f10键,调出cmd命令提示符。在命令提示符中输入:bootrec /rebuildbcd这个命令如果搜到没有写入bcd的windows7或者vista的操作系统,会提示你是否写入,按提示输入y也就会写入了的。或者用bcdedit命令手动改写bcd,但操作要复杂得多。具体案例分析:

案例一:怪事,系统盘不是活动的主分区在网上看到一则求助,windows7系统运行正常,只是在磁盘管理中所看到的则是:系统盘不是活动的主分区。


[图四]

我们在安装了一键还原精灵装机版后,在开机的时候按下f11键可以启动一键还原程序。但我们在格式化系统盘后,在开机的时候仍是可以这样操作的。而所谓的 pbr是高级格式化的时候产生的。这表明了,一键还原精灵的启动代码不是写入了活动分区的pbr(如果是的话,在格式化的时候已经被清除了),而是写入了 mbr。通过在mbr中设定首先读取一键还原精灵的隐藏分区,然后才读取活动的主分区。那么,现在我们所遇到的这种情形是不是也通过改写mbr而指向特定 的分区?假设mbr没有问题,那么问题就可能出在pbr(也就是所谓的dbr),win7的pbr中写入的代码应该是去找bootmgr,但如果这个代码中规定了 要找的是另外的一个特殊的文件,而再通过这个文件去启动另一个分区中的bootmgr,这样就能实现把另一个不是活动的主分区变为系统盘的目的。通过上面的分析,我们可以得到结论:问题不是出在mbr,就是出在pbr,解决的办法就是先试着重建mbr,如果不能解决,那就可以肯定问题出在pbr, 只要重建pbr就能解决问题的。

于是首先重建mbr,问题依旧,然后再重建pbr,问题果然得到解决。

案例二:开机的时候出现:bootmgr is missingpress ctrl alt del to restart.翻译成汉语就是:bootmgr缺失,按ctrl alt del重新启动这是很常见的故障。既然是bootmgr缺失,我们一般只要用bcdboot命令重建引导文件即可。这种情形产生的原因,一般可能有:bootmgr文件确实没有了,这是最为常见的。一种则是由磁盘错误导致的,这种情形下,在winpe下运行一下 chkdsk /f命令也可能解决。有朋友使用 diskeeper 对mft碎片进行整理,开机的时候也出现了这个提示。估计可能是用diskeeper进行的mft磁盘整理后,这或者是diskeeper的一个bug, 因而不建议用diskeeper进行mft碎片整理。一位网友因为好奇。把c盘设成了活动的(active partition )。

是这样设置活动的:对计算机点右键-管理-硬盘管理。右键点c盘,设置为活动的。靠。怎么回事啊。重启后居然无法启动!显示bootmgr is missing,ctrl alt delete to restart。然后还是如此。这是从网上找到的一个案例,分析可以得出结论。他所装的windows7应该存在着一个隐藏的“系统保留”分区,这个隐藏的系统保留分区才是真正的活动主 分区,而他的c盘则应该不是活动的。他把c盘设为活动,这也就意味着取消了“系统保留”分区的活动状态。但引导文件是在“系统保留”分区,而不是在c 盘,c盘变成了活动的主分区,mbr就会启动c盘的pbr,而c盘的pbr又会去c盘找bootmgr,但c盘没有bootmgr,所以出错也就是必然的 了。解决的办法其实只要简单地再把系统保留分区设为活动即可。这位朋友制造了问题,但好象并没能最后解决问题。真所谓会者不难,难者不会。

案例三:开机的时候出现:bootmgr is compressedpress ctrl alt del to restart翻译成汉语就是:bootmgr被压缩,按ctrl alt del重新启动这种情形产生的原因是因为对系统盘进行了压缩。奇怪的是,对于这种情形,我们用bcdboot命令重建引导文件却并不能解决。但是,我们可以运行命令:compact /u /a /f /i /s c:*这样可以使得问题得到解决。compact程序位于windowssystem32文件夹下,所以我们要先用cd命令进入windows system32目录。这里是假设c:盘是bootmgr所在的盘,如果不是,要改为对应的盘符。网上有朋友用这个命令的时候并没有解决问题,原因则在于,这位朋友所运行的命令是:compact /u /a /f /i /s c:没有后面这个*,所以命令并没有实现运行者的目的。从命令本身所提供的帮助说明来看,这个*似乎是没有必要的,但实际操作表明,这个*是必须的。这个命令会把已经压缩的c盘文件完全解压,真所谓解铃还?系铃人。注意,只运行命令:compact /u /a /f /i c:ootmgr并不能解决问题。有网友发现,运行“bootrec.exe /fixmbr、bootrec /fixboot"然后重启,这样可以解决问题。测试表明,其实只需要运行bootrec /fixboot这一个命令即可。这是另类的解决的办法。猜想可能是,对驱动压缩后,pbr中的bpb表并没有随之修改,所以bpb表中所记录的分区信息 与实际的分区信息不一致。运行bootrec /fixboot命令后重写了bpb,这样就使得二者变为了一致。实践表明:用bootsect命令也能实现对这个问题的解决。有网友发贴,说是装了xp与vista双系统,启动vista系统出现了bootmgr is compressed ,于是他在xp下取消了系统盘的压缩状态。但这位网友的话未必可信,因为如果ntldr也被压缩了的话,则xp启动的时候会出现:ntldr is compressedpress ctrl alt del to restart除非这位朋友只压缩了bootmgr,而没有压缩ntldr,但这一般不太可能。这种压缩一般是对整个盘进行压缩的时候产生的,如果压缩指定文件的话,一 般不会有人去压缩bootmgr和ntldr的。实践表明,在windows7下,即便指定对整个的系统盘进行压缩,一般也不能压缩bootmgr的,会 提示拒绝访问,但是,在开机的时候仍会出现出错提示:bootmgr is compressed

案例四:先装的windows7,后装的linux,在linux系统出问题后,既进不了linux,也进不了windows7,这里面的原因是mbr和活动分区 的pbr被改写。只要重建mbr和活动分区的pbr,也就可以进入windows7了。最简单的办法是用bootsect命令解决:bootsect /nt60 sys /mbr

案例五:先装的windows7,后装的xp,没有了windows7的启动项:

这个需要三步解决问题:

一、用bcdboot命令重建windows7的引导文件。

二、用bootsect命令恢复windows7的mbr和pbr

三、进入windows7后,用bcdedit命令添加xp的启动项

12/15 02:23
windows 7系统如何创建无线网络连接? 打开开始菜单,点击“控制面板”。 点击“网络和internet”。点击“网络和共享中心”。 点击“设置新的连接或网络”。 选择“连接到internet",点击“下一步”。 单击“无线”。 桌面右下角出现搜索到的无线网络,选择要连接的无线网络点击“连接”。 如果无线网络有密码,则输入密码后连接即可。 注:无线网络可以直接点击右下角的无线网络标识进行连接。
12/20 18:38
1,打开开始“控制面板”,点击“系统和安全”。 2,点击“系统和安全”下的“windows防火墙”。 3,点击左侧的“还原默认设置”。 4,点击“还原默认设置”,在弹出的窗口中选择“是”。 5,完成防火墙的还原默认设置。
04/30 22:27
1,进入“开始菜单”点击“控制面板”。 2,点击“程序”。在调整计算机的设置页面点击“程序和功能”; 3,点击“程序和功能”。 4,选择自己要卸载的程序,点击“卸载/更改”。 5,或者右键点击该程序,点击“卸载/更改”。

windows7系统更改用户账户类型的方法(图文教程)

12/18 15:32
1,单击桌面左下角“开始”,在右侧找到“控制面板”。 2,打开“控制面板”,点击“用户账户和家庭安全”。 3,点击“用户账户”选项。 4,单击打开“用户账户”,之后找到“更改账户类型”选项。 5,单击打开“更改账户类型”,这时可以选择“标准用户”,将管理员权限降级为标准用户权限。 6,选中之后单击右下角的“更改账户类型“确定即可。 7,这时候账户“lenovo“经变成修改好的“标准账户”。注意,如果被降级的账户是此计算机唯一一个管理员账户,则不能降低该账户权限。

windows7系统更改用户账户名称的方法(图文教程)

12/12 17:38
1,单击左下角“开始”,点击右边的“控制面板”。 2,点击“用户账户和家庭安全”。 3,点击“用户账户”选项。 4,点击“更改账户名称”。 5,打开“键入一个新账户名”,在中间的白框中,输入要修改的账户名,比如修改为:lenovoa。 6,输入完之后单击右下角的“更改名称”。 7,这时候“用户账户”中的名称已经变为:lenovoa。
12/13 09:15
什么是用户账户? 用户账户是通知 windows您可以访问哪些文件和文件夹,可以对计算机和个人首选项(如桌面背景和屏幕保护程序)进行哪些更改的信息集合。通过用户帐户,您可以在拥有自己的文件和设置的情况下与多个人共享计算机。每个人都可以使用用户名和密码访问其用户帐户。 有三种类型的账户。每种类型为用户提供不同的计算机控制级别: 1,标准帐户适用于日常计算。 2,管理员帐户可以对计算机进行最高级别的控制,但应该只在必要时才使用。 3,来宾帐户主要针对需要临时使用计算机的用户。 1,单击左下角的“开始
12/13 06:36
1,桌面空白处单击鼠标右键,点击“屏幕分辨率”。 2,点击“放大或缩小文本和其他项目”。 3,单击屏幕右侧“设定自定义文本大小”。 4,在下拉列表中可以选择默认提供的放大比例,也可手工输入。 5,如输入“350%”后,会在列表中出现一个新的条目。如下图所示。单击确定即可。 6,点击应用后,会提示是否注销。 7,选择“立即注销”,使设置生效。

windows7系统添加不同时区时钟的方法(图文教程)

12/15 18:57
1,左键点击任务栏右下的时间标示处,点击“更改日期和时间设置”。 2,选择“附加时钟”,勾选“显示此时钟”,之后可以设置时区和显示名称。 3,修改后效果如下。

windows7系统更改日期.时间和数字格式图文教程

12/20 08:41
1、首先点击进入“控制面板”并点击“时钟、语言和区域”。 2、点击“更改时间、日期或数字格式”。 3、选择“格式”选项卡,在日期和时间格式中选择对应的下拉菜单对时间、日期的格式进行修改,修改后的结果可以在下边的示例中看到,若要进行详细的修改可以选择下方的“其它设置”。 4、进入自定义格式进行更详细的修改,例如修改“am”符号为“上午”,“pm符号为下午”。 之后就可以看见在之前格式选项的示例中“am、pm”已经变成了“上午、下午”。 5、对应的日期的详细修改也可以在自定义格式中进行。选择日期选项
网站地图