• 最新动态
  • 预装win8 centos 双系统 双硬盘 efi 启动海底苍鹰

    作者:U盘装系统 文章来源:u盘装系统 发布时间:2015-08-11 00:07点击:

    刚买的thinkpad t430u 64位的笔记本,发现装linux是一件非常麻烦的事,以前装个linux系统,配置双启,1个小时就能搞定,而这一次我连装centos6.4带配置双启,花了三个星期。双启后成功后又装了arch,现在笔记本是三系统,三周的时间里,笔记本重启不下300次。我也不知道能不能成功,所以事先,并没有做详细的笔记。所以下面,只是大致的记录。注意,在实际操作前,一定要把这篇博客好好看几遍,理解清楚,在操作。

    一,关闭secure boot

    开机按F1进入bios=>security=>secure boot

    笔记本不同,可能secure boot的配置不同,将其disabled掉,要不然,选择U盘启动,光盘启动都无效,报没有权限。

    二,bios里面配置启动项,默认efi only,改为both

    bios=>startup=>uefi/legacy boot

    启动优先级里面有三个选择,

    1,efi only(注释:默认)
    2,both (注释:二种方式都可以)
    3,legacy only(注释:grub1)

    这里说的启动根选择U盘启动,光盘启动不一样。这里的启动是,多系统安装好了,而选择的启动模式。而U盘启动,光盘启动这种情况是系统还没有装时选择的安装启动。我的本子,按F12可以选择U盘启动,或者光盘启动。

    为什么要进行这一步,如果不改,默认是装在第二块硬盘上面的,也就是efi的默认启动盘,安装centos时:

    win8装centos

    根本没有“更换设置”这个按钮,并且引导程序只能安装在/dev/sda2上面,选中的情况下,centos6.4 64位,根本安装不成功,所有包安装完后,配置时提示报错,

    an unhandled exception has occurred.this is most likely a bug.plese copy the full text of this exeception and file a detailed bug report.against anaconda at

    让提交bug到centos,这个有点坑爹。

    将efi only改成both后,重新安装,“更换设置”就会出现,并把引导程序装到centos所在的分区,这样centos可以顺利装完,怎么安装网上太多,在这儿就不哆嗦了。

    三,用easybcd和纯grub1实现双启都不可能

    用easybcd和纯grub1实现双启根本不可能,大家就不要浪费时间了。网上有说easybcd2.2可以实现,我试过无数次不行。

    在启动优先级里面选择,legacy only,保存重启,久违的centos界面出现了,那叫一个激动。下方向键选择others,windows进不去。总之还是有点高兴的,centos装成功了,我信心大增,通过grub1,我想能启动win8,然后我就开始尝试用grub1启动win8,又试了不知道多少次不行。我想完全靠grub1启动是不可能了

    四,用centos自带的efi实现双启,或者是多启,这一块是本文的重点,希望大家能理解我的思路。

    1,启动优先级里面,选择legacy only,进入到centos

    2,下载三个文件,BOOTX64.conf  BOOTX64.efi  splash.xpm.gz

        或者是从iso镜像中解压也行。

    3,挂载efi的启动盘

    mkdir /mnt/usb mount /dev/sda2 /mnt/usb cd /mnt/usb mkdir image cp /boot/initramfs-2.6.32-358.el6.x86_64.img ./image/initrd.img cp /boot/vmlinuz-2.6.32-358.el6.x86_64 ./image/vmlinuz

    在efi启动盘的根目录也就是/dev/sda2上面,建一个image文件夹,把装好的cenots内核考过来,我为什么要这么干呢,因为BOOTX64.conf这个文件就是这么干的。

    [root@localhost image]# ll /mnt/usb/image/ 总用量 26812 -rwxr-xr-x. 1 root root 16532286 6月   1 18:11 initrd.img -rwxr-xr-x. 1 root root  3089184 6月   1 19:11 initrd.img-arch    //这是arch的,装了三系统 -rwxr-xr-x. 1 root root  4043888 6月   1 18:10 vmlinuz -rwxr-xr-x. 1 root root  3778496 6月   1 19:10 vmlinuz-arch       //这也是arch的,

    4,这一步建redhat目录是多余的,我是按照操作时候的步骤来写这篇博客的

    [root@localhost EFI]# mkdir /mnt/usb/EFI/redhat

    为什么要redhat,而不是centos呢,装好的centos,/boot/efi/EFI(注:这个目录在系统的boot下面,不在sda2上面),这个目录下就有redhat,后来我才知道,这个目录没用。

    将上面的三个文件BOOTX64.conf  BOOTX64.efi  splash.xpm.gz,copy到/mnt/usb/EFI/redhat目录下面

    看一下我的配置:

    [root@localhost redhat]# cat BOOTX64.conf #debug --graphics default=1 #splashimage=/EFI/BOOT/splash.xpm.gz timeout=5 #hiddenmenu title CentOS 6.4 kernel /image/vmlinuz ro root=/dev/sda7 initrd /image/initrd.img title Windows8 chainloader /EFI/Microsoft/Boot/win8.efi title Archlinux kernel /image/vmlinuz-arch ro root=/dev/sda9 initrd /image/initrd.img-arch

    上面的win8.efi是bootmgfw.efi的备份,后来我把bootmgfw.efi也替换了,下面会提到的,这东西启动win8用的。

    五,重启测试

    重启F1,进bios,把启动优先级设为efi only,保存重起进grub

    grub> configfile /efi/redhat/BOOTX64.conf