在 Fedora 下,重建(更新)GRUB 配置文件的命令取决于你的系统启动模式(UEFI 或 Legacy BIOS)以及安装方式。
对于绝大多数现代 Fedora 系统(UEFI 启动),请使用以下命令:
1. 标准 UEFI 系统(最常见)
1 | sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg |
2. 传统 BIOS/Legacy 系统
1 | sudo grub2-mkconfig -o /boot/grub2/grub.cfg |
3. 通用自动检测命令(推荐)
如果你不确定路径,Fedora 提供了一个脚本可以自动判断并写入正确位置:
1 | sudo grub2-mkconfig -o $(find /boot -name "grub.cfg" | head -n 1) |
注意:如果找到多个 grub.cfg,请确保选择 /boot/efi/EFI/fedora/grub.cfg (UEFI) 或 /boot/grub2/grub.cfg (BIOS)。
完整操作流程(针对你之前的 DG1 问题)
假设你要添加 i915.enable_guc=0 参数:
编辑配置文件:
1
sudo vi /etc/default/grub
找到
GRUB_CMDLINE_LINUX行,在引号内追加参数:1
GRUB_CMDLINE_LINUX="... existing_params ... i915.enable_guc=0"
重建 GRUB 配置:
1
2
3
4
5# 如果是 UEFI 系统(大多数情况)
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# 如果是 BIOS 系统
sudo grub2-mkconfig -o /boot/grub2/grub.cfg验证更改(可选):
检查生成的文件中是否包含新参数:1
2
3grep "i915.enable_guc=0" /boot/efi/EFI/fedora/grub.cfg
# 或
grep "i915.enable_guc=0" /boot/grub2/grub.cfg重启系统:
1
sudo reboot
常见问题排查
- 权限拒绝:务必使用
sudo。 - 文件不存在:如果
/boot/efi/EFI/fedora/grub.cfg不存在,请检查/boot/efi/EFI/目录下是否有其他文件夹(如fedora可能拼写不同,或者在BOOT文件夹下)。通常 Fedora 默认路径是/boot/efi/EFI/fedora/grub.cfg。 - BLS 启动加载器:Fedora 默认使用 BLS (Boot Loader Specification)。直接编辑
/etc/default/grub并运行grub2-mkconfig是兼容且安全的做法,它会自动生成 BLS 条目。不要手动编辑/boot/loader/entries/下的文件,因为它们会在内核更新时被覆盖。