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

上传人:小飞机 文档编号:3063095 上传时间:2023-03-10 格式:DOCX 页数:5 大小:40.20KB
返回 下载 相关 举报
Win7启动过程及启动项修复详解.docx_第1页
第1页 / 共5页
Win7启动过程及启动项修复详解.docx_第2页
第2页 / 共5页
Win7启动过程及启动项修复详解.docx_第3页
第3页 / 共5页
Win7启动过程及启动项修复详解.docx_第4页
第4页 / 共5页
Win7启动过程及启动项修复详解.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Win7启动过程及启动项修复详解.docx》由会员分享,可在线阅读,更多相关《Win7启动过程及启动项修复详解.docx(5页珍藏版)》请在三一办公上搜索。

1、Win7启动过程及启动项修复详解Win7启动过程及启动项修复 先让我们看一下win7的启动过程的常识: 电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT,从中找出活动的主分区,然后读取活动主分区的PBR,PBR再搜寻分区内的启动管理器文件 BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。BOOTMGR读取bootbcd文件,也就是“启动配置数据”,简单地说,win7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面

2、。在我们选择启动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代码被改写,因为被改写的代码不同,所以出错信息也各不相同。比如我们装了win7与ubuntu双系 统,ubuntu改写了mbr,在我们把u

3、buntu所在的分区格式化后,既进不了win7,也进不了ubuntu,开机的时候会出现如图的错误 提示:GRUB Loading stage1.5. GRUB loading, please wait. Error 22解决的办法就是重写mbr。对于重写mbr,我们所熟知的是在dos下用fdisk /mbr命令进行重写。fdisk /mbr所重写的mbr与xp是兼容的,但是,与win7已经不那么兼容了。实践表明:用fdisk /mbr命令重写win7的mbr后,需要重建bcd,否则不能正常启动win7。有网友指出,这里面的原因是fdisk /mbr命令改写了mbr中的硬盘签名。一般的分区工具都

4、是可以重写mbr的,比如diskgenius,它所重写的mbr与win7是兼容的。 也可以用bootrec /fixmbr命令重写。要运行 Bootrec.exe 工具,必须启动 Windows RE。为此,请按照下列步骤操作:插入windows 7安装光盘,从光盘启动电脑,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:bootrec /fixmbr回车。这样也就重写了mbr。 2.分区表存在问题 系统盘不是活动的主分区,这种情形只要用分区工具。是这样设置活动的:对计算机点右键-管理-硬盘管理。右键点C盘,设置为活动的。靠。怎么回事啊。 重启后居然

5、无法启动!显示bootmgr is missing,Ctrl+Alt+Delete to restart。然后还是如此。 这是从网上找到的一个案例,分析可以得出结论。他所装的windows7应该存在着一个隐藏的“系统保留”分区,这个隐藏的系统保留分区才是真正的活动主 分区,而他的c盘则应该不是活动的。他把c盘设为活动,这也就意味着取消了“系统保留”分区的活动状态。但引导文件是在“系统保留”分区,而不是在c 盘,c盘变成了活动的主分区,mbr就会启动c盘的pbr,而c盘的pbr又会去c盘找bootmgr,但c盘没有bootmgr,所以出错也就是必然的 了。解决的办法其实只要简单地再把系统保留分区

6、设为活动即可。 这位朋友制造了问题,但好象并没能最后解决问题。真所谓会者不难,难者不会。 案例二:开机的时候出现:BOOTMGR is compressed Press Ctrl+Alt+Del to restart翻译成汉语就是: bootmgr被压缩,按Ctrl + Alt + Del重新启动 这种情形产生的原因是因为对系统盘进行了压缩。奇怪的是,对于这种情形,我们用bcdboot命令重建引导文件却并不能解决。 但是,我们可以运行命令:compact /u /a /f /i /s c:* 这样可以使得问题得到解决。compact程序位于windowssystem32文件夹下,所以我们要先用

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

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

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

10、了linux,也进不了win7,这里面的原因是mbr和活动分区 的pbr被改写。只要重建mbr和活动分区的pbr,也就可以进入win7了。最简单的办法是用bootsect命令解决:bootsect /nt60 sys /mbr 案例四: 先装的win7,后装的xp,没有了win7的启动项: 这个需要三步解决问题: 一、用bcdboot命令重建win7的引导文件。 二、用bootsect命令恢复win7的mbr和pbr 三、进入win7后,用bcdedit命令添加xp的启动项。 Windows的启动过程包括以下几个阶段: 启动自检阶段 这个阶段主要是读取 BIOS ,然后内存,CPU,硬盘,键盘

11、等设备进行自检。这个阶段在屏幕上显示就是自检的那些打印信息。 屏幕显示:自检的打印信息 初始化启动阶段 这个阶段根据 BIOS 指定的启动顺序,找到可以启动的优先启动设备,比如本地磁盘,CD Driver , USB 设备等等,然后准备从这些设备启动系统。 屏幕显示:黑屏 Boot 加载阶段 这个阶段首先从启动分区(比如 C 盘) 加载 Ntldr ,然后Ntldr 做如下设置: 1.内置内存模式,如果是 x86 的处理器,并且操作系统是 32位,则设置为 32-bit flat memory mode,如果是 64 位操作系统 + 64位处理器,则设置为64位内存模式。 2.启动文件系统 3

12、.读取 boot.ini 文件 屏幕显示:黑屏,如果按F8或者多系统时会显示启动选项菜单。 检测和配置硬件阶段 这个阶段检查和配置一些硬件设备,它们分别是: 系统固件,比如时间和日期 总线和适配器 显示适配器 键盘 通讯端口 磁盘 软盘 输入设备(如鼠标) 并口 在ISA总线上运行的设备 屏幕显示:黑屏 内核加载阶段 在内核加载阶段,Ntldr 将首先加载Windows内核 Ntoskrnl.exe 和 硬件抽象层 (HAL). HAL 有点类似于嵌入式操作系统下的BSP(Borad support package),这个抽象层对硬件底层的特性进行隔离,对操作系统提供统一的调用接口,操作系统移

13、植到不同硬件时只要改变相应的 HAL 就可以,其它的内核组件不需要修改,这个是操作系统通常的设计模式。 接下来Ntldr 从HKEY_LOCAL_ MACHINESYSTEMCurrentControlSet 下读取这台机器安装的驱动程序,然后依次加载驱动程序。 驱动程序加载完成后,Windows做如下设置: 1. 创建系统环境变量 2. 启动 win32.sys ,这个是Windows子系统的内核模式部分。 3. 启动 csrss.exe,这个是Windows子系统的用户模式部分。 4. 启动 winlogon.exe 5. 创建虚拟内存页面文件 6. 对一些必要的文件进行改名,(主要是驱动文件,如果更新后,需要在下次重启前改名) 屏幕显示:显示Windows logo 界面和进度条 登录阶段 这个阶段会做如下几件事: 1. 启动机器上安装的所有需要自动启动的Windows服务 2. 启动本地安全认证 Lsass.exe 3. 显示登录界面 屏幕显示:显示登录界面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号