原来我的电脑系统是win7+fedora16,由于很久没有使用fedora16了,所以也没有更新fedora16成17,一直用grub2引导的。
最近做完项目空虚寂寞冷,就装了个win8玩玩,把原来的grub2给覆盖掉了。
这样一来fedota16就进不去了。所以就想尝试着把fedora16的引导给搞回来。
本来以为win8跟win7差不多,用fedora的liveCD修复grub2的引导。具体参考下面这篇文章:
http://blog.csdn.net/gaoxin1076/article/details/7208041
但是grub2竟然没有识别win8,它竟然把win8错认成了win7!!
这个时候我点这个win7选项,出来下面的错误:
\windows\system32\winload.exe
0xc0000428
windows can't verify the digital signature for this file.
无法验证这个文件的数字签名。
于是自己开始百度。。。结果听说win8采用了UEFI机制代替了BIOS,启动了安全机制。
下面是对于UEFI的简单介绍:
http://bbs.bios.net.cn/thread-264822-1-1.html
所有的Windows 8硬件设备都将默认采用UEFI(统一可扩展固件接口)的安全启动(Secure Boot),防止未经授权的引导装载程序(OS Loader)在BIOS中启动,UEFI只启动通过认证的引导装载程序,而恶意软件则无法再利用这种方法攻击用户。
所以个人认为fedora16的grub2无法识别win8,但是在高版本的grub2中说不定已经可以识别win8了。我没有尝试fedora17,不知道17的grub2能不能识别win8,但是听说ubuntu已经可以识别win8了。
尝试方案一:win8自动修复
用win8的安装镜像的U盘来自动修复win8。在安装界面里面有个 修复计算机的选项,在里面选择自动修复。可是不管用,grub2仍然没有被覆盖。而且win8仍然不能被识别。
尝试方案二:重新安装grub2
一开始想着grub2能不能识别win8,于是就进到fedora16里面重新安装了grub2.具体参考了下面这个链接:
http://blog.sina.com.cn/s/blog_6b59d3df01018l7x.html
在fedora16的终端里面输入下面两条命令:
然后尝试着重启进入grub2
重启之后进入grub2看到了有三个win7选项,分别是
一 win7 /dev/sda1
二 win7的recovery模式 在/dev/sda2里面。
三 win7的recovery模式 在/dev/bda4里面。
这里先说下我的硬盘情况。从windows的磁盘工具里面可以看到我的硬盘是这样的:
刚才说的win7三个选项中,sda1对应的是我的H盘,也就是200MB的保留分区。 sda2是C盘,也就是我安装win8的盘。 bda4不知道是什么盘符,这里先暂时不去管它。
我选择sda1对应选项,出现的错误跟一开始的时候是一样的:
\windows\system32\winload.exe
0xc0000428
windows can't verify the digital signature for this file.
无法验证这个文件的数字签名。
0x80073cf9
搜索了一下网上似乎还没有解决方案。这样一来win8无法安装Metro应用了。
方案三(最终方案):NTBOOTautofix 修复windows8引导 easyBCD引导grub2。
在进入win8之后,下载NTBOOTautofix,成功恢复了windows8的引导。win8的引导重新覆盖了grub2.
http://www.win8mi.com/ntbootautofix.html
再进入win8镜像的U盘重新修复 初始化win8。应用商店应用可以正常下载。
然后下载easyBCD,最新版本的easyBCD支持fedora16的grub2的引导。正好可以引导我的fedora16.
具体easyBCD的操作,请看下面这个链接。
http://benyouhui.it168.com/thread-2368303-1-1.html
好~现在我重新启动之后,首先出现的是windows的引导选项,如果我们选择win8,那么会直接进入win8.
如果我们选择的是fedora16,就会进入grub2,然后选择fedora16就好了。
至此,我的双系统问题就解决了。
最后,来总结一下。
如果是先安装的linux再安装win8,那么我们直接使用easyBC就可以了。
如果是先安装win8再安装linux,那么我们必须先用NTBOOTautofix覆盖grub2的引导回到win8的引导,然后使用easyBCD可以选择进入grub2的引导。