Linux中修改系统启动项grub
在修改grub时看到很多资料,上来就是直接修改/etc/default/grub配置文件中的GRUB_DEFAULT配置项,但是有时候修改不成功,本文简单说明一下修改的原理。注:根据本人机器上的配置文件讲解,其他人可能不一样,所以只做参考。
介绍的是Ubuntu下的修改方式,Centos下的修改方式不一样。
Centos下可参考:https://cloud.tencent.com/developer/article/2086777
一、查看内核信息和启动界面:
1、查看当前内核启动顺序:可以看到有两个内核Linux 5.4.0-147-generic和Linux 5.4.0-146-generic。
book@book-vm:~$ cat /boot/grub/grub.cfg |grep "menuentry "
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-56e2ca8b-3d73-46df-9a2a-58fa2247002f' {menuentry 'Ubuntu, with Linux 5.4.0-147-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-147-generic-advanced-56e2ca8b-3d73-46df-9a2a-58fa2247002f' {menuentry 'Ubuntu, with Linux 5.4.0-147-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-147-generic-recovery-56e2ca8b-3d73-46df-9a2a-58fa2247002f' {menuentry 'Ubuntu, with Linux 5.4.0-146-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-146-generic-advanced-56e2ca8b-3d73-46df-9a2a-58fa2247002f' {menuentry 'Ubuntu, with Linux 5.4.0-146-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-146-generic-recovery-56e2ca8b-3d73-46df-9a2a-58fa2247002f' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
2、在启动系统时,grub的菜单界面为:
可以看到有四个菜单选项,这个界面是由配置文件 /boot/grub/grub.cfg 定义的,此文件一般是通过配置文件 /etc/default/grub 生成,命令为 sudo update-grub 。
二、相关配置文件
1、/boot/grub/grub.cfg
ubuntu@ubuntu-vm:/boot/grub$ ls
fonts gfxblacklist.txt grub.cfg grubenv i386-pc locale unicode.pf2
打开此配置文件,这里对照grub菜单看:
(1)Ubuntu 选项,在配置文件中的定义为:
此选项下,启动的内核为Linux 5.4.0-147-generic,在配置文件/etc/default/grub中,GRUB_DEFAULT=0时,会默认选择此选项,从而启动相关内核。
(2)Advanced options for Ubuntu 选项
在配置文件中的定义为:
此选项下有四个选项,分别启动相关内核。其它选项就不详述了。
2、/etc/default/grub
此配置文件内容为:
(1)GRUB_DEFAULT 配置项:默认菜单项
说明:GRUB_DEFAULT=0时,默认选择grub菜单界面的第一项Ubuntu;GRUB_DEFAULT=1时,默认选择grub菜单界面的第二项Advanced options for Ubuntu 。在本人的菜单界面或者配置文件 /boot/grub/grub.cfg 下,如果只修改GRUB_DEFAULT=1,则只选择了第二项,但是没有指定此选项下的哪一个,所以修改不会成功。
修改方法如下:要根据配置文件 /boot/grub/grub.cfg 定义的grub界面修改。
$ sudo vim /etc/default/grub
GRUB_DEFAULT=0 ##修改为
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-31-generic"
参考:Linux系统修改默认内核启动顺序
(2)其余的配置项可参考以下资料:
GRUB配置文件详解
(3)修改完成后,使用命令重新配置 /boot/grub/grub.cfg 文件,然后重启reboot。
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
或者
$ sudo update-grub //此命令本质上就是grub-mkconfig
总结:
修改Linux系统默认内核启动顺序时,要参考配置文件 /boot/grub/grub.cfg 定义的grub,从而修改 /etc/default/grub 中的GRUB_DEFAULT配置项。本文介绍了修改grub启动顺序的原理,具体的方法除本文外还有很多,不再详述。
Linux中修改系统启动项grub相关推荐
- linux环境配置以后生效,Linux中修改环境变量及生效方法
Linux中修改环境变量及生效方法 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且 ...
- linux路由修改密码,Linux中修改Mysql root用户密码的方法
Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...
- Linux中修改登录提示文件
Linux中修改登录提示文件 一.登录前提示信息文件:/etc/issue和/etc/issue.net 1.进行清空修改 ①.方法一: ②.方法二 ③.方法三 二.登录后提示信息文件:/etc/mo ...
- 联想开机启动项按哪个_win7系统如何修改系统启动项 win7系统修改系统启动项方法【步骤】...
我们在使用电脑的过程当中,电脑开机时很多软件都会跟着启动,这就导致了系统启动变慢,这时我们就需要修改启动项了,不过有很多电脑用户都不知道怎么修改系统启动项,那么win7系统怎么修改系统启动项呢?今天为 ...
- Linux中修改用户UID和组GID的方法
Linux中修改用户UID和组GID的方法 http://www.sijitao.net/2401.html 发表时间:2016-04-20 21:30 | 分类: Linux | 浏览:2,344 ...
- Linux中修改文件名
Linux中修改文件名 # 没有直接修改的方式,需要借用mv或cp命令.# mv会把原路径文件删除(移动文件) # 参数1:原文件路径 参数2:新文件路径 mv oldFilePath newFile ...
- linux环境变量生效方式,Linux中修改环境变量及生效方法
Linux中修改环境变量及生效方法 方法一: 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户 ...
- 在Linux中修改打开文件数量和进程数量限制的3种方法
方法一:使用ulimit命令 ulimit命令可用来增加在shell中打开文件的数量.这个命令是系统内置命令,因此它只影响bash和从它启动的程序. ulimit -n 65535 方法二:使用PAM ...
- linux双系统启动项grub,grub双系统启动顺序更改
多人都说更改 /boot/grub/grub.conf文件,将其中的default=0改成defualt=1. 我不太清楚这种方法是否在linux下正确,但我知道这在ubuntu下是不正确的, 因为在 ...
最新文章
- linux java 栈_关于Java中栈与堆的思考
- 04使用模板显示内容
- 大数据和高并发的解决方案汇总
- Windows Phone(三)WP7版 记账本 开发(使用SQLite数据库)
- 开源无人机_开源无人机,欧洲开源等等
- Scalaz(38)- Free :Coproduct-Monadic语句组合
- [hdu 1003] Max Sum
- 在html种颜色的代码,html颜色代码生成器
- 克隆的虚拟机一直重复出现登录界面_QQ空间里的装扮怎样才能克隆到自己空间?...
- 离散数学经典教材及资料(整理)
- 微信PC端多开的秘密
- 超级计算机通信工程研发相关高校,美国签证技巧
- thrift编写规则,及常见问题
- 试述HDFS中的名称节点和数据节点的具体功能
- java操作Excel:技巧
- 【ChatGPT】你会是被AI抢饭碗的那类人吗?
- 洪特规则计算孤立原子/离子磁矩
- java memorystream 包_C#使用MemoryStream类读写内存
- python floor函数_Python floor() 函数
- 《2021大数据产业年度趋势人物》榜重磅发布丨金猿奖
热门文章
- Java前端,悬浮窗口html+js
- 通达信数据接口api的编写脚本
- CPS---(Cyber-Physical Sytem,信息物理融合系统)
- 程序员需要明白这九件事
- c语言作业制作仓库管理系统,C语言课程设计 仓库管理系统
- 东北大学计算机学院保研去向,东北大学计算机科学与工程学院(专业学位)计算机技术保研条件...
- JS逆向:【硬干货】手把手实战某条_signature参数破解(下)——WebSocket与JS函数
- jdk配置教程详(sha)细(gua)版
- 雅思IELTS精讲——【作文】
- PCL——基于惯性矩与偏心率的描述子进行包围盒提取