首先来介绍一下我遇到的问题,希望能够给和我遇见相同问题的朋友提供一个参考。我电脑上安装了Windows2003Windows2008Windows7Windows 7 Windows2008 是后来装的,前几天我把2003用备份恢复了(备份是在装Windows7 之前的),之后Windows 7就不能启动了,没有启动项了。接下来就开始在网上搜集资料解决问题,问题不是很难,结果一条命令就把问题解决了,在这我主要说一下双系统的启动原理。
Windows 7 使用bootmgr来引导系统启动,然后交给winload.exe来启动系统,而Windows2003 则使用ntldr,接下来会读取boot.ini列出要启动的系统。对于双系统而言电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。接着会继续读取活动分区下的启动配置文件(C:\BOOT\BCDc:\ boot.ini),根据BCDBoot.ini存储的启动信息列出启动菜单
如果选择前者,bootmgr将控制权交给Windows 7(vista 以上版本)系统目录下的Winload.exe 然后开始启动Vista。选择后者,Bootmgr将控制权交给NTLDR,接着开始读取c:\boot.ini并列出其中配置的启动菜单
启动故障就主要出现在Bootmgr(如该文件丢失)BCD(启动信息配置错误)Winload.exe(该文件丢失导致Windows 7无法启动)Ntldr(该文件丢失导致2003无法启动)这些文件上。
我的问题就出在BOOTMGR文件丢失和BCD启动信息错误,
Bootsect.exe 更新硬盘分区的主启动代码以在 BOOTMGR NTLDR 之间切换。可以使用此工具还原计算机上的启动扇区。此工具会替换 FixFAT FixNTFS
http://technet.microsoft.com/zh-cn/library/cc749177(WS.10).aspx