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'
相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
崔小汤呀4 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应4 天前
vi编辑器使用
linux·后端·操作系统