在 早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedit /boot/grub/menu.lst ),修改该文件中到内容即可,但是到了Grub 2中,不能采用这种方式修改系统启动项了。
Grub 2特性
Grub 2(GRand Unified Bootloader, version 2)是Grub的第二版。Grub 2对Grub的接口进行了完整到重写,基于PUPA(详细介绍)项目到研究,Grub 2更模块化并且更方便扩展,Grub 2的一些提升如下:
具有图形化界面,支持主题
模块化加载
夸平台的兼容性
支持脚本
自定义的启动项目定义
修改分区命名
Grub 2结构
Grub 2包含下面几个部分:
/boot/grub/grub.cfg 文件
/etc/grub.d/ 文件夹
/etc/default/grub 文件
看 到论坛里对于Ubuntu 9.10的grub2配置说明,忍不住说一下。其实对于grub2,ubuntu给了一个官方的配置文件/etc/default/grub。大部分情况 下grub2的设置都可以在这个文件中搞定,而且这个文件结构也比较简单,修改起来也容易。完全没有必要直接改/boot/grub/grub.cfg或 者/etc/grub.d/下的文件。
修改/etc/default/grub只需简单一个命令:
下面是系统默认的内容,以及最常用的修改菜单显示时间和默认操作系统的方法:
修改完成后使用命令:
会自动更新/boot/grub/grub.cfg,这样做最大的好处是当系统更新内核时,你的设置不会被覆盖掉。
另外对于从9.10 beta及以前一路升级上来的朋友,如果确定想使用grub2,手动运行:
升级并确保grub2正确配置。(我全新安装的9.10 beta,一路升级上来后,系统中的grub工具居然还是老版,运行这个命令后才正常)
其实Ubuntu官方wiki上对这些都有说明:
https://wiki.ubuntu.com/Grub2
代码:
sudo gedit /etc/default/grub
下面是系统默认的内容,以及最常用的修改菜单显示时间和默认操作系统的方法:
代码:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0 #将0改为saved,可让grub记住上次启动时选择的系统
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="5" #显示启动选择菜单的时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0 #将0改为saved,可让grub记住上次启动时选择的系统
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="5" #显示启动选择菜单的时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
修改完成后使用命令:
代码:
sudo update-grub
会自动更新/boot/grub/grub.cfg,这样做最大的好处是当系统更新内核时,你的设置不会被覆盖掉。
另外对于从9.10 beta及以前一路升级上来的朋友,如果确定想使用grub2,手动运行:
代码:
sudo apt-get install grub2
升级并确保grub2正确配置。(我全新安装的9.10 beta,一路升级上来后,系统中的grub工具居然还是老版,运行这个命令后才正常)
其实Ubuntu官方wiki上对这些都有说明:
https://wiki.ubuntu.com/Grub2
http://apps.hi.baidu.com/share/detail/36401534
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架