目录
- 一、编辑 /etc/default/grub
- 二、关于 /etc/default/grub 拓展
- 1. `GRUB_DEFAULT`
- 2. `GRUB_TIMEOUT` 和 `GRUB_TIMEOUT_STYLE`
- 3. `GRUB_CMDLINE_LINUX` 和 `GRUB_CMDLINE_LINUX_DEFAULT`
- 4. `GRUB_DISABLE_OS_PROBER`
- 5. `GRUB_GFXMODE`
- 6. `GRUB_BACKGROUND`
- 7. `GRUB_SAVEDEFAULT`
- 8. `GRUB_HIDDEN_TIMEOUT` 和 `GRUB_HIDDEN_TIMEOUT_QUIET`
- 9. `GRUB_DISABLE_RECOVERY`
- 10. `GRUB_ENABLE_CRYPTODISK`
- 11. `GRUB_DISTRIBUTOR`
- 12. `修改后如何生效`
一、编辑 /etc/default/grub
-
打开终端
按Ctrl + Alt + T
打开终端。 -
编辑GRUB配置文件
运行以下命令:sudo vim /etc/default/grub
-
修改默认启动项
- 找到
GRUB_DEFAULT
这一行。 - 两种修改方式:
- 按序号设置:
GRUB_DEFAULT=X
(X
是GRUB菜单中目标系统的序号,从0开始计数)。
例如:Windows在菜单第3项,则设置为GRUB_DEFAULT=2
。 - 按名称设置:
GRUB_DEFAULT="菜单标题"
(需用双引号包裹完整的菜单标题)。
例如:GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"
- 按序号设置:
- 找到
-
保存并更新GRUB
- 保存并退出vim
- 运行以下命令使更改生效:
sudo update-grub
-
双系统时间同步问题
- 如果Windows和Ubuntu时间不一致,可能是由于硬件时钟时区差异。
- 在Ubuntu中修复:
timedatectl set-local-rtc 1 --adjust-system-clock
二、关于 /etc/default/grub 拓展
在 Ubuntu 中,/etc/default/grub
是 GRUB(GRand Unified Bootloader)的配置文件,用于控制启动菜单的行为。以下是该文件中常见字段的详细解释:
1. GRUB_DEFAULT
- 作用:设置默认启动的菜单项。
- 可选值:
0
(默认):启动第一个菜单项(通常是当前系统)。X
:数字,表示菜单项的索引(从0
开始)。"菜单标题"
:直接用引号包裹菜单项的名称(如"Windows Boot Manager"
)。saved
:使用grub-reboot
或grub-set-default
动态设置默认项。
示例:
GRUB_DEFAULT=0 # 默认启动第一个菜单项
GRUB_DEFAULT=2 # 默认启动第三个菜单项
GRUB_DEFAULT="Ubuntu, with Linux 5.15.0-76-generic"
2. GRUB_TIMEOUT
和 GRUB_TIMEOUT_STYLE
GRUB_TIMEOUT
:- 启动菜单的等待时间(秒)。
-1
:无限等待用户选择。0
:立即启动默认项,不显示菜单。
GRUB_TIMEOUT_STYLE
:menu
:显示完整菜单(默认)。countdown
:显示倒计时界面。hidden
:隐藏菜单(需按Shift
或Esc
显示)。
示例:
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu
3. GRUB_CMDLINE_LINUX
和 GRUB_CMDLINE_LINUX_DEFAULT
- 作用:向 Linux 内核传递启动参数。
- 区别:
GRUB_CMDLINE_LINUX_DEFAULT
:仅影响正常启动(如quiet splash
隐藏启动日志)。GRUB_CMDLINE_LINUX
:影响所有启动模式(包括恢复模式)。
示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # 默认启动参数(静默+图形动画)
GRUB_CMDLINE_LINUX="nomodeset" # 所有模式禁用显卡驱动
4. GRUB_DISABLE_OS_PROBER
- 作用:是否禁用自动检测其他操作系统(如 Windows)。
- 可选值:
true
:禁用检测(双系统需设为false
)。false
(默认):允许检测其他系统并添加到菜单。
示例:
GRUB_DISABLE_OS_PROBER=false # 允许检测 Windows
5. GRUB_GFXMODE
- 作用:设置 GRUB 菜单的图形分辨率(需显卡支持)。
- 格式:
宽度x高度
或auto
。
示例:
GRUB_GFXMODE=1920x1080
6. GRUB_BACKGROUND
- 作用:设置 GRUB 菜单的背景图片(需图片路径为
.png
或.tga
格式)。 - 注意:图片需放在
/boot/grub/
目录下。
示例:
GRUB_BACKGROUND="/boot/grub/ubuntu.png"
7. GRUB_SAVEDEFAULT
- 作用:是否记住上次选择的启动项(需
GRUB_DEFAULT=saved
)。 - 可选值:
true
:启用记忆功能。false
(默认):禁用。
示例:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
8. GRUB_HIDDEN_TIMEOUT
和 GRUB_HIDDEN_TIMEOUT_QUIET
- 作用:控制菜单隐藏行为(旧版本 GRUB 适用)。
- 注意:新版 GRUB 改用
GRUB_TIMEOUT_STYLE=hidden
。
9. GRUB_DISABLE_RECOVERY
- 作用:是否禁用恢复模式菜单项。
- 可选值:
true
:禁用恢复模式。false
(默认):显示恢复模式。
示例:
GRUB_DISABLE_RECOVERY=false
10. GRUB_ENABLE_CRYPTODISK
- 作用:是否支持加密磁盘启动(如全盘加密的 LUKS)。
- 可选值:
y
:启用。n
(默认):禁用。
11. GRUB_DISTRIBUTOR
- 作用:设置 GRUB 菜单中显示的 Linux 发行版名称。
- 默认值:
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
默认值显示效果:
Ubuntu
Advanced options for Ubuntu
Windows Boot Manager (on /dev/nvme0n1p1)
示例:
GRUB_DISTRIBUTOR="MyLinux"
显示效果:
MyLinux
Advanced options for MyLinux
Windows Boot Manager (on /dev/nvme0n1p1)
12. 修改后如何生效
运行以下命令更新 GRUB 配置:
sudo update-grub