CachyOS与ManjaroOS在Grub引导形式上的踩坑

字号
字体
版心
外观
天空

CachyOS与ManjaroOS在Grub引导形式上的踩坑

I

Incohua

•2 分钟阅读

前言#

作者的朋友最近一直使用 Manjaro,自己也跟着试用 CachyOS / Manjaro 系统,过程中碰到了不少坑,于是把遇到的问题和解决流程记录下来,方便以后回顾或给遇到同样问题的朋友参考。

正文#

本文假设你已经完成系统安装,只是无法从 EFI 启动 GRUB(常见于某些笔记本 NVMe + NVRAM 写入受限的情况)。

作者遇到的情况如下:

Grub 空间满了无法写入 EFI 分区引导 但是实际查看并没有这个问题

text
grub-install: error: efibootmgr failed to register the boot entry: Input/output error

环境与磁盘信息#

  • 机型:ROG M16 2022
  • 分区信息:
text
NAME        FSTYPE   FSVER            LABEL      UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0       squashfs 4.0                                                                    0   100% /run/archiso/airootfs
sda
├─sda1      exfat    1.0              Ventoy     4E21-0000
│ └─ventoy  iso9660  Joliet Extension COS_202508 2025-08-28-13-38-09-00
└─sda2
zram0       swap     1                zram0      209e31fb-fcc9-4171-94ee-4f1281e3e3cf                [SWAP]
nvme0n1
├─nvme0n1p1 vfat     FAT32                       AF8B-F7AC
├─nvme0n1p2
└─nvme0n1p3 ntfs                      系统       A6E83F17E83EE4E9
nvme1n1
├─nvme1n1p1 ntfs                      软件       CC8A3E9A8A3E814E
├─nvme1n1p2 btrfs                                9d7c31b4-70cf-4e6a-beca-184cf980f389
└─nvme1n1p3 btrfs                                ec2d3428-fc8e-4563-9d18-2333e467fc66

启动安装时实际挂载分区:

分区容量已用可用使用率挂载点类型
nvme0n1p1599M252M348M42%/mnt/boot/efivfat (EFI)
nvme1n1p251G12G38G23%/mntbtrfs (@ 子卷)
nvme1n1p3207G6.3M204G1%/mnt/homebtrfs

步骤概览#

  1. 进入 LiveCD 环境
  2. 挂载 EFI 分区、根目录、和 home 分区。
  3. 进入 chroot
  4. 安装 / 修复 GRUB:
    • 尝试正常安装(如果 NVRAM 可写)。
    • 如果 NVRAM 不可写,使用 --no-nvram 或 --removable 复制到 EFI fallback 路径。
  5. 生成 grub. cfg,检查,退出并重启。
  6. 如仍无法启动,查看 BIOS 启动顺序或使用 efibootmgr 检查。

详细步骤#

  1. 挂载(示例,非使用 cachy-chroot) 如果你的根文件系统是 btrfs 并使用子卷(比如 @),可以这样挂载:
bash
# 挂载根子卷
mount -o subvol=@ /dev/nvme1n1p2 /mnt

# 创建并挂载 EFI 与 home
mkdir -p /mnt/boot/efi /mnt/home
mount /dev/nvme0n1p1 /mnt/boot/efi
mount /dev/nvme1n1p3 /mnt/home

检查挂载是否正确:

bash
df -h | grep -E '(nvme0n1p1|nvme1n1p2|nvme1n1p3)'
# 预期输出类似:
# /dev/nvme1n1p2   51G   12G   38G  23% /mnt
# /dev/nvme0n1p1  599M  252M  348M  42% /mnt/boot/efi
# /dev/nvme1n1p3  207G  6.3M  204G   1% /mnt/home
  1. 使用 cachy-chroot(推荐 CachyOS 用户) CachyOS 提供了方便的 cachy-chroot,会自动处理 btrfs 子卷挂载与必要的 bind mount。
Cachy-Chroot文档Helper tool to make it easier to chroot into systemswiki.cachyos.org

若使用 cachy-chroot,只需:

bash
cachy-chroot
# 完成后直接 exit 即可退出 chroot,cachy-chroot 会清理 mount
  1. 如果使用 arch-chroot(手动绑定)
  2. 在没有 cachy-chroot 的情况下,需要手动 bind /dev /proc /sys /run:
  3. 安装 / 修复 GRUB 常规(NVRAM 可写)用法:
bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos
grub-mkconfig -o /boot/grub/grub.cfg

如果 NVRAM 无法写入,可以采用以下替代方案:

方案 :使用 --no-nvram 并复制到 EFI removable/fallback

bash
# 仅安装文件,但不写入 NVRAM
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --no-nvram --recheck

# 把 grub 的 EFI 可执行文件复制到 fallback(确保能在 BIOS/UEFI 下通过 fallback 路径启动)
mkdir -p /boot/efi/EFI/BOOT
cp /boot/efi/EFI/cachyos/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI

# 生成配置
grub-mkconfig -o /boot/grub/grub.cfg

说明与注意事项

  • --no-nvram:只安装 EFI 文件,不尝试写入 NVRAM。
  • 在某些笔记本上(尤其厂商对 NVRAM 有限制或 bug)无法写入 EFI 变量,这时使用 --no-nvram 复制到 EFI fallback
  1. 退出 chroot、卸载并重启 若使用 cachy-chroot,直接 exit 即可,cachy-chroot 会自动清理挂载。若手动 chroot,则:
bash
# 退出 chroot
exit

# 卸载已挂载的分区(递归卸载)
umount -R /mnt

# 重启
reboot
  1. BIOS 设置

如果使用了 --no-nvram,只把文件放在 EFI/BOOT/BOOTX64. EFI,进入 BIOS/UEFI 设置并确保使用 “Removable media” 或将该 EFI 文件路径设为首选启动项;有些主板会自动识别。

结语#

虽然 Linux 发行版的桌面系统感觉上手不是很 Easy,但是用起来是真爽呀。 又省资源性能又好,就是要踩的坑太多了。

我的踩坑历程

  • 配置好了 Niri,怎么这么卡?
  • 显卡驱动怎么掉了
  • 字体怎么这么丑
  • 我的屏幕亮度怎么寄了
  • Xxx 组件怎么坏了
  • 我输入法怎么打不了字

然后,AI 真好用(

评论 0

按时间排序
评论还没开通
  1. 还没有评论。