Linux 内核切换 grub (Ubuntu)

时间:2024-03-28 17:22:11

csdn上很多linux内核切换的文章有些错误和不全的地方. 在这提供两种方法来切换linux内核.

建议全程在root下进行, 新安装的linux可以通过sudo su进入root. 再输入passwd来创建或修改管理员密码

1. 延时启动时的grub页面,手动开启

步骤1: sudo vi /etc/default/grub 

vim不熟不会的可以用 sudo gedit /etc/default/grub

打开grub默认设置, 修改其中的 HIDDEN_TIMEOUT = 10, 以及 HIDDEN_TIMEOUT_QUIET = true

Linux 内核切换 grub (Ubuntu)

步骤2: sudo update-grub

更新配置

步骤3: sudo reboot

重启

步骤4: 在开机过程的灰色页面按下shift键 (不设置1-3,一直重复按也work)

如果不OK, 尝试同时按下ECS+shift

Linux 内核切换 grub (Ubuntu)

步骤5: 进入到grub设置页面,选择所需内核

Linux 内核切换 grub (Ubuntu)

reference: https://blog.csdn.net/ken_for_learning/article/details/78848743

2. 修改grub配置文件, 更改启动内核

步骤1: grep menuentry /boot/grub/grub.cfg 查看grub目录

Linux 内核切换 grub (Ubuntu)

上图展示了部分, 看第一个menuentry开头的行.

标号如下:

Linux 内核切换 grub (Ubuntu)

注意: 最左边白色标注的是主目录的编号, 右边黑色标注是在主目录1下的子目录. 看缩进或者是submenu来区分子目录

步骤2: sudo vi /etc/default/grub 或 sudo gedit /etc/default/grub

修改GRUB_DEFAULT, 用>来表示子目录

如: 在上图中想切换至 4.6.3内核, 则修改为 GRUB_DEFAULT=1>2

# 可以加个引号"1>2"

或者用上图中 menuentry 后单引号内的名字来索引

如: 相同的切换任务, 修改GRUB_DEFAULT = "1>Ubuntu, with Linux 4.6.3"

或者用submenu后的名字来指定 "Advanced options for Ubuntu>Ubuntu, with Linux 4.6.3"

步骤3: sudo update-grub

步骤4: sudo reboot 重启即可 用uname -r 可查看内核

 

reference: 

https://help.ubuntu.com/community/Grub2/Submenus

https://unix.stackexchange.com/questions/62733/how-to-correctly-set-up-the-right-grub-2-default-menu-entry

深入了解grub: http://www.gnu.org/software/grub/manual/grub/