rEFInd是macOS系統上的EFI啓動管理器,它具備漂亮的圖形界面和自動識別操做系統的功能。固然,它也可以在Linux系統上安裝運行。python
準備工做:git
一、一臺安裝有Ubuntu 64位系統(必須用UEFI方式安裝,本文用的是16.04.3版本)的計算機或虛擬機github
二、必須安裝build-essential軟件包bash
三、下載軟件(源代碼):UDK 2017/gnu-efi 3.0.6/rEFInd 0.11.2ui
rEFInd有兩種編譯方法,一是UDK+rEFInd,二是gnu-efi+rEFInd。操作系統
編譯安裝gnu-efi+rEFInd(先從最簡單的開始):.net
一、編譯gnu-efi。文件解壓縮過程就不講了。打開終端,輸入如下命令:線程
cd ~/Downloads/gnu-efi-3.0.6 make all sudo make install
這樣gnu-efi就編譯安裝好了。code
二、準備編譯rEFInd。ip
這裏要改一個文件才能正常編譯,不然會報錯。
咱們打開rEFInd目錄下的Make.common文件,能夠看到以下內容:
EFIINC = /usr/include/efi
GNUEFILIB = /usr/lib
EFILIB = /usr/lib
EFICRT0 = /usr/lib# Comment out above and uncomment below if using locally-compiled GNU-EFI....
#EFIINC = /usr/local/include/efi
#GNUEFILIB = /usr/local/lib
#EFILIB = /usr/local/lib
#EFICRT0 = /usr/local/lib
咱們把上面四行註釋掉,而後把最下面四行取消註釋,保存文件。
三、編譯安裝rEFInd。
最後咱們輸入如下命令,編譯安裝rEFInd:
cd ~/Downloads/refind-0.11.2 make all sudo make install
rEFInd被安裝到/boot/efi/EFI/refind目錄下了,咱們能夠經過修改其中的refind.conf配置文件來定製一些啓動選項。
至此,gnu-efi+rEFInd就編譯安裝好了。重啓計算機或虛擬機看一下效果吧。
編譯安裝UDK+rEFInd:
一、編譯UDK 2017。把UDK 2017解壓到/usr/local目錄下。解壓過程也不講了。輸入如下命令:
cd /usr/local/edk2-vUDK2017 source edksetup.sh BaseTools
而後咱們須要修改Conf/target.txt文件。 把文件裏面的一些參數改爲下面這樣:
ACTIVE_PLATFORM = MdePkg/MdePkg.dsc
TARGET = RELEASE
TARGET_ARCH = X64
TOOL_CHAIN_TAG = GCC5
MAX_CONCURRENT_THREAD_NUMBER = 4
最後一個參數MAX_CONCURRENT_THREAD_NUMBER = 4,這個4指的是並行線程數,有幾個邏輯CPU就改爲幾個吧,這樣編譯會快些。
再輸入命令(這裏咱們先安裝必須的python和uuid-dev軟件包):
sudo apt-get install python uuid-dev make -C BaseTools/Source/C build
過一段時間就編譯好了。
二、編譯rEFInd。輸入如下命令:
cd ~/Downloads/refind-0.11.2 make all sudo make install
至此,UDK+rEFInd就編譯安裝好了。