关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » Windows 7 »windows7系统引导故障的解决修复mbr图文教程

    windows7系统引导故障的解决修复mbr图文教程

    2007-01-01 15:24:25 出处:ITJS
    分享

    Windows 7的启动过程的常识:电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取 活动主分区的PBR(分区引导记录,也叫dbr,究竟该叫什么,网络上争论未休,我们姑且叫它pbr吧),PBR再搜寻分区内的启动管理器文件 BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。BOOTMGR读取ootcd文件(BCD=Boot Configuration Data ,也就是“启动配置数据”,简单地说,windwows7下的bcd文件就相当于xp下的boot.ini文件),假如存在着多个操作系统并且选择操作系 统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动Windows 7后,BOOTMGR就会去启动盘寻找 WINDOWSsystem32winload.exe,然后通过winload.exe加载Windows 7内核,从而启动整个Windows 7系 统。

    可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->内核加载 -->整个Windows 7系统本文就来说一说MBR-->DPT-->pbr--> Bootmgr-->bcd这一段可能出现的故障的解决。mbr出现问题,主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各不相同。比如我们装了Windows 7与ubuntu双系 统,ubuntu改写了mbr,在我们把ubuntu所在的分区格式化后,既进不了Windows 7,也进不了ubuntu,开机的时候会出现如图的错误 提示:

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

    [图三]

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

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

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

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

    案例二:开机的时候出现: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。然后还是如此。这是从网上找到的一个案例,分析可以得出结论。他所装的Windows 7应该存在着一个隐藏的“系统保留”分区,这个隐藏的系统保留分区才是真正的活动主 分区,而他的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的。实践表明,在Windows 7下,即便指定对整个的系统盘进行压缩,一般也不能压缩bootmgr的,会 提示拒绝访问,但是,在开机的时候仍会出现出错提示:bootmgr is compressed

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

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

    这个需要三步解决问题:

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

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

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

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。