前言

之前无聊, 我尝试在实体机(移动硬盘)上安装 Arch Linux, 我跟着官方的安装指南一步一步的安装
前面安装操作系统和配置系统的部分对我来说并没有什么困难, 但到了安装引导程序的部分,就出问题了

我在虚拟机中就演练过一次 Arch Linux 系统的安装, 一切顺利, 但到了实体机上(移动硬盘)
当我重新插拔移动硬盘后, 再次尝试启动系统的时候, 就会发现 BIOS 的启动选项中不存在之前安装的 GRUB 引导程序

我就挺纳闷, 既然我已经把 GRUB 安装到硬盘上了, 为什么重新插拔硬盘后 BIOS 就检测不到引导程序了
我在网上查找相关的问题, 结果发现我在安装 GRUB 时没有添加 --removable 这个选项, 才导致上文提到的问题...

(╯°□°)╯︵ ┻━┻


GRUB

ArchWiKi 写的非常详细, 我只是写个大概(╹ڡ╹ )

  1. 安装 grubefibootmgr
  2. 挂载 EFI 系统分区
  3. 将 GRUB 引导程序至 EFI 系统分区
  4. 生成主配置文件
  5. 重启系统

第一步是在系统上安装 GRUB 和 efibootmgr 这两个软件

# 安装 GRUB 和 efibootmgr
pacman -S grub efibootmgr

第二部是将 EFI 系统分区挂载到系统上进行操作

# 如根目录下没有 "/esp" 目录, 手动创建一个即可

mount /dev/"你的EFI系统分区"  /esp

第三步, 安装引导程序至 EFI 系统分区

# 注意, 该命令要在根目录下执行
# 如果你的系统是安装在移动硬盘上的, 记得加上 `--removable` 选项

grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --removable

第四步, 生成 GRUB 的主配置文件
完成这一步, 基本上就没有问题了

grub-mkconfig -o /boot/grub/grub.cfg

第五步, 重新启动, 看是 BIOS 是否能够检测到 GRUB 引导程序

最后修改:2024 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏