之前安装linux的启动器时使用的是grub,后来安装的时候总会遇到无法写入的问题,所以后来换了使用refind这个启动器。但是当时也是因为之前安装grub失败了之后安装的refind,所以这样没有任何问题。但是单独安装refind的时候才发现有很大问题。这也是一个让我疑惑好久的问题
就单单按照wiki上面描述的那样安装一般都是不会成功的,因为中间缺少了一些重要的步骤
refind安装在esp分区中,是不需要挂载的,安装之后就不需要管它了,它可以自动寻找有那些操作系统
自动安装
安装软件
安装这个时候应该默认已经安装了efibootmgr,如果没有那么手动安装
sudo pacman -S refind-efi
使用脚本自动安装
/dev/sdXY为ESP分区,--usedefault参数的作用就是使用efibootmgr为支持uefi启动的电脑添加启动项
sudo refind-install --usedefault /dev/sdXY
如果这上面两步就可以安装好,那就没得问题,可问题是经常无法正常使用,所以需要更加了解它的安装方式,那么就得手动安装。
手动安装
挂载ESP分区
一般来说我们的ESP分区是挂载到/boot/efi
目录下
sudo mount /dev/sdXY /boot/efi
建目录
建立文件存放目录,BOOT目录是启动的默认目录,所以我们将文件都放这里好了
sudo mount /dev/sdXY /boot/efi
sudo mkdir -p /boot/efi/EFI/BOOT
复制启动文件
支持uefi启动的电脑启动时会在BOOT目录下寻找boox64.efi这个文件
sudo cp /usr/share/refind/refind_x64.efi /boot/efi/EFI/BOOT/bootx64.efi
手动添加efi firmware启动项
电脑启动后的启动项是哪里来的?就需要通过efibootmgr来生成并指定,不然可是没有启动项的
sudo efibootmgr -c -d /dev/sdX -p Y -l EFI/BOOT/bootx64.efi -L "LENBOOT" -v
-c表示create创建 ;
-d表示disk磁盘 ;
-p表示part分区;
-l表示loader启动项,后面的路径即为esp分区中文件路径
-L表示label标签,给启动项取个名字
-v表示verbose查看
查看是否添加成功
efibootmgr
添加驱动
启动项添加成功后并不代表就可以正常启动系统了,还需要添加驱动。可以看到drivers_x64下面包含了许多驱动,如果只有一个linux操作系统的话,那么只需要复制 ext4_x64.efi
就足够了
sudo cp /usr/share/refind/drivers_x64/* /boot/efi/EFI/BOOT/drivers_x64/
这个时候的目录结构如下
重启就可以正常使用了
shutdown -r now
efibootmgr的基本用法
删除无用的启动项 ,num为efibootmgr查看到的四位数字
sudo efibootmgr -b num -B
refind主题配置
对主题进行配置,那么就要添加配置文件refind.conf
和主题文件themes
复制配置文件
sudo cp /usr/share/refind/refind.conf-sample /boot/efi/EFI/BOOT/refind.conf
新建存放主题文件夹,将喜欢的主题复制过来即可
sudo mkdir -p /boot/efi/EFI/BOOT/themes
在配置文件最后添加
include themes/主题名/theme.conf
此时的目录结构如下
网友评论