sudo nano /etc/default/grub
,2. 修改 GRUB_DEFAULT
值为目标系统在启动菜单中的序号(从0开始计数),3. 按Ctrl+X保存退出,4. 执行 sudo update-grub
更新配置,5. 重启系统生效修改前准备
- 备份配置文件(避免操作失误导致无法启动):
sudo cp /etc/default/grub /etc/default/grub.bak
- 查看当前启动项列表:
sudo grep -P "menuentry |submenu" /boot/grub/grub.cfg
输出示例(记录目标项引号内的名称):
menuentry ‘Ubuntu 22.04 LTS (5.15.0-78-generic)’ …
menuentry ‘Windows Boot Manager (on /dev/sda1)’ …
修改引导顺序的3种方法
方法1:修改GRUB配置文件(推荐)
- 编辑GRUB配置:
sudo nano /etc/default/grub
- 找到
GRUB_DEFAULT
参数:- 按序号设置(从0开始计数)
例如设置第3项为默认:GRUB_DEFAULT=2
- 按名称设置(更稳定,推荐)
GRUB_DEFAULT="Ubuntu 22.04 LTS (5.15.0-78-generic)"
- 按序号设置(从0开始计数)
- 保存文件,更新GRUB:
sudo update-grub # Ubuntu/Debian sudo grub2-mkconfig -o /boot/grub2/grub.cfg # CentOS/RHEL
方法2:使用grub-set-default
命令(仅限按序号)
sudo grub-set-default 2 # 设置第3项为默认 sudo update-grub
方法3:临时修改(单次生效)
重启时按住 Shift(BIOS)或 Esc(UEFI)进入GRUB菜单,选中目标项后按 c
进入命令行:
set default="菜单项名称" save_env default # 仅本次生效 boot
高级场景处理
- 子菜单项设置(如内核列表)
使用>
连接父子菜单名称:GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-78-generic"
- 调整超时时间:
修改/etc/default/grub
中的GRUB_TIMEOUT=5
(单位:秒)。
验证与故障恢复
- 重启系统:
sudo reboot
- 检查默认项是否生效:
grub-editenv list # 查看当前默认项
- 启动失败修复:
- 使用Live USB进入救援模式,还原备份的配置:
sudo cp /etc/default/grub.bak /etc/default/grub sudo update-grub
- 重装GRUB:
sudo grub-install /dev/sdX # sdX为系统磁盘(如sda) sudo update-grub
- 使用Live USB进入救援模式,还原备份的配置:
注意事项
- 权限要求:所有命令需
sudo
权限。 - 名称准确性:菜单名称必须与
grub.cfg
中的完全一致(包括大小写和空格)。 - UEFI/BIOS差异:
- UEFI系统配置文件路径可能为
/boot/efi/EFI/[发行版]/grub.cfg
- 工具命令可能为
grub2-mkconfig
(CentOS)
- UEFI系统配置文件路径可能为
重要提示:错误修改可能导致系统无法启动,操作前务必备份!对内核不熟悉的用户建议使用图形工具(如
grub-customizer
)。
引用说明基于GRUB官方文档(www.gnu.org/software/grub)及Linux内核维护指南,实际操作请结合发行版手册,如Ubuntu Wiki或CentOS文档。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/24522.html