Debian系统的多内核共存

目录

一、多内核共存概念

二、Debian如何实现多内核共存?

1.内核以软件包的形式存在

2.GRUB选择内核

三、实操:安装、切换和清理内核

[1.查看当前系统已安装的内核( ii 表示已安装)](#1.查看当前系统已安装的内核( ii 表示已安装))

2.安装新内核

3.切换默认启动内核


一、多内核共存概念

多内核共存是指在同一Debian系统中,同时安装多个不同版本的Linux内核,并且允许在系统启动时让用户选择使用哪一个内核。

Linux内核是操作系统的核心,负责管理硬件、进程调度、内存分配等核心功能。但是内核也会变化,新内核会修复漏洞、支持新硬件、优化性能,而旧内核更稳定,对某些老硬件可能更优化。Debian的多内核共存特性,正是为了平衡"新功能"与"稳定性"的需求。

二、Debian如何实现多内核共存?

1.内核以软件包的形式存在

Debian内核以软件包的形式存在,通过apt管理,每个内核版本对应独立的包:

  • 内核镜像包:linux-image-<版本号>-<架构>,例如linux-image-4.19.0-amd64
  • 内核头文件包:linux-headers-<版本号>-<架构>,例如linux-headers-4.19.0-amd64

这种"一内核一包"的设计,让安装/卸载内核就像管理普通软件一样简单。安装新内核时,旧内核不会自动删除,多版本内核可独立存在。

2.GRUB选择内核

Debian系统默认使用GRUB作为启动管理器,GRUB会自动扫描系统中已安装的内核,并在启动界面列出所有已安装的内核供用户选择。

GRUB原理:

  • 每次安装新内核后,自动触发update-grub命令,GRUB读取/boot目录下的内核文件,生成新的启动菜单
  • 启动时,用户通过键盘选择要加载的内核(默认使用最新版本内核,超时后自动进入)

三、实操:安装、切换和清理内核

1.查看当前系统已安装的内核( ii 表示已安装)
bash 复制代码
dpkg -l | grep linux-image
2.安装新内核
bash 复制代码
#自动安装当前稳定版本最新内核
sudo apt install linux-image-amd64
#安装指定版本内核
sudo apt install linux-image-5.15.0-78-amd64
#安装云服务器优化内核
sudo apt install linux-image-cloud-amd64
#安装实时内核
sudo apt install linux-image-rt-amd64
3.切换默认启动内核

(1)提取GRUB菜单中所有内核相关的条目

bash 复制代码
grep 'menuentry ' /boot/grub/grub.cfg | cut -d "'" -f 2

示例输出如下,第一行 Debian GNU/Linux 是主菜单,默认指向最新内核,即第二行。带Linux版本号的条目是实际可启动的内核,带recovery mode的条目是救援模式。

bash 复制代码
Debian GNU/Linux
Debian GNU/Linux, with Linux 5.10.0-28-amd64
Debian GNU/Linux, with Linux 5.10.0-28-amd64 (recovery mode)
Debian GNU/Linux, with Linux 5.10.0-26-amd64
Debian GNU/Linux, with Linux 5.10.0-26-amd64 (recovery mode)

(2)修改GRUB配置,指定默认内核

GRUB的核心配置文件是 /etc/default/grub

bash 复制代码
sudo vim /etc/default/grub

默认GRUB_DEFAULT=0,表示默认启动内核是GRUB菜单条目的序号0,即Debian GNU/Linux。可以将GRUB_DEFAULT值改为想要默认启动的内核序号(见(1),菜单条目按顺序从0开始编号),也可以将GRUB_DEFAULT值改为想要默认启动的内核菜单条目名称。

bash 复制代码
GRUB_DEFAULT=3  # 对应第4个条目(从0开始)
bash 复制代码
GRUB_DEFAULT='Debian GNU/Linux, with Linux 5.10.0-26-amd64'
相关推荐
这儿有一堆花5 分钟前
Kali Linux:探测存活到挖掘漏洞
linux·运维·服务器
松涛和鸣10 分钟前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
皮小白1 小时前
ubuntu开机检查磁盘失败进入应急模式如何修复
linux·运维·ubuntu
邂逅星河浪漫1 小时前
【CentOS】虚拟机网卡IP地址修改步骤
linux·运维·centos
hhwyqwqhhwy1 小时前
linux 驱动开发相关
linux·驱动开发
IT逆夜2 小时前
实现Yum本地仓库自动同步的完整方案(CentOS 7)
linux·运维·windows
S***26752 小时前
linux上redis升级
linux·运维·redis
赖small强3 小时前
【Linux 网络基础】Linux 平台 DHCP 运作原理与握手过程详解
linux·网络·dhcp
s***4534 小时前
Linux 下安装 Golang环境
linux·运维·golang
J***51686 小时前
Linux安装Redis以及Redis三种启动方式
linux·redis·bootstrap