ubuntu用户自定义 grub 引导菜单
发布日期:2021-05-17 19:30:20 浏览次数:18 分类:精选文章

本文共 1796 字,大约阅读时间需要 5 分钟。

Ubuntu 用户自定义 GRUB 引导菜单


GRUB(Grand Unified Bootloader)是现代 Unix-like 系统中广泛使用的引导加载程序。对于 Ubuntu 来说,默认配置通常能满足大多数用户的需求,但某些情况下,特别是当你需要定制启动菜单或调整启动顺序时,可能需要手动配置 GRUB。


GRUB 的两种主要版本

GRUB 有两种主要版本:grub 1.0grub 2.x。两者的配置方式有所不同:

  • grub 1.0

    • 配置文件为 /boot/grub/menu.lst
    • 通常直接编辑配置文件即可完成。
  • grub 2.x

    • 配置文件为 /boot/grub/grub.cfg
    • 不同于旧版本,grub 2.x 通过运行 update-grub 命令来生成和更新配置文件。
    • 如果需要在特定位置创建自定义的启动菜单,可以使用 grub-mkconfig -o 选项指定新的路径。

使用 /etc/grub.d/ 脚本配置启动

grub 2.x 的配置涉及多个脚本文件,位于 /etc/grub.d/ 目录下。这些脚本文件在运行 update-grub 时会被执行。常见脚本文件包括:

$ ls /etc/grub.d/
00_header 10_linux 20_memtest86+ 40_custom README05_debian_theme 20_linux_xen 30_os-prober 41_custom
  • 30_os-prober:用于检测和配置BOOTverified标志。
  • 40_custom:用于手动添加自定义启动选项。

如果你需要调整启动优先级或添加自定义启动项,可以在这些脚本文件中进行编辑。


GRUB 2.x 系ntax 语法示例

以下是一个典型的 GRUB 2.x 配置示例,假设 Ubuntu 18.04.2 LTS 安装在 /dev/sdb4分区,设备 UUID 为 b611cee4-cc3e-43eb-9dd3-d9b133fbe752

menuentry 'Ubuntu 18.04.2 LTS (18.04) (on /dev/sdb4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-b611cee4-cc3e-43eb-9dd3-d9b133fbe752' {
insmod part_msdos
insmod ext2
# 确定根分区位置
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set-root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 99ad338e-0f1a-4e78-bc99-60cc2dbba830
else
search --no-floppy --fs-uuid --set-root 99ad338e-0f1a-4e78-bc99-60cc2dbba830
fi
# 加载内核和相关模块
linux /vmlinuz-4.18.0-20-generic root=UUID=b611cee4-cc3e-43eb-9dd3-d9b133fbe752 ro quiet splash $vt_handoff
# 加载初始内存镜像
initrd /initrd.img-4.18.0-20-generic
}

分区表 UUID 配置

在 GRUB 配置中,分区表的 UUID 是关键的一部分。确保分区表 UUID 如下格式:

UUID="b611cee4-cc3e-43eb-9dd3-d9b133bbee352"
TYPE="ext4"
PARTUUID="96a3c92f-04"

通过以上方法,你可以完全自定义 Ubuntu 系统的 GRUB 引导菜单。是否需要进一步优化启动配置或调整 GRUB 参数?欢迎在评论区留言!

上一篇:grub制作USB启动盘
下一篇:ubuntu 18.04LTS + MATLAB2018b启动opengl 硬件加速

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月12日 05时14分00秒