y400 实现grub2 引导 win8.1 和 ubuntu12.04 双系统 时间校准

win8.1加入了 安全验证 所以grub2不能正确引导ubuntu, Secure Boot只是UEFI的一个部分。两者的关系是局部与整体的关系。
Secure Boot的目的,是防止恶意 软件 侵入。它的做法就是采用密钥。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥。然后,任何想要在这块主板上加载的操作系统或者硬件 驱动 程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,否则主板拒绝加载。由于恶意软件不可能通过认证,因此就没有办法感染Boot。
这个设想是好的。但是,UEFI没规定哪些公钥是可靠的,也没规定谁负责颁发这些公钥,都留给硬件厂商自己决定。

现在,微软就是要求,主板厂商内置Windows 8的公钥。

废话少说,安装双系统不用解释了,上一个链接http://tieba.baidu.com/p/2805772637


接着说本人电脑,y400,win8系统 升级win8.1,期间安装ubuntu12.04 桌面环境kde

安装完成后grub2一直无法启动win8,老是提示失败。每次都是进bios选择引导程序,痛苦不堪。昨天晚上看了上面的帖子,终于搞定。特来与大家分享一下。

1、安装双系统,uefi模式安装,不做多余介绍。

2、关闭Secure Boot, y400默认设置了也没用,因为下面一个状态显示是不能关闭的,灰色的,怎么办呢?,解决办法将bios设置为legency support ,uefi first模式。

3、替换bootx64.efi:

 进你的efi分区,在linux下用df 命令查看efi分区, 我的分区/dev/sda1,注意以实际情况为准。

.挂载efi分区,新建文件夹 mkdir /mnt/efi

mount -t /dev/sda1  /mnt/efi

进入分区 cd  /mnt/efi

ls 看见文件夹Boot

                              打开EFI/Boot,看到里面有一个bootx64.efi,把它改名成bootx64.efi.old,以后不用它了

sudo   mv  bootx64.efi   bootx64.efi.old


                             打开EFI/ubuntu,里面有一个grubx64.efi,这个是grub的启动文件,把它复制到刚才的EFI/Boot里面,改名成bootx64.efi,顶替Windows的loader。

sudo   cp ../ubuntu/grubx64.efi   ./bootx64.efi


- 显然,这样开机的时候,加载bootx64.efi时,实际加载了grub2,这样就不会直接进入windows了。

运行  sudo update-grub2

看到以下信息就ok了


Found linux image: /boot/vmlinuz-3.11.0-12-generic
Found initrd image: /boot/initrd.img-3.11.0-12-generic
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
- 发现上面的windows boot manager直接被找到了。

进bios将grub设为默认引导,以后再grub中就可以直接实现双系统引导了。

另外:双系统 ubuntu和win8 系统时间相差8小时,因为ubuntu基于utc时间,win8用系统时钟,关闭ubuntu的utc,vi  /etc./default/rcS

找到 utc==yes  改为 no ,然后ubuntu中把时间设定好,重启就发现双系统时间正常了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值