先让我们看一下windows7的启动过程的常识:电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录,也叫dbr),PBR再搜寻分区内的启动管理器文件BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。BOOTMGR读取\boot\bcd文件(BCD=BootConfigurationData,也就是“启动配置数据”,简单地说,Windwows7下的bcd文件就相当于xp下的boot.ini文件)。在我们启动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系统,分区格式化后,既进不了windows7,开机的时候会出现如图的错误提示:

解决的办法就是重写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命令重写。要运行ootrec.exe工具,必须启动WindowsRE。为此,请按照下列步骤操作:

插入windows7安装光盘,从启动电脑完成后,从启动电脑在完成后按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:

bootrec/fixmbr

回车。这样也就重写了mbr。

pbr出现问题,主要是pbr代码被改写,因为硬盘件不同所以出错信息代码被改写。比如WINDOWS7系统的活动分区,却被写入了适合于XP的pbr,这样,这样开机的时候就会出现ntldrismissing

简单的解决办法就是用bootrec/fixboot命令重写pbr:

插入windows7安装光盘,从启动完成后按下shift+f10键,调出cmd命令提示符。在中输入:

bootrec/fixboot

回车。这样也就重建了活动分区的pbr。

这里面还有一个常用的命令也要提下,这就是bootsect:

插入windows7安装光盘,从启动在完成后按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:

bootsect/nt60sys/mbr

回车。这个命令会改写活动分区的pbr,并同时会改写mbr,使得mbr和pbr适合于windows7和vista。

bootsect.exe程序位于windows7安装光盘的boot目录下,可以把这个文件提取出来,而bootrec.exe命令的使用就没这么方便了。所以BOOTSECT命令被应用得更为广泛一些。

Win7 启动修复的更多相关文章

  1. Win7启动修复MBR(Win7+Linux删除Linux后进入grub rescue的情况)

    事因:我的笔记本原先同时安装了Win7+Linux,昨天发现硬盘实在不够用(才60G,虽然还有个500G的移动硬盘),就想把里面的Ubuntu格了.都是用虚拟机做测试的多.后来就格了Ubuntu所在的 ...

  2. Win7启动修复(Ubuntu删除后进入grub rescue的情况)

    起因:装了win7,然后在另一个分区里装了Ubuntu.后来格掉了Ubuntu所在的分区.系统启动后出现命令窗口:grub rescue:_ 正确的解决方式: 1.光驱插入win7安装盘或者用USB启 ...

  3. win7启动出现蓝屏STOP: 0X0000007B

    解决方法:开机进BIOS,更改Interface Combination,即硬盘的接口种类,由默认的RAID改成了AHCI,保存,重启,一切正常. 事件过程: 今天开机进入win7,在start wi ...

  4. WIN7+Ubuntu双系统,win7启动不了

    在网上搜索了下,大多说的是因为重装引起的坏道, 我经过半天的搜索才找到了问题所在,首先看看下面连接的二楼大神给出的解决方案: https://forum.ubuntu.org.cn/viewtopic ...

  5. CentOS 7 添加win7启动项——修改默认启动项

    CentOS 7使用grub2引导启动,在win7之后装完CentOS再启动会丢失win7启动项. 首先,添加win7启动项,步骤如下: 1.使用root登陆系统 2.用文本编辑器打开 /boot/g ...

  6. 用U盘与移动硬盘制作WIN7启动盘(亲自实践)

    昨晚帮一个娃娃用移动硬盘里面的一个分区帮他制作成一个win7系统盘,为了以后万一换系统的时候方便.我自己有一个U盘坐的启动盘,移动硬盘没有倒腾过,看网上N多都是相互抄,制作都是WINPE系统的,相当蛋 ...

  7. win7启动apache-activemq报错及解决办法

    win7启动apache-activemq报错,如下: jvm 1 |jvm 1 | Java Runtime: Oracle Corporation 1.8.0_74 C:\Program File ...

  8. linux内核启动修复

    linux内核启动修复 首先看一下linux内核重要文件grub.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # gru ...

  9. [转载]-win7启动本地MongoDB的四种方式

    2016年04月07日 09:52:34 cherry__cheng 阅读数:19451 标签: win7启动本地MongoDB的四种方式快速启动本地mongodb 更多 个人分类: mongodb& ...

随机推荐

  1. 自学Python5.2-类和对象概念

    自学Python之路 自学Python5.2-类和对象概念 面向对象编程的2个非常重要的概念:类和对象 对象是面向对象编程的核心: 在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出 ...

  2. android-support-v4.jar 免积分下载

    资源名称:android扩展插件 android-support-v4.jar 资源大小:137KB 上传日期:2012-10-08 资源积分:1 下载次数:136 电信下载地址:http://www ...

  3. Luogu 1970 NOIP2013 花匠 (贪心)

    Luogu 1970 NOIP2013 花匠 (贪心) Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使 ...

  4. 【模板】spfa

    代码如下 #include <bits/stdc++.h> using namespace std; const int maxv=1e4+10; const int maxe=5e5+1 ...

  5. 【POJ3349】snowflakes

    这是一道可以练习哈希表的模板题.关于哈希表的操作均有涉及. 哈希函数的选取是这道题的关键.这道题的关键字是一个长度为6的序列,并且序列与开始顺序.时钟顺序均无关. 因此,采用哈希函数\(H[x]=\S ...

  6. centos7 上配置Javaweb---MySQL的安装与配置、乱码解决

    上一篇谢了关于jdk和tomcat的安装.今天先更新一下有用的. 1. 不用关闭防火墙,把80端口添加进防火墙的开放端口. firewall-cmd --zone=public --add-port= ...

  7. instance of

    instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...

  8. 百度echart初用总结

    1.先下载echarts.js.我在百度下载的是 echarts-2.2.7 (from Baidu).压缩包里面的build->dist中的echarts.js或者echarts-all.js ...

  9. SQL Server sp_executesql介绍和使用

    execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如: ...

  10. vue2.0 之表单控件绑定

    表单控件绑定v-model 1.文本 <template> <div> <input type="text" name="" v- ...