天天看點

win8和ubuntu雙系統安裝

一,關閉secure boot

開機按F1進入bios=>security=>secure boot

筆記本不同,可能secure boot的配置不同,将其disabled掉,要不然,選擇U盤啟動,CD光牒啟動都無效,報沒有權限。

二,bios裡面配置啟動項,預設efi only,改為both

bios=>startup=>uefi/legacy boot

啟動優先級裡面有三個選擇,

1,efi only(注釋:預設)

2,both (注釋:二種方式都可以)

3,legacy only(注釋:grub1)

這裡說的啟動根選擇U盤啟動,CD光牒啟動不一樣。這裡的啟動是,多系統安裝好了,而選擇的啟動模式。而U盤啟動,CD光牒啟動這種情況是系統還沒有裝時選擇的安裝啟動。我的本子,按F12可以選擇U盤啟動,或者CD光牒啟動。

win8裝centos

根本沒有“更換設定”這個按鈕,并且引導程式隻能安裝在/dev/sda2上面,選中的情況下,centos6.4 64位,根本安裝不成功,所有包安裝完後,配置時提示報錯,

讓送出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

http://mirrors.163.com/centos/6.4/os/x86_64/EFI/BOOT/    或者是從iso鏡像中解壓也行。

3,挂載efi的啟動盤

在efi啟動盤的根目錄也就是/dev/sda2上面,建一個image檔案夾,把裝好的cenots核心考過來,我為什麼要這麼幹呢,因為BOOTX64.conf這個檔案就是這麼幹的。

4,這一步建redhat目錄是多餘的,我是按照操作時候的步驟來寫這篇部落格的

為什麼要redhat,而不是centos呢,裝好的centos,/boot/efi/EFI(注:這個目錄在系統的boot下面,不在sda2上面),這個目錄下就有redhat,後來我才知道,這個目錄沒用。

将上面的三個檔案BOOTX64.conf  BOOTX64.efi  splash.xpm.gz,copy到/mnt/usb/EFI/redhat目錄下面

看一下我的配置:

上面的win8.efi是bootmgfw.efi的備份,後來我把bootmgfw.efi也替換了,下面會提到的,這東西啟動win8用的。

五,重新開機測試

注意:grub下面是小定的,linux系統下是大寫的,最好是用tab鍵提示。然後三個啟動選項就出現了,我選了一下,都是可以進的,那叫一個激動啊,離成功不遠了。

win8也是可以進的

隻要啟動時能讓EFI識别BOOTX64.conf這個檔案,并讀取,就搞這定了。

然後我就開始把redhat這個目錄到處copy,發現不行,我又把BOOTX64.conf  BOOTX64.efi  splash.xpm.gz,這三個檔案到處copy,EFI下面的每個目錄我都試了。不行。

六,refind efi啟動器

沒辦法啊,就上google上面找efi啟動工具,看了好多,發現The rEFInd Boot Manager還是比較靠譜的。

下載下傳位址:http://sourceforge.net/projects/refind/?source=dlp,這個是二進制版的。

該工具官方位址:http://www.rodsbooks.com/refind/ ,下載下傳,安裝,以及使用說明都有。

安裝配置位址:http://www.rodsbooks.com/refind/installing.html#linux

下面是我的操作:

如果你是64的系統,就把32的删除掉,反之就删64的。

然後配置refind.conf,我的配置肯定不對,如果要對的話,直接是可以用refind進入centos,win8,arch的。而不是refind去調用grub來啟動

http://www.rodsbooks.com /refind/installing.html#linux中的Installing rEFInd Manually Using Linux,安裝方法中,6,7這二步,沒敢做,我實在無法預測,efibootmgr -c -l \EFI\refind\refind_x64.efi -L rEFInd,執行這個指令到底會有什麼後果。

七,重新開機後,無法進入refind界面

然後就在仔細閱讀檔案

發現有上面的東西,操作如下:

先把EFI/Microsoft/Boot/這個目錄備份,這樣我不管怎麼配置Boot的目錄,我可以還原,進WIN8絕對沒問題。efi啟動,會預設讀取/EFI/Microsoft/Boot/bootmgfw.efi,我的機子是這樣子的,規定死了。

八,重新開機後,可以進入refind的引導界面,但是沒有一個系統能進。

refind 配置不正确,無法進入任何一個系統,但是我發現refind的第二個引導項讀取到了/grub/BOOTX64.conf,并且是預設的centos的 BOOTX64.conf,grub是什麼時候建的我都忘了,裡面是下載下傳的原始的centos的BOOTX64.conf  BOOTX64.efi  splash.xpm.gz

知道refind讀取哪個啟動檔案就好辦了,把redhat下面已經配置好的檔案copy到grub目錄下就搞定了。

就這樣我的三系統啟動搞定了,不過還有缺點,

第一,引導是分二步的,首先是refind引導,然後refind調用BOOTX64.conf,在通過grub來引導,之後才能進入系統。

第二,核心版本,是copy到了,efi的啟動盤上面,更新核心,也用不了,除非在重新将核心copy到sda2上面。

本文轉自 念槐聚 部落格園部落格,原文連結:http://www.cnblogs.com/haochuang/p/4651607.html,如需轉載請自行聯系原作者

繼續閱讀