news 2026/10/19 11:17:40

Linux命令-kexec(从当前正在运行的内核引导到一个新内核)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令-kexec(从当前正在运行的内核引导到一个新内核)

kexec是 Linux 系统中一项强大的功能,从当前正在运行的内核直接引导到一个新内核,而无需经过耗时的 BIOS/UEFI 硬件初始化过程。这在需要频繁重启(如内核开发、系统测试)或构建高可用性系统时特别有用。

⚙️ 使用前提

在开始使用kexec前,请确保系统满足以下两个基本条件:

  1. 内核支持:当前运行的内核必须编译时启用了CONFIG_KEXEC选项。可以通过以下命令检查:

    grep-F CONFIG_KEXEC /boot/config-`uname-r`

    如果返回CONFIG_KEXEC=y,则表示支持。如果结果是CONFIG_KEXEC=n,则需要重新编译内核并启用该选项。

  2. 安装工具:系统需要安装kexec-tools软件包,它提供了用户空间的kexec命令。

    • 在基于 Debian/Ubuntu 的系统上:
      sudoapt-getinstallkexec-tools
    • 在基于 RHEL/CentOS 的系统上:
      sudoyuminstallkexec-tools

📝 基本使用方法

kexec的典型使用流程分为两步:加载新内核和切换到新内核。

1. 加载新内核

使用kexec -l(或--load)命令将新内核及其初始RAM磁盘(initrd)和命令行参数加载到当前内核中。

基本语法:

sudokexec -l<新内核的路径>--initrd=<新initrd的路径>--append="<内核命令行参数>"

参数详解:

  • -l:指定要加载的新内核映像文件路径,例如/boot/vmlinuz-x.x.x-xx-generic。
  • --initrd:指定新内核对应的初始内存文件系统(initramfs)映像文件路径。
  • --append:传递给新内核的启动参数。一个稳妥的做法是直接使用当前内核的参数,即--append="$(cat /proc/cmdline)"。也可以在此基础上修改或使用全新的参数。

示例:
假设想加载/boot/vmlinuz-5.15.0-60-generic这个内核,并保持启动参数与当前内核一致:

sudokexec -l /boot/vmlinuz-5.15.0-60-generic --initrd=/boot/initrd.img-5.15.0-60-generic --append="$(cat/proc/cmdline)"
2. 切换到新内核

加载完成后,使用以下命令立即切换到已加载的新内核:

sudokexec -e

执行此命令后,系统会立即重新启动到新内核,不会正常关闭现有应用程序和服务。因此,在执行前请务必保存好所有工作。

🛠️ 其他常用参数

参数功能说明
-l/--load加载一个新内核。
-e/--exec执行(切换)到已加载的内核。
-p/--load-panic专用于kdump场景,加载一个在系统崩溃(panic)时自动启动的捕获内核。
-u/--unload卸载当前已加载的 kexec 内核。
-f/--force强制立即调用 kexec,而不正常关闭系统(慎用)。
-t指定新内核的类型(如elf,bzImage等)。

💡 重要注意事项

  • 快速但非安全关闭:kexec -e触发的重启不会正常停止系统服务或卸载文件系统。它旨在追求速度,因此请在切换前手动终止应用程序并同步文件系统,以避免数据损坏。
  • 内核兼容性:新加载的内核本身最好也支持kexec系统调用。如果新内核不支持,那么切换后将无法再次使用kexec进行快速重启。
  • 与 kdump 的关系:kdump是一种官方的内核崩溃转储机制,它的核心正是依赖于kexec。kdump会在系统启动时,预先使用kexec -p加载一个轻量级的“捕获内核”。当生产内核崩溃时,会自动切换到捕获内核来收集崩溃信息(vmcore),以供后续分析。

💎 总结

kexec命令是 Linux 系统管理员和开发者工具箱中一个用于实现快速重启和内核崩溃转储的强大工具。核心用法就是kexec -l加载后,再kexec -e切换。请务必在测试环境中熟练操作后再应用于生产环境,并始终牢记其“非安全关闭”的特性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 11:01:57

学霸同款8个AI论文网站,本科生搞定毕业论文!

学霸同款8个AI论文网站&#xff0c;本科生搞定毕业论文&#xff01; 论文写作的“学霸同款”神器&#xff0c;你真的不能错过 对于大多数本科生来说&#xff0c;撰写毕业论文是一段既紧张又充满挑战的过程。从选题到开题&#xff0c;再到撰写和降重&#xff0c;每一个环节都需要…

作者头像 李华
网站建设 2026/10/16 4:02:15

‌构建“大模型测试沙箱”:隔离、监控、审计的工程实践指南

‌一、背景&#xff1a;为何传统测试范式在大模型时代失效&#xff1f;‌大模型&#xff08;LLM&#xff09;的非确定性、黑盒性与高资源消耗&#xff0c;彻底颠覆了传统软件测试的底层假设&#xff1a;‌输出不可复现‌&#xff1a;相同输入在不同会话中可能产生语义一致但文本…

作者头像 李华
网站建设 2026/10/11 14:54:26

无线网络仿真:无线网络基础_(4).天线与传播特性

天线与传播特性 天线的基本概念 天线是无线通信系统中最基本的组件之一&#xff0c;用于在空间中传输和接收电磁波。天线的设计和选择对于无线网络的性能至关重要。在本节中&#xff0c;我们将详细探讨天线的基本概念&#xff0c;包括天线的类型、参数以及工作原理。 天线的类型…

作者头像 李华
网站建设 2026/10/11 8:05:00

[安洵杯 2019]吹着贝斯扫二维码

打开附件后发现是一堆碎片一样的二维码&#xff0c;和一个加密的压缩包 按时间排序二维码碎片观察是否有顺序 似乎也不是正常的顺序&#xff08;看二维码三个角的顺序&#xff09; 用16进制查看器随便查看一个碎片看看有没有排列提示 发现末端有数字标记 估计这个就是排序了…

作者头像 李华
网站建设 2026/10/17 1:18:21

存储器系统中的非对齐传输

存储器系统中的非对齐传输 存储器系统中的非对齐传输是计算机体系结构和底层编程中的一个概念。 核心定义 非对齐传输指的是CPU或DMA控制器尝试访问一个未在自然边界上对齐的内存地址。 自然边界通常是由所访问数据的大小决定的&#xff1a; 访问1字节&#xff08;8位&#xff…

作者头像 李华