如何清理Linux旧内核并设置默认内核版本

文章目录

    • 1. 引言
    • 2. 检查和清理旧内核
      • 2.1 检查 `/boot` 目录中的残留文件
      • 2.2 手动删除与旧内核相关的文件
      • 2.3 更新 GRUB 配置
      • 2.4 清理旧内核包(可选)
    • 3. 安装并保留特定内核版本
      • 3.1 安装内核版本 `5.15.0-119`
      • 3.2 删除其他不需要的内核版本
    • 4. 设置默认内核版本
      • 4.1 编辑 GRUB 配置文件,修改 `GRUB_DEFAULT` 设置
    • 5. 重启系统并验证

1. 引言

在 Linux 系统中,旧的内核版本可能会在系统中积累,使得 GRUB 菜单变得冗长。
本文将介绍如何清理旧内核并设置系统默认使用的内核版本。

  • 为什么需要清理旧内核?

    节省磁盘空间,同时防止 GRUB 菜单中列出不必要的内核版本。

  • GRUB 菜单中仍然显示已删除内核的原因

    即使内核映像 (vmlinuz) 已被删除,/boot 目录中可能仍然存在与该内核版本相关的初始内存盘(initrd)文件,导致 GRUB 依旧在配置中包含这些文件。

2. 检查和清理旧内核

2.1 检查 /boot 目录中的残留文件

首先,检查 /boot 目录中是否存在与旧内核版本相关的残留文件:

ls /boot | grep 5.15.0-107

如果发现与 5.15.0-107-generic 内核相关的文件,需要手动删除。

2.2 手动删除与旧内核相关的文件

以下命令手动删除残留的内核文件:

sudo rm /boot/vmlinuz-5.15.0-107-generic
sudo rm /boot/initrd.img-5.15.0-107-generic

2.3 更新 GRUB 配置

删除残留文件后,使用以下命令重新生成 GRUB 配置:

sudo update-grub

这将确保 GRUB 配置文件不再包含已删除的内核版本。

2.4 清理旧内核包(可选)

为了彻底移除旧内核及其相关文件,使用以下命令清理系统:

sudo apt autoremove --purge

3. 安装并保留特定内核版本

3.1 安装内核版本 5.15.0-119

安装内核及头文件

使用以下命令安装 5.15.0-119 内核及其头文件:

sudo apt install linux-image-5.15.0-119-generic linux-headers-5.15.0-119-generic

3.2 删除其他不需要的内核版本

  • 检查已安装的内核版本

使用以下命令确认系统上安装的所有内核版本:

$ dpkg --list | grep linux-image   
ii  linux-image-5.15.0-107-generic             5.15.0-119.129~20.04.1                                           amd64        Signed kernel image generic                              
ii  linux-image-5.15.0-119-generic             5.15.0-119.129~20.04.1                                           amd64        Signed kernel image generic
ii  linux-image-generic-hwe-20.04              5.15.0.119.129~20.04.1                                           amd64        Generic Linux kernel image
ii  linux-image-unsigned-5.15.0-107-generic    5.15.0-107.117~20.04.1                                           amd64        Linux kernel image for version 5.15.0 on 64 bit x86 SMP
ii  linux-image-unsigned-6.8.4-060804-generic  6.8.4-060804.202404041833                                        amd64        Linux kernel image for version 6.8.4 on 64 bit x86 SMP
  • 删除不需要的内核版本及其头文件

若只想保留 5.15.0-119-generic6.8.4-060804-generic 内核,可以删除其他版本:

sudo apt remove --purge linux-image-5.15.0-107-generic linux-image-5.15.0-67-generic
sudo apt remove --purge linux-headers-5.15.0-107-generic linux-headers-5.15.0-67-generic
  • 自动清理未使用的依赖和配置文件

删除旧内核后,运行以下命令清理系统,以移除不再需要的依赖项:

sudo apt autoremove --purge

4. 设置默认内核版本

4.1 编辑 GRUB 配置文件,修改 GRUB_DEFAULT 设置

打开 GRUB 配置文件进行编辑:

sudo vim /etc/default/grub

找到 GRUB_DEFAULT 这一行,并将其设置为所需内核的菜单条目,例如:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.4-060804-generic"

如下是修改后的样子

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.4-060804-generic"
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""GRUB_DISABLE_OS_PROBER=false

保存文件并退出编辑器后,运行以下命令更新 GRUB 配置:

sudo update-grub

5. 重启系统并验证

系统重启后,使用以下命令验证当前正在使用的内核版本:

uname -r

输出应显示为 6.8.4-060804-generic,表明系统已成功将其设置为默认启动的内核版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存管理篇-16二级页表工作原理

1.修正上节课的转换图 上节课的页表的一级页表其实并不完全正确,一般虚拟页帧和物理页帧号不会都占用实际字段,这样毕竟很浪费内存。 2.再分析一下页表的开销情况: 一级页表:以4KB物理页为映射单位,每个进程4MB的虚…

动态读取nacos中修改的项目配置文件

本项目用的还是springboot项目,咱们直接上代码 一:首先看下nacos中需要动态获取的属性 二:把需要动态读取的配置类中的属性整理一个实体类 mport lombok.Data; import org.springframework.boot.context.properties.ConfigurationPropert…

Python酷库之旅-第三方库Pandas(114)

目录 一、用法精讲 501、pandas.DataFrame.mode方法 501-1、语法 501-2、参数 501-3、功能 501-4、返回值 501-5、说明 501-6、用法 501-6-1、数据准备 501-6-2、代码示例 501-6-3、结果输出 502、pandas.DataFrame.pct_change方法 502-1、语法 502-2、参数 502…

Django 第十一课 -- ORM - 多表实例

目录 一. 前言 二. 创建模型 三. 插入数据 四. ORM - 添加数据 4.1. 一对多(外键 ForeignKey) 4.2. 多对多(ManyToManyField):在第三张关系表中新增数据 4.3. 关联管理器(对象调用) 五. ORM 查询 5.1. 一对多 5.2. 一对一 5.3. 多对多 六. 基于双下划线…

SprinBoot+Vue实验室考勤管理小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平…

【机器学习】数据预处理-特征工程与特征选择

目录 一、特征工程 二、数据变换 1.变换 2.归一化 三、数据清洗 1.异常数据 2.数据清洗 四、特征选择 1.Filter过滤法 2.Wrapper包裹法 ... 3.Embedded嵌入法 ... 五、降维算法 1.SVD 2.PCA 一、特征工程 特征工程就是从原始数据提取特征的过程,这些…

问:Java中++i和i++的区别?

在Java中,i(前缀增量操作符)和i(后缀增量操作符)都用于增加变量i的值,但它们在表达式中的行为有所不同。主要区别在于它们的值以及它们在表达式中的副作用何时发生。 前缀增量操作符 i 作用:先…

Leetcode3243. 新增道路查询后的最短距离 I

Every day a Leetcode 题目来源:3243. 新增道路查询后的最短距离 I 解法1:广度优先搜索 暴力。 每次加边后重新跑一遍 BFS,求出从 0 到 n−1 的最短路。 代码: /** lc appleetcode.cn id3243 langcpp** [3243] 新增道路查询…

【STM32】BKP备份寄存器与RTC实时时钟

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 BKP简介 BKP代码注解 读写备份寄存器 复位备份寄存器 BKP代码 RTC简介 RTC代码注解 RTCCLK时钟源选择 分频器配置 时钟同步 RTC代码 MyRTC.h MyRTC.c main.c BKP简介 BKP&…

数学建模--K-Means聚类分析

目录 1.聚类分析步骤 1.1简单介绍 1.2两个概念 1.3几种距离 1.4更新质心 1.5终止条件 2.归一化处理 3.肘部法则 4.搭建K-Means分析模型 5.选择最佳K值 6.绘制3D图形 1.聚类分析步骤 1.1简单介绍 K-Means聚类分析是属于聚类分析的一种,这个数据机器学习的…

如何用GPT进行编程辅助?

随着人工智能技术的迅速发展,GPT(生成型预训练模型)已成为开发者的得力助手之一。无论是编写代码、调试、生成文档,还是解决编程问题,GPT都能提供显著帮助。这篇教程将详细介绍如何使用GPT进行编程辅助,并提…

批量进行Mysql数据处理的一项工作记录以及保存一个nginx变量大全

一、批量进行Mysql数据处理的一项工作记录 在使用SQL执行一起数据批量处理的时候遇到执行数速度非常慢。表temp_users是一个包含百万级的用户ID表,表user_list是一个亿级的表,因为跨库,这里使用的是federated引擎创建的结构表。根据要实现的目…

每日一练【最大连续1的个数 III】

一、题目描述 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 二、题目解析 本题同样是利用滑动窗口的解法。 首先进入窗口,如果是1,就直接让right,但是如果是…

python网络爬虫(三)——爬虫攻防

爬虫是模拟人的浏览访问行为,进行数据的批量抓取,当抓取的数据量逐渐增大时,会给被访问的服务器造成很大的压力,甚至有可能崩溃。换句话说就是,服务器是不喜欢有人抓取自己的数据的,那么,网站方…

SAP LE学习笔记07 - MM与WM跨模块收货到仓库的流程中 如何实现 先上架再入库

上一章讲了LE中收货的一些特殊情况: 1,MM模块收货时,特别移动指标来标识的物料直接产生TO 2,MM中直接收货到仓库的固定Storage Bin(棚番)上 SAP LE学习笔记06 - MM与WM跨模块收货到仓库的流程中 带特别移动指标的物料也可以直接…

常用Numpy操作(笔记整理)

目录 一、常用(自查) 1. 创建数组(array) 2. 数组形状(shape) 3. 数组维度(ndim) 4. 数组⼤⼩(size) 5. 数组数据类型(dtype) …

etcd备份恢复操作

etcd集群每个节点上的数据都是相同的,在任意一个正常的节点上备份都能得到8s集群完整的数据 Kubernetes 集群备份主要是备份 ETCD 集群,而恢复时,主要考虑恢复整个顺序: 1,停止所有 Master 上 kube-apiserver 服务 2&…

nuxt3模拟手机验证码

文章目录 前言前端后端前面代码会出现的问题约束button的小插件连接mongodb来写登陆项目开源链接前言 真实应该要连接短信验证码服务,但是众所周知所有的服务和IT都是靠服务来挣钱的,所以我们目前只能模拟手机验证码登陆 考虑到账号的唯一值就想到了手机和验证码(基本上的网站…

Netflix Feign:微服务HTTP调用如何简化?

Netflix Feign:微服务HTTP调用如何简化? 1、什么是Netflix Feign?2、Feign的优点3、示例4、总结 💖The Begin💖点点关注,收藏不迷路💖 1、什么是Netflix Feign? Feign是一个声明式的…

备考AMC10美国数学竞赛2024:吃透1250道真题和知识点(持续)

有什么含金量比较高的初中生数学竞赛吗?美国数学竞赛AMC10是个不错的选择。那么,如何备考AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。 通过做真题,可以帮助孩子找到真实竞赛…