【Ubuntu】Ubuntu中下載特定版本內核和設置某版本內核為默認啟動內核


0. 基本命令

uname -a   # 查看當前所使用內核
dpkg -l | grep linux   # dpkg后是lmn的l。查看當前操作系統的內核
dekg -l | grep linux-image  

1. 下載特定版本內核

(1)  命令行

sudo dpkg --get-selections |grep linux-image

sudo apt-get install linux-image-*****

這種方法,網上有不少例子可參考。

(2) synaptic

synaptic是一個很好圖形化界面,可以通過搜索來快速定位所需安裝的內核。

sudo apt-get install synaptic       # 安裝
sudo synaptic                       # 打開

主要參考【1】,大致方法: 搜索 -- 選中所需安裝的內核,右鍵 選擇“選中以便安裝 ”(Mark for Installation) -- (軟件最上方)應用(apply)-- 查看細節(show details) ,再次確認是否正確選中了想要的版本 -- 應用 (apply),【1】中舉了個例子“一般來說普通電腦需要更換的為headers和image,不要選錯了。請直接找到需要更換的headers,如:需要更換 linux-headers-4.15.0-13-generic,右擊選擇“Mark for Installation”。可以看到 linux-headers-4.15.0-13也被順便勾起來了,這個也是必要的,請不要取消。往下找,找到linux-image-4.15.0-13-generic,右擊同樣“Mark for Installation”。請注意務必和前面的headers對應。現在我們有三個勾選選項了。注:建議連帶linux-image-extra-4.15.0-13-generic一起安裝,雖然不一定用得上,還會讓你的kernel列表更臃腫,但是這可以修復潛在的驅動不兼容問題 。”

2. 設置系統默認啟動內核

下列內容摘自[2],部分經過修改

(1) 查看所有內核名稱

grep menuentry /boot/grub/grub.cfg

結果:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3a45027c-15ed-4cec-a233-7c3927e74d11' {
submenu 'Ubuntu 高級選項' $menuentry_id_option 'gnulinux-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu,Linux 4.15.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-43-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu,Linux 4.15.0-33-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-33-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-33-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu,Linux 4.15.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-29-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
    menuentry 'Ubuntu, with Linux 4.15.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-246AF2746AF241DA' {

例如需要的內核是 Ubuntu,Linux 4.15.0-29-generic

(2) 執行下面命令后,修改引導界面配置中的  GRUB_DEFAULT="Ubuntu,Linux 4.15.0-29-generic".

sudo gedit /etc/default/grub
# 如果在tty中的話,因為無法打開gui,只能使用vi或vim
sudo vi /etc/default/grub
或  sudo vim /etc/default/grub

(3) 執行下面命令后,這時候會有WARNING提示修改GRUB_DEFAULT的名稱,例如我的WARNING提示我將GRUB_DEFAULT修改為GRUB_DEFAULT="gnulinux-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11>gnulinux-4.15.0-29-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11"。將該名字復制重新進行步驟二,然后再sudo update-grub。

sudo update-grub   # 更新引導

(4) 重啟

sudo reboot

 

參考

[1] https://blog.csdn.net/qq_42030961/article/details/82740315
[2] https://blog.csdn.net/cf_wu95/article/details/85984956

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM