写这篇文章是因为记性不好,上次出现的问题解决后,这次相同的问题忘记了怎么弄,多花了些时间。记录一下免得以后又忘记了。
- 故障表现:ghost 还原系统后出现 ntldr is missing :
- 问题起因:原来装的是XP系统,后来买了个固态硬盘在里面装了个win7系统,就是双系统。把固态硬盘上的win7做了ghost备份,使用正常。
后来不想用xp了就直接在win7下把xp删除了。
在后来系统垃圾多了ghost还原win7,出现 ntldr is missing : - 故障分析:装双系统的时候 分区引导记录还是在 【传统磁盘 c:】,这个没动,我ghost备份【固态硬盘 win7】①不能把 【传统磁盘 c:】分区引导记录带过去备份。
因为是装的双系统,所以win7安装的时候,②也没有在 【固态硬盘】上写入启动管理文件bootmgr(启动管理文件依然用的XP的,存放在XP安装分区中,之所以提示 ntldr is missing而不是bootmgr is missing:因为双系统XP的纯在,XP所在分区引导记录中写的是以ntldr启动) - 解决方案:
- 重写分区引导记录
用PE启动盘启动系统后,使用【扇区小工具BOOTICE】点4下就OK
【扇区小工具BOOTICE】下载 - 拷贝启动管理文件到win7系统根目录
点击下载
- 重写分区引导记录
- 相关说明:ghost还原也会重写分区引导记录,所以这次弄好,备份文件不变的情况下,还是会出现相同的问题。
如果不是双系统,那么采用上述解决方案之一就可以了,也可以两样都做不影响。
看下Windows7启动过程,以便对win7启动出现的其他问题做到心中有数。
- 电脑加电后,
- 首先是启动BIOS程序,
- BIOS自检完毕后,找到硬盘上的主引导记录MBR,
- MBR读取DPT(分区表),从中找出活动的主分区,
- 然后读取活动主分区的PBR(分区引导记录,也叫pbr),
- PBR再搜寻分区内的启动管理器文件bootmgr,
- 在bootmgr被找到后,控制权就交给了bootmgr(xp 下就是ntldr )。bootmgr读取\boot\bcd文件(BCD=Boot Configuration Data ,也就是“启动配置数据”,简单地说,windows7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系 统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动Windows 7后,bootmgr就会去启动盘寻找 WINDOWS\system32\winload.exe,然后通过winload.exe加载windows7内核,从而启动整个windows7系 统。
可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->内核加载 -->整个windows7系统