前言
之前无聊, 我尝试在实体机(移动硬盘)上安装 Arch Linux, 我跟着官方的安装指南一步一步的安装
前面安装操作系统和配置系统的部分对我来说并没有什么困难, 但到了安装引导程序的部分,就出问题了
我在虚拟机中就演练过一次 Arch Linux 系统的安装, 一切顺利, 但到了实体机上(移动硬盘)
当我重新插拔移动硬盘后, 再次尝试启动系统的时候, 就会发现 BIOS 的启动选项中不存在之前安装的 GRUB 引导程序
我就挺纳闷, 既然我已经把 GRUB 安装到硬盘上了, 为什么重新插拔硬盘后 BIOS 就检测不到引导程序了
我在网上查找相关的问题, 结果发现我在安装 GRUB 时没有添加 --removable
这个选项, 才导致上文提到的问题...
(╯°□°)╯︵ ┻━┻
GRUB
ArchWiKi 写的非常详细, 我只是写个大概(╹ڡ╹ )
- 安装
grub
和efibootmgr
- 挂载 EFI 系统分区
- 将 GRUB 引导程序至 EFI 系统分区
- 生成主配置文件
- 重启系统
第一步是在系统上安装 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 引导程序