1. 程式人生 > 其它 >ubuntu降低你使用的核心到指定版本

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】設計模式之簡單工廠模式、工廠模式、抽象工廠模式的對比

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