rEFInd是macOS系统上的EFI启动管理器,它具有漂亮的图形界面和自动识别操作系统的功能。当然,它也能够在Linux系统上安装运行。
准备工作:
1、一台安装有Ubuntu 64位系统(必须用UEFI方式安装,本文用的是16.04.3版本)的计算机或虚拟机
2、必须安装build-essential软件包
3、下载软件(源代码):UDK 2017/gnu-efi 3.0.6/rEFInd 0.11.2
rEFInd有两种编译方法,一是UDK+rEFInd,二是gnu-efi+rEFInd。
编译安装gnu-efi+rEFInd(先从最简单的开始):
1、编译gnu-efi。文件解压缩过程就不讲了。打开终端,输入以下命令:
cd ~/Downloads/gnu-efi-3.0.6
make all
sudo make install
这样gnu-efi就编译安装好了。
2、准备编译rEFInd。
这里要改一个文件才能正常编译,否则会报错。
我们打开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
我们把上面四行注释掉,然后把最下面四行取消注释,保存文件。
3、编译安装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:
1、编译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
过一段时间就编译好了。
2、编译rEFInd。输入以下命令:
cd ~/Downloads/refind-0.11.2
make all
sudo make install
至此,UDK+rEFInd就编译安装好了。