一、UEFI主板上OS啟動原理
自己粗略畫了一張圖,不再文字說明。
U盤安裝64位CentOS 6.5方法
Win7安裝64位CentOS 6.4雙系統詳細圖文教程
CentOS與Windows雙系統安裝注意事項記錄
二、安裝實戰記錄
2.1 物理環境
機器類型:台式機
機器型號:聯想ThinkCenter M4350T
機器特征:預裝Windows8,主板支持UEFI和安全啟動,硬盤500GB,采用GPT分區。
該主板能夠兼容傳統BIOS方式(legacy boot)啟動,可以通過BIOS選項來設置。而CentOS也同時支持BIOS和UEFI兩種方式啟動,所以就有了兩種安裝方式。
2.2 傳統BIOS安裝方式
(1)設置BIOS: 使能CSM,禁用安全啟動;
(2)使用Diskgen或類似工具把硬盤重新格式化為MBR格式;
(3)官網下載CentOS-6.4-x86_64-minimal.iso,並刻錄成光盤;
(4)從光盤啟動,一步步安裝完成。
此種方式安裝完成後,CentOS的啟動流程:
啟動過程: BIOS ---- 硬盤MBR(裝有grub一部分)---------- grub的其他部分(可能位於某個分區的開始幾個扇區)-------加載啟動CentOS。
注:其實這裡grub的其他部分生存是比較艱難的,必須找到足夠的扇區來存放自己,而且還不能與文件系統使用的扇區重復(因為grub第一部分代碼很少,不能識別文件系統,只能靠物理扇區尋找其他部分,而文件系統中的文件所占用的物理扇區是可能變化的,所以grub剩余部分不能使用文件系統存放自己),所以生存艱難!!!
2.3 UEFI現代安裝方式
(1)設置BIOS:禁用CSM,禁用安全啟動;
(2)使用Diskgen或類似工具把硬盤格式為GPT格式(可以建立多於4個的主分區了);
(3)官網下載CentOS-6.3-x86_64-minimal-EFI.iso,並刻錄成光盤;(目前6.4版本的EFI鏡像還沒有發布)(更正:6.4以後的CentOS鏡像同時支持BIOS和UEFI,不再單獨發布EFI版本,關於這個問題,專門有一個討論,見?id=5387)。
(4)從光盤啟動,安裝系統,此時安裝時會提示必須有一個ESP分區建立,掛在到/boot/efi即可,其他操作與傳統安裝相同。
需要注意的地方:
安裝完成後,默認的啟動的是 ESP分區裡的 /EFI/redflag/grub.efi。系統啟動後可以通過efiboogmgr命令來查看修改UEFI的啟動菜單,不過我自己的實驗證明修改後並不能生效。還有一個方法可以改變這個啟動的文件,那就是把這個grub.efi改名,這樣UEFI就找不到這個文件了,當啟動菜單項都無效時,會自動啟動/EFI/boot/bootx64.efi。這只是個約定的文件名,你可以把任何想要的啟動文件改名為這個。我的做法是把rEFInd.efi改名為bootx64.efi,這樣就可以默認啟動refind了,而rEFInd這個bootmanger能夠自動掃描FAT32分區中的所有.efi文件,並在圖形界面中列出供用戶選擇啟動。
此種方式安裝後的CentOS啟動流程:
啟動過程: BIOS------硬盤ESP分區中的grub.efi程序-------加載啟動CentOS。
注: 這種方式,為啟動加載器GRUB提供了專門的分區,使得grub的生存非常舒服,體積也可以很大,也不用再分成多個部分了,這就是grub.efi。
三 安裝方式的抉擇
傳統BIOS+MBR方式還是UEFI+GPT方式安裝CentOS,取決於使用環境。對於我的實驗環境,500GB的硬盤,哪種方式都可以輕松使用;要是硬盤大於2TB,那麼就需要使用UEFI+GPT這種方式了。從技術發展的角度來看,UEFI+GPT是趨勢,所以我個人的態度是,如果主板和OS支持,那麼就盡量使用UEFI+GPT的方式安裝OS吧!