ubuntu降低你使用的內核到指定版本


前言:

今天給大家分享一篇ubuntu更換內核的系列文章之一。為什么要換內核呢,這個對於我們大部分人有一樣的原因,例如你要跑的某個包只能在某一個特定的內核版本,或者你升級了你的ubuntu內核導致你的電腦驅動等出現問題,所以你需要更換你系統的內核。

作者:良知猶存

轉載授權以及圍觀:歡迎關注微信公眾號:羽林君

或者添加作者個人微信:become_me


情節介紹:

我也遇到類似的問題,在解決問題的過程中,發現和網上的文章有些不一樣,甚至有些操作可以讓我們更快的更換內核。所以特來分享一下。這里我就是按照自己遇到的情況,給大家做一個簡單的分享。

步驟一:查看自己的版本,進行安裝下載

首先我先來查看一下我當前的內核版本 我現在是5.11.0-38的版本,而我需要將我ubuntu內核修改為需要5.8.0-63

uname -a
Linux lyn 5.11.0-38-generic #42~20.04.1-Ubuntu SMP Tue Sep 28 20:41:07 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

查詢Linux指定版本的鏡像:

apt-cache search linux| grep 5.8.0-63

一般來說我們有幾種方式去安裝你對應的內核,從官網上下載.deb包安裝(下面有描述),也可以使用

apt-cache search linux

命令進行查找我們系統里面是否有對應的安裝包選項,用apt-get install 進行安裝會很快。

請添加圖片描述

1、如果查詢不到,可以在/etc/apt/sources.list配置中,加入源:deb http://security.ubuntu.com/ubuntu trusty-security main

2、也可以在http://kernel.ubuntu.com/~kernel-ppa/mainline/網站中找到所需的deb包

安裝上面查到的指定版本內核的linux系統頭文件及鏡像

請添加圖片描述

安裝結束后,我們可以查看此時系統里面安裝好的內核版本

其中可以看到5.8.0-63已經安裝完成

dpkg --get-selections | grep linux-image

步驟二:安裝顯卡和網卡等驅動

其實步驟二是我的步驟三,因為大部分介紹的文章中都是安裝內核之后直接進行內核啟動順序配置,然后我按照對應內核啟動進去之后,發現我的電腦的顯卡和網卡等驅動無法使用。

網上給的參考意見,都是讓我用lsb_release -a命令之后,查看自己對應的網卡驅動型號,去官網下載驅動包進行編譯和安裝。

但是我不想進行隨意下載編譯和安裝,所以我去電腦里面一點點搜索對應的包,看是否是自己遺漏了包。果然在一番對照下,我用dpkg --get-selections | grep linux(之前是grep linux-image命令,主要查看鏡像,沒有查看對應的配套的驅動包)命令比對出,我電腦本身完好驅動的5.11內核對應的全部包和我后續回退版本5.8.0的區別,發現我缺少與之對應的 modules-extra和tools包,

dpkg --get-selections  | grep linux

查找到之后,我直接進行apt-get install進行安裝這兩個包

請添加圖片描述

請添加圖片描述

安裝完之后進行重啟,機器正常運行,顯卡驅動和網卡驅動正常工作。 后來我發現,我們也可以在官網去下載對應的.dep,進行dep包的安裝。

步驟三:選擇對應內核做第一啟動

首先查看當前系統中內核的啟動順序

grep 'menuentry' /boot/grub/grub.cfg

在這里插入圖片描述

menuentry 'Ubuntu,Linux 5.8.0-63-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-63-generic-advanced-f44d1976-8e56-4c37-8ce1-d345b8f923ea' {
  menuentry 'Ubuntu, with Linux 5.8.0-63-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-63-generic-recovery-f44d1976-8e56-4c37-8ce1-d345b8f923ea' {

例如,這里我想要更換5.8.0-63,就選擇 Ubuntu,Linux 5.8.0-63-generic這一欄,注意不是(recovery mode).
復制上面信息中menuentry之后的單引號內的字符串

比如我是Ubuntu,Linux 5.8.0-50-generic

再修改內核啟動順序

注意:如果你升級的版本比當前內核版本高的話,默認新安裝的內核就是第一順序啟動的,只需重啟系統就行了,否則,則需要修改配置文件,具體如下:

vi /etc/default/grub

GRUB_DEFAULT=0

修改為

GRUB_DEFAULT=”Ubuntu,Linux 5.8.0-50-generic“

如果遇以下警告

警告: Please don't use old title `Ubuntu,Linux 5.8.0-63-generic' for GRUB_DEFAULT, use `Advanced options for Ubuntu>Ubuntu,Linux 5.8.0-63-generic' (for versions before 2.00) or `gnulinux-advanced-f44d1976-8e56-4c37-8ce1-d345b8f923ea>gnulinux-5.8.0-63-generic-advanced-f44d1976-8e56-4c37-8ce1-d345b8f923ea' (for 2.00 or later)

那我們還需要把 GRUB_DEFAULT=”Ubuntu,Linux 5.8.0-50-generic“

修改為

GRUB_DEFAULT=”Advanced options for Ubuntu>Ubuntu,Linux 5.8.0-50-generic“

生效配置

sudo update-grub

請添加圖片描述

然后關機重啟,上面是修改系統內核啟動步驟,但是我遇到一些問題,並不是很順利,我中間還用了手工選項,進入我對應的內核中,下面是對應的選項。

在重啟后的電腦初始化選項中選擇ubuntu的高級選項

請添加圖片描述

進入之后選擇你對應要使用的內核

請添加圖片描述

成功進入

結語

這就是我分享我在ubuntu使用中降低內核的使用的情況,如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。


作者:良知猶存,白天努力工作,晚上原創公號號主。公眾號內容除了技術還有些人生感悟,一個認真輸出內容的職場老司機,也是一個技術之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。

                              ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推薦閱讀

【1】在球場上我向人民幣玩家低了頭

【2】嵌入式底層開發的軟件框架簡述

【3】CPU中的程序是怎么運行起來的 必讀

【4】cartographer環境建立以及建圖測試

【5】設計模式之簡單工廠模式、工廠模式、抽象工廠模式的對比

本公眾號全部原創干貨已整理成一個目錄,回復[ 資源 ]即可獲得。


免責聲明!

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



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