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查询内核已更换。

猜你喜欢

转载自www.cnblogs.com/penuel/p/11323004.html