主要内容脉络 第一部分当电脑按下电源键后发生了什么 第二部分GRUB2的原理、文件结构与“话语权” 第三部分实战在Debian系Linux中修改启动项 第四部分双系统用户的专属技巧与避坑指南 第一部分启动管理器一份“菜单”而已想象一下电脑开机就像去一家拥有多个厨房操作系统的豪华餐厅。BIOS/UEFI是餐厅门口的接待员它的任务很简单找到一份名为“启动菜单”的名单启动管理器然后把它交给顾客CPU。GRUB2GRand Unified Bootloader version 2就是这份“智能启动菜单”。它不仅仅是一张纸它还知道- 1️⃣ 厨房ALinux在哪扇门后面内核文件位置- 2️⃣ 厨房BWindows需要特殊的引导方式- 3️⃣ 如果顾客10秒不点菜就自动推荐招牌菜默认启动项你的目标就是学会如何编辑这份“菜单”的推荐规则和展示方式。️ 第二部分拆解GRUB2的“工具箱”与“说明书”在Debian及其衍生版如Ubuntu中GRUB2的“工具箱”主要放在/boot/grub/和/etc/default/grub。别怕我们只关注最常用的几件“工具” 核心目录与文件-/boot/grub/grub.cfg【⚠️ 切勿直接修改】这是GRUB2运行时读取的最终菜单文件由工具自动生成。手动改它更新后就会被覆盖。-/etc/default/grub【✨ 主配置文件】这才是你该修改的地方。它定义了默认项、超时时间等核心参数。-/etc/grub.d/这个目录下的脚本用于生成最终的grub.cfg。每个脚本对应菜单的一个部分。-30_os-prober这个脚本专门负责探测其他系统如Windows并添加到菜单。 核心参数解读在/etc/default/grub中# 默认启动的菜单项从0开始计数 GRUB_DEFAULT0 # 启动菜单显示时间秒设为-1则等待手动选择设为0则直接启动默认项 GRUB_TIMEOUT10 # 是否显示隐藏菜单在倒计时时按Shift/Esc可显示 GRUB_TIMEOUT_STYLEmenu # 传递给Linux内核的参数通常保持默认 GRUB_CMDLINE_LINUX_DEFAULTquiet splash 第三部分实战让启动项听你的话 目标1将默认启动项改为Windows假设它在菜单第二项即序号1步骤一安全备份好习惯从备份开始sudo cp /etc/default/grub /etc/default/grub.backup步骤二编辑配置文件sudo nano /etc/default/grub找到GRUB_DEFAULT0这一行将其修改为GRUB_DEFAULT1如果你想使用菜单标题名更稳定可以设置为GRUB_DEFAULTWindows Boot Manager (on /dev/nvme0n1p1)如何知道准确的标题名重启电脑在GRUB菜单界面记下Windows那行完整的文字即可。步骤三让修改生效修改/etc/default/grub后必须运行以下命令来重新生成最终的grub.cfgsudo update-grub你会看到输出信息中包含了“Found Windows Boot Manager...”说明探测成功。 目标2缩短/关闭启动菜单等待时间同样编辑/etc/default/grub修改以下参数# 等待2秒 GRUB_TIMEOUT2 # 或者不显示菜单直接启动默认项适合单一系统或懒得选的人 # GRUB_TIMEOUT0修改后同样要运行sudo update-grub。⚡ 第四部分双系统专属技巧与重要提醒 技巧一开机临时选择系统在GRUB菜单出现时使用上下箭头键选择你想要启动的系统回车即可。本次生效不影响永久设置。 技巧二更“高级”的永久设置方法使用grub-set-default如果你知道目标启动项在grub.cfg中的确切序号从0开始可以直接设置# 例如设置默认启动第2项序号1 sudo grub-set-default 1 sudo update-grub如果以上操作后发现无效需要确认下/etc/default/grub下的配置项设置GRUB_DEFAULTsaved也即由具体的启动序号修改为 saved如此grub-set-default命令才能生效 【必读】避坑与重要注意事项⚠️ 警告1序号从0开始GRUB_DEFAULT0代表第一项1代表第二项以此类推。这是新手最常犯的错误。
深入浅出GRUB2配置指南:双系统启动随心所欲
主要内容脉络 第一部分当电脑按下电源键后发生了什么 第二部分GRUB2的原理、文件结构与“话语权” 第三部分实战在Debian系Linux中修改启动项 第四部分双系统用户的专属技巧与避坑指南 第一部分启动管理器一份“菜单”而已想象一下电脑开机就像去一家拥有多个厨房操作系统的豪华餐厅。BIOS/UEFI是餐厅门口的接待员它的任务很简单找到一份名为“启动菜单”的名单启动管理器然后把它交给顾客CPU。GRUB2GRand Unified Bootloader version 2就是这份“智能启动菜单”。它不仅仅是一张纸它还知道- 1️⃣ 厨房ALinux在哪扇门后面内核文件位置- 2️⃣ 厨房BWindows需要特殊的引导方式- 3️⃣ 如果顾客10秒不点菜就自动推荐招牌菜默认启动项你的目标就是学会如何编辑这份“菜单”的推荐规则和展示方式。️ 第二部分拆解GRUB2的“工具箱”与“说明书”在Debian及其衍生版如Ubuntu中GRUB2的“工具箱”主要放在/boot/grub/和/etc/default/grub。别怕我们只关注最常用的几件“工具” 核心目录与文件-/boot/grub/grub.cfg【⚠️ 切勿直接修改】这是GRUB2运行时读取的最终菜单文件由工具自动生成。手动改它更新后就会被覆盖。-/etc/default/grub【✨ 主配置文件】这才是你该修改的地方。它定义了默认项、超时时间等核心参数。-/etc/grub.d/这个目录下的脚本用于生成最终的grub.cfg。每个脚本对应菜单的一个部分。-30_os-prober这个脚本专门负责探测其他系统如Windows并添加到菜单。 核心参数解读在/etc/default/grub中# 默认启动的菜单项从0开始计数 GRUB_DEFAULT0 # 启动菜单显示时间秒设为-1则等待手动选择设为0则直接启动默认项 GRUB_TIMEOUT10 # 是否显示隐藏菜单在倒计时时按Shift/Esc可显示 GRUB_TIMEOUT_STYLEmenu # 传递给Linux内核的参数通常保持默认 GRUB_CMDLINE_LINUX_DEFAULTquiet splash 第三部分实战让启动项听你的话 目标1将默认启动项改为Windows假设它在菜单第二项即序号1步骤一安全备份好习惯从备份开始sudo cp /etc/default/grub /etc/default/grub.backup步骤二编辑配置文件sudo nano /etc/default/grub找到GRUB_DEFAULT0这一行将其修改为GRUB_DEFAULT1如果你想使用菜单标题名更稳定可以设置为GRUB_DEFAULTWindows Boot Manager (on /dev/nvme0n1p1)如何知道准确的标题名重启电脑在GRUB菜单界面记下Windows那行完整的文字即可。步骤三让修改生效修改/etc/default/grub后必须运行以下命令来重新生成最终的grub.cfgsudo update-grub你会看到输出信息中包含了“Found Windows Boot Manager...”说明探测成功。 目标2缩短/关闭启动菜单等待时间同样编辑/etc/default/grub修改以下参数# 等待2秒 GRUB_TIMEOUT2 # 或者不显示菜单直接启动默认项适合单一系统或懒得选的人 # GRUB_TIMEOUT0修改后同样要运行sudo update-grub。⚡ 第四部分双系统专属技巧与重要提醒 技巧一开机临时选择系统在GRUB菜单出现时使用上下箭头键选择你想要启动的系统回车即可。本次生效不影响永久设置。 技巧二更“高级”的永久设置方法使用grub-set-default如果你知道目标启动项在grub.cfg中的确切序号从0开始可以直接设置# 例如设置默认启动第2项序号1 sudo grub-set-default 1 sudo update-grub如果以上操作后发现无效需要确认下/etc/default/grub下的配置项设置GRUB_DEFAULTsaved也即由具体的启动序号修改为 saved如此grub-set-default命令才能生效 【必读】避坑与重要注意事项⚠️ 警告1序号从0开始GRUB_DEFAULT0代表第一项1代表第二项以此类推。这是新手最常犯的错误。