Win7启动过程及启动项修复详解

上传人:ba****u 文档编号:174119014 上传时间:2022-12-14 格式:DOCX 页数:6 大小:59.99KB
收藏 版权申诉 举报 下载
Win7启动过程及启动项修复详解_第1页
第1页 / 共6页
Win7启动过程及启动项修复详解_第2页
第2页 / 共6页
Win7启动过程及启动项修复详解_第3页
第3页 / 共6页
资源描述:

《Win7启动过程及启动项修复详解》由会员分享,可在线阅读,更多相关《Win7启动过程及启动项修复详解(6页珍藏版)》请在装配图网上搜索。

1、Win7 启动过程及启动项修复 先让我们看一下win7的启动过程的常识:电脑加电后,首先是启动BIOS程 序,BIOS自检完毕后,找到硬盘上的主引导记录MBR, MBR读取DPT(分区 表),从中找出活动的主分区,然后读取活动主分区的PBR (分区引导记录, 也叫dbr),PBR再搜寻分区内的启动管理器文件BOOTMGR,在BOOTMGR 被找到后,控制权就交给了 BOOTMGR。BOOTMGR读取bootbcd文件(BCD=Boot Configuration Data),也就是启动配置数据”,简单地说,win7 下的bed文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并

2、 且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的 选择界面。在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找 WINDOWSsystem32winload.exe,然后通过 winload.exe 加载 win7 内 核,从而启动整个win7系统。可以把这个过程简单地概括为:BIOS-MBR-DPT-pbr-Bootmgr-bcd-Winload.exe- 内核加 载-整个win7系统本文就来说一说MBR-DPT-pbr- Bootmgr-bcd这一段可能出现的 故障的解决。1. MBR出现问题主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各

3、不相同。 比如我们装了 win7与ubuntu双系 统,ubuntu改写了 mbr,在我们把ubuntu 所在的分区格式化后,既进不了 win7,也进不了 ubuntu,开机的时候会出现 如图的错误提示:GRUB Loading st age1.5. GRUB loading, please wait. Error 22 解决的办 法就是重写mbr。对于重写mbr,我们所熟知的是在dos下用fdisk /mbr命 令进行重写。fdisk /mbr所重写的mbr与xp是兼容的,但是,与win7已经 不那么兼容了。实践表明:用fdisk /mbr命令重写win7的mbr后,需要重建 bed,否则不

4、能正常启动win7。有网友指出,这里面的原因是fdisk /mbr命令 改写了 mbr中的硬盘签名。一般的分区工具都是可以重写mbr的,比如 diskgenius,它所重写的mbr与win7是兼容的。也可以用bootrec /fixmbr 命令重写。要运行Bootrec.exe工具,必须启动Windows RE。为此,请按 照下列步骤操作:插入windows 7安装光盘,从光盘启动电脑,在光盘启动完成 后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入: boo tree /fixmbr回车。这样也就重写了 mbr。2. 分区表存在问题系统盘不是活动的主分区,这种情形

5、只要用分区工具(比如diskgenius)把系统 盘设为活动的主分区即可。pbr出现问题,主要是pbr代码被改写,因为被改 写的代码不同,所以出错信息也不相同。比如Win7系统的活动分区,却被写入 了适合于XP的pbr,这样开机的时候就会出现如图的提示:NTLDR is missing Press Ctrl+Alt+Del to restart 简单的解决办法就是用 bootrec /fixboot命令重写pbr:插入win7安装光盘,从光盘启动,在光盘启 动完成后,按下shift+f1O键,调出cmd命令提示符。在命令提示符中输入: bootrec /fixboot回车。这样也就重建了活动分

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

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

8、 pbr。3. 引导文件的问题一般可以用bedboot命令重新写入引导文件:插入win7安装光盘,从光盘启 动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在命令提 示符中输入:bedboot x:windows /s x:注意,这前一个x:是win7的 windows文件夹所在的盘,一般是c:,如果你的不是c盘,请改为对应的盘符。 这后一个X:是活动主分区的盘符所在,一般也是c盘。所以这个命令一般的写法是:bedboot c:windows /s c:但需要注意,在 windows re环境下所看到的盘符与你在win7下所看到的盘符未必一样。所以 需要首先用dir /a

9、命令确认各盘是否正确。比如:cd /d c: dir /a这两个命令 的作用是,首先进入c:盘的根目录,然后显示c盘根目录下的所有文件和文件 夹,根据所显示的文件或者文件夹,可以判断这个盘具体是你在win7下所看到 的哪一个盘。win7的引导文件主要是bootmgr和boot文件夹里面的文件, 而boot文件夹里面的文件主要是bed文件。bedboot命令会在指定的分区内 重新写入全部win7的引导文件。如果只是bed文件有问题,则可以用bootrec 命令重建bed:插入win7安装光盘,从光盘启动,在光盘启动完成后,按下 shift+f10键,调出cmd命令提示符。在命令提示符中输入:bo

10、otrec /RebuildBcd这个命令如果搜到没有写入bed的win7或者vista 的操作系统,会提示你是否写入,按提示输入Y也就会写入了的。或者用bededit 命令手动改写bed,但操作要复杂得多。具体案例分析案例一:开机的时候出现:BOOTMGR is missing press ctrl+alt+del to restart.翻译成汉语就是: bootmgr缺失,按Ctrl + Alt + Del重新启动这是很常见的故障。既然是 bootmgr缺失,我们一般只要用bedboot命令重建引导文件即可。这种情形 产生的原因,一般可能有:bootmgr文件确实没有了,这是最为常见的。一

11、种 则是由磁盘错误导致的,这种情形下,在winpe下运行一下chkdsk /f命令也 可能解决。有朋友使用Diskeeper对MFT碎片进行整理,开机的时候也出现 了这个提示。估计可能是用DISKEEPER进行的MFT磁盘整理后,这或者是 diskeeper的一个bug,因而不建议用diskeeper进行mft碎片整理。一位 网友因为好奇。把C盘设成了活动的(active partition )。是这样设置活动的: 对计算机点右键-管理-硬盘管理。右键点C盘,设置为活动的。靠。怎么回事 啊。重启后居然无法启动!显示bootmgr is missing,Ctrl+Alt+Delete to re

12、start。然后还是如此。这是从网上找到的一个案例, 分析可以得出结论。他所装的windows7应该存在着一个隐藏的系统保留”分 区,这个隐藏的系统保留分区才是真正的活动主分区,而他的c盘则应该不是 活动的。他把c盘设为活动,这也就意味着取消了系统保留分区的活动状态。 但引导文件是在系统保留分区,而不是在c盘,c盘变成了活动的主分区, mbr就会启动c盘的pbr,而c盘的pbr又会去c盘找bootmgr,但c盘没有 bootmgr,所以出错也就是必然的了。解决的办法其实只要简单地再把系统保 留分区设为活动即可。这位朋友制造了问题,但好象并没能最后解决问题。真 所谓会者不难,难者不会。案例二:开

13、机的时候出现:BOOTMGR is compressed Press Ctrl+Alt+Del to restart 翻译成汉语就 是:bootmgr被压缩,按Ctrl + Alt + Del重新启动这种情形产生的原因是 因为对系统盘进行了压缩。奇怪的是,对于这种情形,我们用bedboot命令重 建引导文件却并不能解决。但是,我们可以运行命令:compact /u /a /f /i /s c:*这样可以使得问题得到解决。compact程序位于 windowssystem32文件夹下,所以我们要先用CD命令进入windowssystem32目录。这里是假设c:盘是bootmgr所在的盘,如果不是

14、, 要改为对应的盘符。网上有朋友用这个命令的时候并没有解决问题,原因则在 于,这位朋友所运行的命令是:compact /u /a /f /i /s c:没有后面这个*, 所以命令并没有实现运行者的目的。从命令本身所提供的帮助说明来看,这个* 似乎是没有必要的,但实际操作表明,这个*是必须的。这个命令会把已经压 缩的C盘文件完全解压,真所谓解铃还須系铃人。注意,只运行命令: compact /u /a /f /i c:bootmgr并不能解决问题。有网友发现,运行 “Bootrec.exe /fixmbr、Bootrec /fixboot然后重启,这样可以解决问题。测 试表明,其实只需要运行Bo

15、otrec /fixboot这一个命令即可。这是另类的解决 的办法。猜想可能是,对驱动压缩后,PBR中的BPB表并没有随之修改,所以 BPB表中所记录的分区信息与实际的分区信息不一致。运行Bootrec /fixboot 命令后重写了 bpb,这样就使得二者变为了一致。实践表明:用bootsect命 令也能实现对这个问题的解决。有网友发贴,说是装了 xp与vista双系统,启 动vista系统出现了 BOOTMGR is compressed,于是他在xp下取消了系统 盘的压缩状态。但这位网友的话未必可信,因为如果ntldr也被压缩了的话,则 xp启动的时候会出现:ntldr is compr

16、essed Press Ctrl+Alt+Del to restart 除非这位朋友只压缩了 bootmgr,而没有压缩ntldr,但这一般不太可能。这种 压缩一般是对整个盘进行压缩的时候产生的,如果压缩指定文件的话,一般不 会有人去压缩bootmgr和ntldr的。实践表明,在win7下,即便指定对整个 的系统盘进行压缩,一般也不能压缩bootmgr的,会提示拒绝访问,但是,在 开机的时候仍会出现出错提示:bootmgr is compressed案例三:先装的win7,后装的linux,在linux系统出问题后,既进不了 linux, 也进不了 win7,这里面的原因是mbr和活动分区的p

17、br被改写。只要重建 mbr和活动分区的pbr,也就可以进入win7 了。最简单的办法是用bootsect 命令解决:bootsect /nt60 sys /mbr案例四:先装的win7,后装的xp,没有了 win7的启动项:这个需要三步解决 问题:一、用bcdboot命令重建win7的引导文件。二、用bootsect命令恢 复win7的mbr和pbr三、进入win7后,用bededit命令添加xp的启动项。Windows 的启动过程包括以下几个阶段:启动自检阶段这个阶段主要是读取BIOS,然后内存,CPU,硬盘,键盘等设备进行自检。这个阶段在屏幕上显示就是自检的那些打印信息。屏幕显示:自检的

18、打印信息初始化启动阶段这个阶段根据 BIOS 指定的启动顺序,找到可以启动的优先启动设备,比如本地磁盘, CDDriver , USB 设备等等,然后准备从这些设备启动系统。屏幕显示:黑屏Boot 加载阶段这个阶段首先从启动分区(比如 C 盘) 加载 Ntldr ,然后 Ntldr 做如下设置:1. 内置内存模式,如果是 x86 的处理器,并且操作系统是 32 位,则设置为 32-bit flatmemory mode,如果是64位操作系统+ 64位处理器,则设置为64位内存模式。2. 启动文件系统3. 读取 boot.ini 文件 屏幕显示:黑屏,如果按F8或者多系统时会显示启动选项菜单。检

19、测和配置硬件阶段这个阶段检查和配置一些硬件设备,它们分别是: 系统固件,比如时间和日期总线和适配器显示适配器键盘通讯端口磁盘软盘输入设备(如鼠标)并口在 ISA 总线上运行的设备屏幕显示:黑屏内核加载阶段在内核加载阶段, Ntldr 将首先加载 Windows 内核 Ntoskrnl.exe 和 硬件抽象层 (HAL).HAL有点类似于嵌入式操作系统下的BSP (Borad support package),这个抽象层对硬件底 层的特性进行隔离,对操作系统提供统一的调用接口,操作系统移植到不同硬件时只要改变 相应的 HAL 就可以,其它的内核组件不需要修改,这个是操作系统通常的设计模式。接下来

20、Ntldr 从HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 下读取这台机器安装的 驱动程序,然后依次加载驱动程序。驱动程序加载完成后, Windows 做如下设置:1. 创建系统环境变量2. 启动 win32.sys ,这个是 Windows 子系统的内核模式部分。3. 启动csrss.exe,这个是Windows子系统的用户模式部分。4. 启动 winlogon.exe5. 创建虚拟内存页面文件6. 对一些必要的文件进行改名,(主要是驱动文件,如果更新后,需要在下次重启前改名)litheme.cenirajanhBiMicrosoft!屏幕显示:显示 Windows logo 界面和进度条登录阶段 这个阶段会做如下几件事:1. 启动机器上安装的所有需要自动启动的Windows服务2. 启动本地安全认证 Lsass.exe3. 显示登录界面 屏幕显示:显示登录界面

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!