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

UEFI+GPT安裝Windows8和CentOS雙系統

日期:2017/2/28 14:32:09   编辑:Linux教程

隨著虛擬機管理軟件的廣泛使用,雙系統安裝場合越來越少了,但還存在這樣的地方,尤其是學習一些硬件的場合。本文針對UEFI時代的雙系統安裝進行了實驗和說明。

前一篇文章已經對UEFI,GPT和安裝CentOS進行了詳細說明,見: http://www.linuxidc.com/Linux/2014-05/101574.htm 。本文專門說明雙系統的安裝方式。

U盤安裝64位CentOS 6.5方法 http://www.linuxidc.com/Linux/2014-04/100035.htm

Win7安裝64位CentOS 6.4雙系統詳細圖文教程 http://www.linuxidc.com/Linux/2014-04/100032.htm

CentOS與Windows雙系統安裝注意事項記錄 http://www.linuxidc.com/Linux/2014-05/101571.htm

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界面出現,上圖顯擺一下:

3 UEFI時代的雙啟動思考

  • 微軟依舊很霸道,所以多系統安裝時,Windows要首先安裝,省的它在安裝是破壞別的已安裝系統;
  • 這個時代的啟動加載器尚未完全成熟穩定,grub就是個例子,它的鏈式加載有問題存在;
  • UEFI主板功能還不完善,設置修改不方便,不好用;
  • 理論上多啟動更加簡單;
  • 目前作為啟動管理器的rEFInd確實非常好用。

更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

Copyright © Linux教程網 All Rights Reserved