现在是2025年1月18日,我的 CachyOS 系统,在我升级完主板 BIOS 后 UEFI 引导里的 CachyOS 选项消失,为此进行以下操作进行 Grub 的修复工作。
主机情况说明
CPU AMD 9600、主板 技嘉 X870、硬盘 致钛Ti600 500GB
分区情况
# 使用 lsblk -f 命令显示硬盘分区情况,可以看到我只分了两个区,efi分区和系统分区
nvme0n1
├─nvme0n1p1 vfat FAT32 298.7M 0% /boot/efi (*EFI分区)
└─nvme0n1p2 btrfs 442.2G 4% /home、/var/cache、/var/log、/srv、/var/tmp、/root、/ (* 系统分区)
正确挂载硬盘分区切换至 root
首先你要有一个 CachyOS 的安装盘,电脑开机选择从它引导,进入安装盘的 CachyOS Live 环境,找到并使用 Alacritty 或者 Konsole 终端。
# 切换到 root 用户(这里是 CachyOS Live 环境里的 root, 不是你硬盘里已有系统的 root)
sudo su
# 根据硬盘的设备名称的不同 nvme#n#p# 根据自己设备填写
# 由于我使用的 Btrfs 文件系统所以挂载是需要使用 subvol=@
# /home 需要使用 subvol=@home
mount -o subvol=@ /dev/nvme0n1p2 /mnt
# 创建并挂载 EFI
mkdir -p /mnt/boot/efi /mnt/home
mount /dev/nvme0n1p1 /mnt/boot/efi
mount -o subvol=@home /dev/nvme0n1p2 /mnt/home
#使用 cachy-chroot 命令切换到硬盘上的CachyOS,在此之前我们都是在 CachyOS live 系统操作的(这个命令类似 Arch 的 arch-chroot 命令)
cachy-chroot
使用 Grub 重建 UEFI 引导
# 安装 efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos
# 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
收尾工作
退出 cachy-chroot 、卸载和重启。
# 退出 cachy-chroot
exit
# 卸载 /mnt
umount -R /mnt
# 重启
reboot