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 篮球。关注我,与我一起同行。

目录
相关文章
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
238 2
|
4月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
981 3
|
1月前
|
Ubuntu
Ubuntu禁止内核自动更新
通过上述步骤,您可以在Ubuntu系统中有效地禁用内核的自动更新。这些步骤包括锁定内核版本、禁用自动更新配置、移除不需要的内核包以及禁用相关的自动更新服务。这样可以确保系统在内核层面保持稳定,避免因内核自动更新导致的不必要问题。
356 1
|
2月前
|
Ubuntu 安全 Linux
|
2月前
|
并行计算 Ubuntu 算法
Ubuntu18 服务器 更新升级CUDA版本 pyenv nvidia ubuntu1804 原11.2升级到PyTorch要求12.1 全过程详细记录 apt update
Ubuntu18 服务器 更新升级CUDA版本 pyenv nvidia ubuntu1804 原11.2升级到PyTorch要求12.1 全过程详细记录 apt update
121 0
|
3月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【9月更文挑战第8天】在Ubuntu中,编译指定版本的源码`make`是一项挑战但也极具价值的任务。它允许我们根据特定需求定制软件,提升性能与功能适配。首先需安装必要工具包如GCC等;接着下载所需源码并阅读相关文档以了解编译要求。通过运行`./configure`、`make`及`sudo make install`命令完成编译安装流程。过程中可能遇到依赖项缺失或编译选项设置不当等问题,需根据错误提示逐一解决。对于大型项目,可利用多核编译加快速度。掌握这一技能有助于更好地探索开源世界。
57 3
|
3月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
224 4
|
4月前
|
Ubuntu Linux
ubuntu源码编译指定版本make
以上内容涵盖了在Ubuntu中编译安装指定版本软件的全过程,这是一个技术性很强的操作,不仅可以带来定制化的安装体验,同时也能增加对系统管理和软件构建流程的理解。遵循以上步骤,任何有一定基础的用户都能够按需编译和安装软件。
74 8
|
4月前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
221 4
|
4月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【8月更文挑战第19天】在Ubuntu中编译指定版本的`make`工具是一项高级技巧,能让你针对特定需求定制软件。首先确保已安装`build-essential`等必要组件。下载所需版本源码后,遵循README指南配置与编译。使用`./configure`检测环境,`make`编译,最后`sudo make install`安装。面对问题如缺失依赖或编译选项不当,需耐心解决。对于大型项目,可利用多核加速编译,如`make -j 4`。这一过程虽具挑战,却能显著提升软件性能与功能适配。
85 2