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'
相关推荐
Apipi*5 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP6 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
广州浮点FLOATLIC8 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding8 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK8 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2088 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)9 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter6259 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
xh didida10 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
zly350011 小时前
centos7 mount设备挂载 /dev/sda1/硬盘挂载
linux·运维·服务器