事情原委:安装win7后随即卸载,用EasyBcd删除win7启动项时误操作删除了xp的启动项,重启无法进入xp。
解决方案:
1. 重建MBR——失败,还是只有win7的启动项;
2. winPE进入DOS输入:fixboot——失败,提示无此命令;
3. 修改boot.ini——失败,好像跟这个没关系;
4. bootsect.exe /nt52 sys,还有一种bootsect.exe /nt60 c: /mbr——失败。
心里想着win7和xp的启动方式有了区别,所以以上前三种方法都没有奏效。于是查了bootsect.exe的资料:(以下贴自百度)
介绍
bootsect.exe(boot sector)是Windows vista/7中光盘中自带的一个程序,字面解释是引导扇区修复工具(boot sector restoration tool),是位于安装光盘boot目录下,体积很小,不到100kb,但却很实用。
语法
bootsect {/help/nt60/nt52}{sys或all}[/force] [/mbr]
用途
为硬盘分区更新主引导代码,以实现bootmgr 和ntldr启动方式之间的转换
/help 帮助
/nt60 使用基于内核为nt60的操作系统的主引导代码,有:Windows vista和Windows7等
引导文件为 bootmgr
/nt52 使用基于内核为nt52的操作系统的主引导代码,即:Windows xp
引导文件为 ntldr
sys 更新主引导代码到系统分区,用于启动系统
all把引导代码加到可以作为Windows 系统分区的卷。
/force 强制卸下该卷
/mbr 更新主引导记录
仔细读了读,发现参数里的奥秘全在/nt52和/nt60上。进入dos环境,找到bootsect.exe,执行:
bootsect.exe /nt52 c: /mbr
重启,终于又看到了熟悉的xp启动界面。
最后,重建MBR时把ubuntu的Grub给废了,重新弄好。用U盘进入live Ubuntu,
启动grub:
grub> find /boot/grub/stage1 ----------->>查找stage,用来定位boot分区
(hdx, y) ---------------------------->>结果
grub> root (hdx, y) ---------------------->>设定/boot所在分区
grub> setup (hd x) ----------------------->>把grub写到MBR上去
至此,我的系统全部全部修复完毕。