生命在于折腾。
我的 ThinkPad T450s 上安装有 Windows7,之后安装了 Archlinux,并采用了 GRUB 引导双系统的启动。无奈前两天 Windows7 忽然莫名其妙的蓝屏了。想着平时也很少用 Windows7 ,干脆就直接重装一把 Windows 吧。于是便使用老毛桃制作好 U盘启动盘,下载好Windows7的Ghost镜像进行安装。
本以为几分钟后便能重装完成,并且只是Ghost恢复C盘,并不会影响grub的系统引导。怎知在PE盘恢复完Ghost重启之后,刚开始安装,要么提示“windows安装程序无法将windows配置为在此计算机的硬件上运行”,要么提示“计算机意外地重新启动或遇到错误。Windows 安装无法继续。若要安装Windows,请单击‘确定’重新启动计算机,然后重新启动安装”。
网上搜索了很多办法,基本上都是说看到错误提示后按 Shift + F10 键,在弹出的 Dos 窗口输入
cd oobe msoobe.exe
然而毫无用处,差点以为真的是哪个硬件坏了呢,真是要怀疑人生。因为之前装双系统的时候,是把MBR引导盘设置成了 Archlinux 的盘符,也许是C盘不是MBR引导盘的原因,但是现在将C盘设置为MBR引导盘,开机的时候,将不会出现grub引导了。
管它呢,先在PE环境下用diskgenius设置C盘为引导盘再说。果然,设置了之后,非常顺利的安装好了 Windows7。可是问题来了,怎么恢复之前的 GRUB 双系统引导的界面呢?
刚开始想在Windows下面安装GRUB引导,尝试过grub4dos, easybcd,都感觉实在太过麻烦,于是找到之前制作的archlinux U盘安装盘,进入archlinux 安装界面后,依据自己的盘符情况加载 archlinux 的 /boot 分区 ,我没有单独划分/boot区,所以就直接加载 / 分区:
mount /dev/sda4 /mnt grub-install --root-directory=/mnt /dev/sda
重启开机,奇迹出现了,终于看到之前的 Grub 系统引导界面了,并且功能都正常。
如果Grub界面没有Windows系统的选项,可用在/boot/grub/grub.cfg里添加,比如:
menuentry 'Windows 7' { set root="(hd0,1)" chainloader +1 }