Win7 启动修复

简介:

先让我们看一下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命令被应用得更为广泛一些。










本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/4138546.html,如需转载请自行联系原作者


相关文章
|
算法 C# 数据库
【干货】一份10万字免费的C#/.NET/.NET Core面试宝典
C#/.NET/.NET Core相关技术常见面试题汇总,不仅仅为了面试而学习,更多的是查漏补缺、扩充知识面和大家共同学习进步。该知识库主要由自己平时学习实践总结、网上优秀文章资料收集(这一部分会标注来源)和社区小伙伴提供三部分组成。该份基础面试宝典完全免费,发布两年来收获了广大.NET小伙伴的好评,我会持续更新和改进,欢迎关注我的公众号【追逐时光者】第一时间获取最新更新的面试题内容。
621 1
|
存储 Web App开发 人工智能
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
1229 1
|
Android开发 芯片 开发者
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
355 0
【Axure教程】移动端图片管理、上传、分享原型
【Axure教程】移动端图片管理、上传、分享原型
【Axure教程】移动端图片管理、上传、分享原型
|
8月前
|
前端开发 开发工具 开发者
HarmonyOS NEXT实战:加载本地网页资源
本教程介绍如何在HarmonyOS中使用Web组件加载本地页面和资源,通过实战示例展示如何优化应用启动体验、实现页面跳转及动态加载HTML内容,适用于教育和开发学习场景。
276 0
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
4075 7
|
存储 Java 数据库连接
南大通用GBase 8s大对象类型clob和text的比较说明
本文探讨了GBase数据库中用于存储大对象数据的字段类型,包括TEXT、CLOB、BYTE和BLOB,分析了它们的特点、适用场景及在实际应用中的最佳实践。重点介绍了不同数据大小对应的字段类型选择,以及在数据库工具和程序中操作这些类型的方法,强调了合理选择字段类型对提升数据库性能的重要性。
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课4 计算节点 Switchover
本文介绍了如何在PolarDB RAC一写多读集群中进行计算节点的Switchover操作。实验环境依赖于Docker容器中的loop设备模拟共享存储,确保Primary节点停止写入后,再将Replica节点提升为Primary节点,避免多节点同时写入导致的数据异常。文中详细描述了Switchover的具体步骤、常见问题及解决方案,并提供了相关配置和命令示例。通过这些步骤,可以顺利完成节点角色的切换,确保集群的高可用性和数据一致性。
241 0
|
数据采集 监控 JavaScript
工厂生产管理系统MES十大核心功能模块
MES提供了对生产现场的实时可视化,帮助企业管理生产计划、物料追踪、工艺控制、产品质量和生产设备等方面的工作。
766 11
|
SQL 分布式计算 资源调度
常用大数据组件的Web端口号总结
这是关于常用大数据组件Web端口号的总结。通过虚拟机名+端口号可访问各组件服务:Hadoop HDFS的9870,YARN的ResourceManager的8088和JobHistoryServer的19888,Zeppelin的8000,HBase的10610,Hive的10002。ZooKeeper的端口包括客户端连接的2181,服务器间通信的2888以及选举通信的3888。
629 2
常用大数据组件的Web端口号总结