Ubuntu启动引导项调整

Ubuntu开机启动引导界面除了Ubuntu、Windows系统之外,还有Advanced options for KubuntuUEFI Firmware Settings等基本不用的条目。今天记录一下如何移除这些条目及相关问题。

启动菜单计时调整

开机引导界面菜单选择时间默认为10s倒计时,10秒内选择,对应的启动项,否则会默认启动系统已选定的项。我希望更改为系统停留在选择界面,直到我手动选择。
这个修改需要调整/etc/default/grub文件,打开对应文件:

 sudo nano /etc/default/grub

会看到很多配置项:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0   // 设定系统预选菜单
GRUB_TIMEOUT_STYLE=hidden   // 设定超时样式,默认超时隐藏。可设定为menu,超时显示启动项菜单
GRUB_TIMEOUT=-1  //设定菜单等待时间,默认10秒;0为不等待;-1为持续等待,直到手动选择。
GRUB_DISTRIBUTOR='Kubuntu'  // 发行版本名,我使用的是Kubuntu
GRUB_CMDLINE_LINUX_DEFAULT='quiet splash'  // quiet 启动时简化提示信息;splash 启动时用图形化进度条代替控制台字符输出。也可设置为text 
GRUB_CMDLINE_LINUX=""  // 导入到启动项的命令行

要实现我的需求,直接配置GRUB_TIMEOUT=-1即可。

此时执行sudo update-grub命令更新引导配置。

调整启动项顺序

我发现系统默认将Kubuntu排在第一位,而Windows排在第四位了。考虑到家里人使用我电脑时,主要是进入Windows系统,我想将Windows挪到第一位。
最开始我调整sudo nano /boot/grub/grub.cfg文件,直接在文件内调整顺序,删减所遇的启动项,发现更改后调用sudo update-grub命令就会将更改覆盖。
仔细查看sudo nano /boot/grub/grub.cfg文件注释,发现:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

原来该文件是由/etc/grub.d/etc/default/grub两个文件生成的。/etc/grub.d是一个文件夹,里面有很多文件,我们查看README文件,查看描述:

All executable files in this directory are processed in shell expansion order.

  00_*: Reserved for 00_header.
  10_*: Native boot entries.
  20_*: Third party apps (e.g. memtest86+).

The number namespace in-between is configurable by system installer and/or
administrator.  For example, you can add an entry to boot another OS as
01_otheros, 11_otheros, etc, depending on the position you want it to occupy in
the menu; and then adjust the default setting via /etc/default/grub.

通过文件夹里的文件描述及备注知道,我们可通过自定义配置修改启动项。
其中00_header配置头信息、初始内容;05_debian_theme配置主题;10_linux系统使用的Linux系统内核配置;20_memtest86+ 内存检测测试软件;30_os-prober系统检测其他操作系统。
其中文件名前部分数字,代表了执行的顺序。比如我要把其他操作系统放到Linux前面,只需要将30_os-prober文件名中数字30改为小于10_linux中数字10的数字,防止影响其他功能,我们改为大于05,小于10的数字7:

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/07_os-prober

此时,再次执行sudo update-grub命令更新引导配置,重启发现Windows已经挪到了第一位。

移除多余的引导项

我发现开机启动引导界面中除了Ubuntu、Windows外,还有Advanced options for KubuntuUEFI Firmware Settings等不常用条目,那么如何移除呢?
我们查看10_linux30_os-prober,发现并没有写死启动项,使用scripts扫描磁盘实现的,那么不具备脚本编写能力的花,只能通过/boot/grub/grub.cfg进行调整了。
打开文件,找到对应的项删除即可。但需要注意:调整/boot/grub/grub.cfg后,再次执行sudo update-grub命令会将调整内容覆盖。因此调整后不要再执行sudo update-grub命令。


   转载规则


《Ubuntu启动引导项调整》 gure 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Ubuntu Hexo环境还原问题 Ubuntu Hexo环境还原问题
系统重装、博客项目恢复中,发现重新安装hexo环境出现问题:主要矛盾点在于npm、node版本升级,与之前版本相差甚远。拉取原有项目安装依赖过程中失败、并且掺杂安装权限问题,导致错误频出。我记录遇到的主要问题及对应解决方案。 npm安装权限
2024-07-09
下一篇 
Android14安装低版本应用 Android14安装低版本应用
前几天给妈妈生日,考虑到上一部手机用了快5年了,就买了一部红米K70手机,使用手机主要用来微信聊天、刷抖音视频。之所以买小米手机,是因为她不认字。上一部红米Note Pro手机安装了讯飞语音引擎后,配合小米手机的辅助功能权限,可以实现点击文
2024-07-04
  目录