
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.0 和 grub 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 参数?欢迎在评论区留言!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月12日 05时14分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
解决数据库报ORA-02289:序列不存在错误
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
成功解决升级virtualenv报错问题
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08