UBUNTU切换内核
Posted penuel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UBUNTU切换内核相关的知识,希望对你有一定的参考价值。
查询可更换内核的序号
gedit /boot/grub/grub.cfg
查询已安装的内核和内核的序号。找到文件中的menuentry (图中在一大堆fi-else底下)
menuentry底下还有submenu,submenu底下就包含了 带有缩进的 menuentry。以下是计数规则:
第一个menuentry 的序号是0,第二个submenu的序号是1,以此类推
在submenu中,第一个menuentry的序号是0,第二个是1,以此类推
我摘录图中submenu中的第一个menuentry如下:
menuentry ‘Ubuntu,Linux 4.15.0-34-generic‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.15.0-34-generic-advanced-261d46dc-b223-49ee-a561-439009b15519‘
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root=‘hd0,gpt2‘
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 261d46dc-b223-49ee-a561-439009b15519
else
search --no-floppy --fs-uuid --set=root 261d46dc-b223-49ee-a561-439009b15519
fi
echo ‘载入 Linux 4.15.0-34-generic ...‘
linux /boot/vmlinuz-4.15.0-34-generic root=UUID=261d46dc-b223-49ee-a561-439009b15519 ro quiet splash $vt_handoff
echo ‘载入初始化内存盘...‘
initrd /boot/initrd.img-4.15.0-34-generic
意思是,这个menuentry就是内核 Linux 4.15.0-34-generic 的序号菜单了。这里就假设我需要把内核更换为它。它在submenu 的第一个menuentry。记住它,下一步要用。
(3)修改grub更换内核
sudo gedit /etc/default/grub
打开grub的编辑窗,如图所示:
如果没有使用grub修改过内核,除注释第一行应该显示的是
GRUB_DEFAULT=0
0就是默认的kernel了。我们要做的就是把GRUB_DEFAULT=0 改成
GRUB_DEFAULT=“1 >0”
即可。请注意在(2)中提到的需要更换的内核Linux 4.15.0-34-generic在 submenu 的第一个menuentry,因此是“1 >0“。如果它在submenu的第5个,那么就是 ”1 >4“,唯一需要的就是数好这个!
同时,请注意一对英文分号""和1后面的空格也是必须的,万万不可少,也不可多!
(4)更新内核和重启
sudo update-grub
sudo reboot
重启完可以用uname -a查询内核已更换。
以上是关于UBUNTU切换内核的主要内容,如果未能解决你的问题,请参考以下文章