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 进行安装会很快。4edc953e2c684bbe819ffa954c899c08.png

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

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

安装上面查到的指定版本内核的linux系统头文件及镜像

4edc953e2c684bbe819ffa954c899c08.png

安装结束后,我们可以查看此时系统里面安装好的内核版本

其中可以看到5.8.0-63已经安装完成

dpkg --get-selections | grep linux-image4edc953e2c684bbe819ffa954c899c08.png

步骤二:安装显卡和网卡等驱动

其实步骤二是我的步骤三,因为大部分介绍的文章中都是安装内核之后直接进行内核启动顺序配置,然后我按照对应内核启动进去之后,发现我的电脑的显卡和网卡等驱动无法使用。

网上给的参考意见,都是让我用lsb_release -a命令之后,查看自己对应的网卡驱动型号,去官网下载驱动包进行编译和安装。

但是我不想进行随意下载编译和安装,所以我去电脑里面一点点搜索对应的包,看是否是自己遗漏了包。果然在一番对照下,我用dpkg --get-selections | grep linux(之前是grep linux-image命令,主要查看镜像,没有查看对应的配套的驱动包)命令比对出,我电脑本身完好驱动的5.11内核对应的全部包和我后续回退版本5.8.0的区别,发现我缺少与之对应的 modules-extra和tools包,

dpkg --get-selections  | grep linux

4edc953e2c684bbe819ffa954c899c08.png

查找到之后,我直接进行apt-get install进行安装这两个包4edc953e2c684bbe819ffa954c899c08.png4edc953e2c684bbe819ffa954c899c08.png

安装完之后进行重启,机器正常运行,显卡驱动和网卡驱动正常工作。 后来我发现,我们也可以在官网去下载对应的.dep,进行dep包的安装。

步骤三:选择对应内核做第一启动

首先查看当前系统中内核的启动顺序

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

4edc953e2c684bbe819ffa954c899c08.png

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=”Ubuntu,Linux 5.8.0-50-generic“

修改为

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

生效配置

sudo update-grub

4edc953e2c684bbe819ffa954c899c08.png

然后关机重启,上面是修改系统内核启动步骤,但是我遇到一些问题,并不是很顺利,我中间还用了手工选项,进入我对应的内核中,下面是对应的选项。

在重启后的电脑初始化选项中选择ubuntu的高级选项869d61aaf8674bdaaa9a1401376a481a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

进入之后选择你对应要使用的内核869d61aaf8674bdaaa9a1401376a481a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

成功进入

结语

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


作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

目录
相关文章
|
3天前
|
Ubuntu Linux
ubuntu源码编译指定版本make
以上内容涵盖了在Ubuntu中编译安装指定版本软件的全过程,这是一个技术性很强的操作,不仅可以带来定制化的安装体验,同时也能增加对系统管理和软件构建流程的理解。遵循以上步骤,任何有一定基础的用户都能够按需编译和安装软件。
17 8
|
2天前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
11 4
|
1天前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【8月更文挑战第19天】在Ubuntu中编译指定版本的`make`工具是一项高级技巧,能让你针对特定需求定制软件。首先确保已安装`build-essential`等必要组件。下载所需版本源码后,遵循README指南配置与编译。使用`./configure`检测环境,`make`编译,最后`sudo make install`安装。面对问题如缺失依赖或编译选项不当,需耐心解决。对于大型项目,可利用多核加速编译,如`make -j 4`。这一过程虽具挑战,却能显著提升软件性能与功能适配。
6 2
|
13天前
|
Ubuntu Shell
【Ubuntu系统】三步更新自己的Cmake最新版本
Ubuntu系统中通过三步简单流程更新Cmake到最新版本的具体操作方法,包括卸载旧版本、下载并运行安装脚本以及创建软链接。
52 1
|
22天前
|
Ubuntu JavaScript 开发工具
Ubuntu上编译多个版本的frida
【7月更文挑战第16天】在Ubuntu上编译多个版本的Frida(如15.1.28和16.1.4),首先确保系统为Ubuntu 20(WSL)或其他版本,并安装`build-essential`, `git`, `lib32stdc++-9-dev`, `libc6-dev-i386`等依赖。还需安装Node.js(例如20.15.1版)。通过`git clone`获取Frida源码,并根据所需版本进入对应分支。设置环境变量以指向正确的NDK和Node.js路径,可通过脚本如`env15.sh`来避免污染全局环境。
|
1月前
|
JavaScript Ubuntu Shell
Ubuntu上安装任意版本nodejs方法
通过以上步骤,您可以在Ubuntu系统上灵活地安装和管理不同版本的Node.js。这种方法让开发者能够根据不同项目的需要选择合适的Node.js版本,同时也使版本切换变得非常方便。而且,nvm能够为每个项目独立管理依赖,从而确保不同项目之间的环境隔离,增强了开发环境的稳定性和可维护性。
310 2
|
25天前
|
Ubuntu 机器人 Linux
Ubuntu查看ros版本-linux查看ros版本
通过上述方法,您可以轻松检查和确认您的Ubuntu或其他Linux系统上安装的ROS版本,以确保您的机器人项目能够顺利进行。
72 0
|
1月前
|
Ubuntu 安全
什么是Ubuntu LTS?与常规版本的区别
Ubuntu LTS和常规版本的主要区别在于支持周期和稳定性。由于LTS版本的支持周期长,更新周期慢,因此它更加稳定,更适合需要长期稳定运行环境的用户或企业使用,如服务器或者企业桌面环境。而常规版本则更频繁地提供新特性和更新,更适合需要最新功能和软件的用户。
94 0
|
2月前
|
Ubuntu 数据安全/隐私保护
Ubuntu系统内核更新与卸载
注意:不建议卸载正在使用的内核版本,这可能会导致系统不稳定。只有在你确定新的内核版本运行稳定后,才应该卸载旧的内核版本。
34 0
|
2月前
|
Ubuntu 编译器 C语言
蓝易云 - ubuntu上安装boost库为SOMEIP的X86和ARM下编译做准备(编译两种版本)
以上就是在Ubuntu上安装Boost库并为SOME/IP的X86和ARM架构编译做准备的全部步骤。
45 0