今天給大家分享一篇ubuntu更換內核的系列文章之一。為什么要換內核呢,這個對于我們大部分人有一樣的原因,例如你要跑的某個包只能在某一個特定的內核版本,或者你升級了你的ubuntu內核導致你的電腦驅動等出現(xiàn)問題,所以你需要更換你系統(tǒng)的內核。
歡迎關注微信公眾號:羽林君,或者添加作者個人微信:become_me
情節(jié)介紹:
我也遇到類似的問題,在解決問題的過程中,發(fā)現(xiàn)和網(wǎng)上的文章有些不一樣,甚至有些操作可以讓我們更快的更換內核。所以特來分享一下。這里我就是按照自己遇到的情況,給大家做一個簡單的分享。
步驟一:查看自己的版本,進行安裝下載
首先我先來查看一下我當前的內核版本 我現(xiàn)在是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
一般來說我們有幾種方式去安裝你對應的內核,從官網(wǎng)上下載.deb包安裝(下面有描述),也可以使用
apt-cache?search?linux
命令進行查找我們系統(tǒng)里面是否有對應的安裝包選項,用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/網(wǎng)站中找到所需的deb包
安裝上面查到的指定版本內核的linux系統(tǒng)頭文件及鏡像
安裝結束后,我們可以查看此時系統(tǒng)里面安裝好的內核版本
其中可以看到5.8.0-63已經(jīng)安裝完成
dpkg --get-selections ?| grep linux-image
步驟二:安裝顯卡和網(wǎng)卡等驅動
其實步驟二是我的步驟三,因為大部分介紹的文章中都是安裝內核之后直接進行內核啟動順序配置,然后我按照對應內核啟動進去之后,發(fā)現(xiàn)我的電腦的顯卡和網(wǎng)卡等驅動無法使用。
網(wǎng)上給的參考意見,都是讓我用lsb_release -a命令之后,查看自己對應的網(wǎng)卡驅動型號,去官網(wǎng)下載驅動包進行編譯和安裝。
但是我不想進行隨意下載編譯和安裝,所以我去電腦里面一點點搜索對應的包,看是否是自己遺漏了包。果然在一番對照下,我用dpkg --get-selections ?| grep linux(之前是grep linux-image命令,主要查看鏡像,沒有查看對應的配套的驅動包)命令比對出,我電腦本身完好驅動的5.11內核對應的全部包和我后續(xù)回退版本5.8.0的區(qū)別,發(fā)現(xiàn)我缺少與之對應的 modules-extra和tools包,
dpkg?--get-selections??|?grep?linux
查找到之后,我直接進行apt-get install進行安裝這兩個包
安裝完之后進行重啟,機器正常運行,顯卡驅動和網(wǎng)卡驅動正常工作。后來我發(fā)現(xiàn),我們也可以在官網(wǎng)去下載對應的.dep,進行dep包的安裝。
步驟三:選擇對應內核做第一啟動
首先查看當前系統(tǒng)中內核的啟動順序
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
再修改內核啟動順序
注意:如果你升級的版本比當前內核版本高的話,默認新安裝的內核就是第一順序啟動的,只需重啟系統(tǒng)就行了,否則,則需要修改配置文件,具體如下:
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
然后關機重啟,上面是修改系統(tǒng)內核啟動步驟,但是我遇到一些問題,并不是很順利,我中間還用了手工選項,進入我對應的內核中,下面是對應的選項。
在重啟后的電腦初始化選項中選擇ubuntu的高級選項
進入之后選擇你對應要使用的內核
成功進入
結語
這就是我分享我在ubuntu使用中降低內核的使用的情況,如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。
作者:良知猶存,白天努力工作,晚上原創(chuàng)公號號主。公眾號內容除了技術還有些人生感悟,一個認真輸出內容的職場老司機,也是一個技術之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。