Ubuntu20.04 如何降低內核版本?
如題,在不小心安裝新內核之後,發現沒辦法降級(網上的各種方法 最後結合信息摸索出了解決方案:
首先,查看自己的grub版本: grub-install version
- 記住(GRUB)之後的大版本是2.00以後還是2.00以前
查看自己現有的內核版本(完全版) grep 'menuentry' /boot/grub/grub.cfg
找到自己想換回的內核
例如,這裏我想要更換為5.8.0-50,就找到對應的選項,有
menuentry 'Ubuntu,Linux 5.8.0-50-generic' class ubuntu
class gnu-linux class gnu class os $menuentry_id_option
'gnulinux-5.8.0-50-generic-advanced-237310b8-5d8a-4e13-bcbd-37ef97be8341' {
這一選項,
注意不是(recovery mode).
- 複制上面信息中
menuentry
之後的單引號內的字符串
比如我是Ubuntu,Linux 5.8.0-50-generic
修改grub 在終端中輸入 sudo nano /etc/default/grub
將第一個GRUB_DEFAULT=0
修改為剛才複制的內容
GRUB_DEFAULT = "Ubuntu,Linux 5.8.0-50-generic"
(注意要加雙引號)更新grub設置 在終端中輸入 sudo update-grub
如果看到下面有警告: Please don't use old title 'Ubuntu,Linux 5.8.0-50-generic' for GRUB_DEFAULT,
use 'Advanced options for Ubuntu>Ubuntu,Linux 5.8.0-50-generic'
(for versions before 2.00) or
'gnulinux-advanced-237310b8-5d8a-4e13-bcbd-37ef97be8341>gnulinux-5.8.0-50-generic-
advanced-237310b8-5d8a-4e13-bcbd-37ef97be8341' (for 2.00 or later)
則根據之前看到的grub版本,如果大於等於2.00,則返回第四步把
第三個單引號內的字符串複制粘貼.否則把
第二個單引號內的字符串複制粘貼
也就是說一定要重新修改一次grub 例如我的grub版本大於2.00,則再次將之前的
GRUB_DEFAULT="Ubuntu,Linux 5.8.0-50-generic"
修改為
GRUB_DEFAULT="gnulinux-advanced-237310b8-5d8a-4e13-bcbd-
37ef97be8341>gnulinux-5.8.0-50-generic-
advanced-237310b8-5d8a-4e13-bcbd-37ef97be8341"`
否則修改為
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu,Linux 5.8.0-50-generic"
一定要再次修改一次GRUB_DEFAULT!!!注意看清楚是第二個單引號和第三個單引號內的內容!!! 按照第五步修改完成後,再次在終端中輸入 sudo update-grub
此時不應再看到任何警告提示
重新啟動 sudo reboot
注意,此時grub引導時光標默認指向的應該是Ubuntu高級選項之類的選項,不要移動光標,讓它自動選擇啟動 查看是否成功 uname -r
如果已經變成你想要改的內核版本,則繼續,否則檢查是否忘了sudo update-grub
或者grub修改錯誤
刪除原來的內核
查看當前的所有已安裝的內核 dpkg get-selections | grep linux-image
輸出linux-image-5.10.0-1023-oem install
linux-image-5.4.0-42-generic install
linux-image-5.8.0-50-generic install
linux-image-generic-hwe-20.04 install
找到原有內核名字刪除內核sudo apt-get remove linux-image-5.10.0-1023-oem
sudo dpkg -P linux-image-5.10.0-1023-oem
最後別忘記修改/etc/default/grub的GRUB_DEFAULT
為=0
,以及sudo update-grub
By JSYRD