歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux安裝 >> UEFI+GPT安裝Windows8和CentOS雙系統

UEFI+GPT安裝Windows8和CentOS雙系統

日期:2017/4/19 13:52:25   编辑:Linux安裝

U盤安裝64位CentOS 6.5方法

Win7安裝64位CentOS 6.4雙系統詳細圖文教程

CentOS與Windows雙系統安裝注意事項記錄

1 安裝步驟

(1)使用diskgen工具把硬盤修改為GPT格式。(可以通過帶有這個工具的光盤、U盤等完成)。

(2)光盤安裝Window8,在建立分區時,安裝程序自動建立額外的兩個分區MSR和ESP。

(3)一步步點擊完成。

此時,ESP分區有/EFI/Microsoft/Boot/文件夾,裡面是Windows8的啟動器,bootmgr.efi,bootmgfw.efi等。

(4)放入CentOS-EFI的光盤,重新啟動機器

(5)安裝程序能夠識別ESP分區,我們需要做的只是把這個ESP分區掛載到/boot/efi。(注:ESP分區類型的GUID是固定的,據此識別之)

(6)在安裝GRUB時,安裝程序自動設置為安裝到ESP分區,我們看清即可

(7)正常安裝完成。

此時,ESP分區增加了/EFI/RedHat/文件夾,裡面是grub.efi和grub.conf。

2 雙系統啟動的方式

目前為止,只是安裝了兩個系統,UEFI的nvram啟動菜單有了這兩個菜單項,但是這款主板啟動時,只顯示一個微軟的選項。這就導致了只能啟動Windows8,不能啟動CentOS。解決思路有如下幾種

使用windows8的bootmgr.efi來鏈式啟動grub.efi。在BIOS時代,ntldr是可以加載grub所在扇區的,現在我還沒找到可行方式;(不可行)

把grub.efi修改路徑及名稱為bootmgfw.efi,然後通過grub.efi鏈式啟動bootmgfw.efi。這在BIOS時代是相當常見的,但現在我實驗證明Centos所帶的grub.efi不能鏈式加載bootmgfw.efi,提示錯誤。(不可行)

升級主板固件,使得能按下F12時,同時顯示CentOS和Windows兩個啟動選項。還沒找到可行的途徑。(不可行)

通過第三方啟動管理器來代替bootmgfw.efi的位置,讓後由這個管理器提供鏈式加載bootmgfw.efi和grub.efi。我選用的是rEFInd,實驗證明完全可行。(可行!)

目前位置我還沒找到可以修該這款主板UEFI的啟動菜單的可行方式,所以采用把refind.efi改名為微軟的bootmgfw.efi的方式。而微軟的bootmgfw.efi則修改到其他位置。具體步驟:

(1)通過CentOS光盤recue模式,把/EFI/Microsft/Boot文件夾改名為 /EFI/weiruan;

(2)把refind文件夾拷貝到/EFI/Microsoft/,並改名為Boot;

(3)把refind_x64.efi改名為bootmgfw.efi;修改refind.conf.smaple文件名為refind.conf,並根據需要修改其中的內容,我修改後的內容如下:

timeout 20
showtools shell, mok_tool, about, reboot, exit, firmware
scanfor internal,external,optical,manual
dont_scan_files shim.efi,MokManager.efi,memtest.efi,bootmgr.efi
scan_all_linux_kernels
default_selection weiruan


至此,文件夾布局為:

EFI/weiruan (裡面是Windows8的啟動器)

EFI/Microsoft/Boot(裡面是refind的文件)

EFI/redhat (裡面是grub啟動器)

完成後,重新啟動機器,喜人的rEFInd界面出現,上圖顯擺一下:

UEFI+GPT安裝Windows8和CentOS雙系統

3 UEFI時代的雙啟動思考

微軟依舊很霸道,所以多系統安裝時,Windows要首先安裝,省的它在安裝是破壞別的已安裝系統;

這個時代的啟動加載器尚未完全成熟穩定,grub就是個例子,它的鏈式加載有問題存在;

UEFI主板功能還不完善,設置修改不方便,不好用;

理論上多啟動更加簡單;

目前作為啟動管理器的rEFInd確實非常好用。

Copyright © Linux教程網 All Rights Reserved