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'
相关推荐
码农客栈17 小时前
Linux 内核顶层 Makefile 详解
linux
Embedded-Xin17 小时前
Rust学习——Cargo工具
linux·学习·架构·rust·嵌入式
weixin_4357761118 小时前
2026年长沙托育vi设计从风格定位到元素运用的设计方法
linux·运维·服务器·python
benjiangliu18 小时前
LINUX系统-19-库制作与原理(一)
linux·运维·服务器
FriendshipT20 小时前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu
bellus-20 小时前
win11使用ubuntu 26.04
linux·运维·ubuntu
略略略咯咯21 小时前
centos更换镜像源
linux·运维·centos
j7~21 小时前
【Linux】二十七.线程篇四《Linux多线程编程:线程互斥(互斥量的底层到封装)、线程安全和冲入、死锁》---详解
linux·开发语言·c++·线程安全·死锁·线程互斥·重入
yunwei371 天前
eBPF 入门实践教程第五十篇:使用 TCX Link 实现可组合的流量控制
linux·云原生·开源
2401_827501281 天前
Linux系统移植
linux·arm开发·单片机