Sploitus

Exploit for CVE-2026-64561-Kernel-Fix

kitploit · 2026-08-23

Exploit Code

MARKDOWN1514 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CHUZHONGYUN-CVE-2026-64561-KERNEL-FIX
中文 | 英文

* * *

## 中文

# 升级 Linux Kernel 修复 CVE-2026-64561 教程

> **声明:** 本文仅记录本人服务器环境下的修复过程,并非安全专业分析。如有不当之处,欢迎指正。

### 一、简介

本文档提供两种方式将 Linux Kernel 升级,用于修复 **CVE-2026-64561** :ELRepo RPM 安装(推荐)和源码编译。

项目| 说明  
---|---  
**CVE 编号**|  CVE-2026-64561  
**漏洞组件**|  Linux Kernel KVM/x86  
**修复方式**|  升级 Linux Kernel(ELRepo RPM 或源码编译)  
  
* * *

### 三、升级方法

本教程提供两种升级方式,可根据环境选择:

#### 方法一:ELRepo RPM 安装(推荐)

适用于能正常访问 ELRepo 仓库的环境,无需编译,操作简单。

> **方法一原文参考:** 魔方云商家可将CentOS系宿主机内核升级至7.1.6以避免CVE-2026-64561漏洞(作者:欢-Huan)

##### 1\. 环境信息

系统环境:

项目| 信息  
---|---  
操作系统| CentOS Stream 8  
原始内核| `4.18.0-552.el8.x86_64`  
目标内核| `7.1.6-1.el8.elrepo.x86_64`  
内核来源| ELRepo kernel-ml  
  
硬件环境(本文作者环境,仅供参考):

项目| 信息  
---|---  
CPU| AMD Ryzen 9 9950X  
用途| KVM / LXD 宿主机  
网卡| Realtek r8126(第三方驱动)  
  
> **注意:** 此为微星主板的网卡驱动,如无需特别驱动即可正常通网的机器无需这步。对应的网卡请找对应的驱动,不是每个人的驱动都是一样的。

**查看当前环境:**

root@kitploit:~
    
    
    cat /etc/os-release
    uname -r
    

升级路线:

root@kitploit:~
    
    
    4.18.0-552.el8
            ↓
    7.1.6-1.el8.elrepo
    

##### 2\. 安装 ELRepo 仓库

如果系统已经安装 ELRepo,可以跳过。

root@kitploit:~
    
    
    # 导入 ELRepo GPG 密钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
    # 安装 ELRepo 仓库
    dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    

检查:

root@kitploit:~
    
    
    # 检查 ELRepo 仓库是否已添加
    dnf repolist | grep elrepo
    

##### 3\. 查看可用 kernel-ml 版本

root@kitploit:~
    
    
    # 查看可用的 kernel-ml 版本列表
    dnf --enablerepo=elrepo-kernel list kernel-ml --showduplicates
    

确认存在:

root@kitploit:~
    
    
    kernel-ml.x86_64  7.1.6-1.el8.elrepo
    

##### 4\. 安装 Linux 7.1.6 内核

root@kitploit:~
    
    
    # 安装内核本体、核心和模块
    dnf --enablerepo=elrepo-kernel install -y \
    kernel-ml-7.1.6-1.el8.elrepo.x86_64 \
    kernel-ml-core-7.1.6-1.el8.elrepo.x86_64 \
    kernel-ml-modules-7.1.6-1.el8.elrepo.x86_64
    

编译第三方驱动(如需要):

root@kitploit:~
    
    
    # 安装内核开发包用于编译第三方驱动
    dnf --enablerepo=elrepo-kernel install -y \
    kernel-ml-devel-7.1.6-1.el8.elrepo.x86_64
    

##### 5\. 确认内核安装成功

root@kitploit:~
    
    
    # 查看已安装的 kernel-ml 包
    rpm -qa | grep kernel-ml
    

查看 grub:

root@kitploit:~
    
    
    # 查看 grub 中的内核列表
    grubby --info=ALL | grep title
    

##### 6\. 设置默认启动内核

root@kitploit:~
    
    
    # 查看所有可用内核
    grubby --info=ALL | grep kernel
    

设置:

root@kitploit:~
    
    
    # 设置默认启动内核
    grubby --set-default /boot/vmlinuz-7.1.6-1.el8.elrepo.x86_64
    

确认:

root@kitploit:~
    
    
    # 验证默认内核
    grubby --default-kernel
    

##### 7\. 检查 grub 保存状态

root@kitploit:~
    
    
    # 检查 grub 环境保存状态
    grub2-editenv list
    

##### 8\. 重启进入新内核

root@kitploit:~
    
    
    # 重启服务器
    reboot
    

检查:

root@kitploit:~
    
    
    # 查看当前内核版本
    uname -r
    

预期输出:

root@kitploit:~
    
    
    7.1.6-1.el8.elrepo.x86_64
    

##### 9\. Realtek r8126 驱动检查

> **注意:** 此为微星主板的网卡驱动,如无需特别驱动即可正常通网的机器无需这步。对应的网卡请找对应的驱动,不是每个人的驱动都是一样的。

root@kitploit:~
    
    
    # 查看 r8126 驱动版本信息
    modinfo r8126 | grep vermagic
    

如果不是:

root@kitploit:~
    
    
    7.1.6-1.el8.elrepo.x86_64
    

需要重新编译。

##### 10\. 重新编译 r8126

> **注意:** 此为微星主板的网卡驱动,如无需特别驱动即可正常通网的机器无需这步。对应的网卡请找对应的驱动,不是每个人的驱动都是一样的。

root@kitploit:~
    
    
    # 进入驱动源码目录
    cd /root/qudong_backup/r8126-10.016.00
    
    # 清理旧编译产物
    make clean
    
    # 编译驱动
    make
    
    # 安装驱动
    make install
    
    # 重新生成模块依赖
    depmod -a
    
    # 加载驱动
    modprobe r8126
    

检查:

root@kitploit:~
    
    
    # 确认驱动已加载
    lsmod | grep r8126
    

##### 11\. KVM 与 CVE-2026-64561 检查

7.1.x 内核包含新版 KVM/MMU:

root@kitploit:~
    
    
    CONFIG_KVM_GUEST_MEMFD=y
    CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
    CONFIG_KVM_MM_U_LOCKLESS_AGING=y
    CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y
    CONFIG_KVM_MAX_NR_VCPUS=4096
    

##### 12\. 升级失败回滚

root@kitploit:~
    
    
    # 查看所有可用内核
    grubby --info=ALL | grep kernel
    

恢复旧内核:

root@kitploit:~
    
    
    # 设置旧内核为默认启动项
    grubby --set-default /boot/vmlinuz-4.18.0-552.el8.x86_64
    

##### 13\. 升级总结

升级路线:

root@kitploit:~
    
    
    CentOS Stream 8
            ↓
    Linux 4.18
            ↓
    ELRepo kernel-ml 7.1.6
    

结果:

root@kitploit:~
    
    
    ✅ 升级到 Linux 7.1.6
    ✅ KVM/MMU 子系统更新
    ✅ 支持更多新硬件
    ✅ 保留旧内核回滚能力
    

注意:

  * 第三方驱动(例如 r8126)升级前必须确认兼容
  * 生产环境建议保留旧内核
  * KVM 宿主机建议检查 nested virtualization



* * *

#### 方法二:源码编译

适用于无法访问 ELRepo 仓库,或需要使用 kernel.org 官方 stable 版本的环境。具体步骤见下方。

##### 1\. 环境信息

**查看当前环境:**

root@kitploit:~
    
    
    cat /etc/os-release
    uname -r
    

由于本人服务器环境中:

  * ELRepo Kernel RPM 仓库无法稳定拉取;
  * 当前环境已经通过 CVE-2026-53359-Kernel-Fix 教程中的 **方法二:源码编译** 方式升级内核;
  * CVE-2026-64561 涉及 Linux Kernel KVM/x86 组件;



**因此采用:**

kernel.org 官方 stable 源码编译方式升级内核。

**说明:**

该方案仅为本人服务器环境下的解决方法,不代表所有环境必须使用源码编译。

##### 2\. 下载内核源码

root@kitploit:~
    
    
    # 进入源码目录
    cd /usr/src
    
    # 下载 Linux 7.1.7 源码
    wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.7.tar.xz
    
    # 解压源码
    tar -xf linux-7.1.7.tar.xz
    
    # 进入源码目录
    cd /usr/src/linux-7.1.7
    
    # 确认源码完整
    ls Makefile
    

预期输出:

root@kitploit:~
    
    
    Makefile
    

##### 3\. 迁移原内核配置

由于源码编译安装的 7.1.3 内核未生成:

root@kitploit:~
    
    
    /boot/config-7.1.3
    

因此使用之前编译时保存的配置:

root@kitploit:~
    
    
    # 检查旧配置是否存在
    ls -lh /usr/src/linux-7.1.3/.config
    

确认存在:

root@kitploit:~
    
    
    /usr/src/linux-7.1.3/.config
    

root@kitploit:~
    
    
    # 复制旧配置到新内核目录
    cp /usr/src/linux-7.1.3/.config /usr/src/linux-7.1.7/.config
    

##### 4\. 更新内核配置

root@kitploit:~
    
    
    # 进入新内核源码目录
    cd /usr/src/linux-7.1.7
    
    # 基于旧配置生成新配置
    make olddefconfig
    

预期输出:

root@kitploit:~
    
    
    #
    # configuration written to .config
    #
    

##### 5\. 确认 KVM Intel 配置

root@kitploit:~
    
    
    # 检查 KVM 相关配置项
    grep -E "CONFIG_KVM|CONFIG_KVM_INTEL" .config
    

预期输出:

root@kitploit:~
    
    
    CONFIG_KVM_X86=m
    CONFIG_KVM=m
    CONFIG_KVM_INTEL=m
    

说明:

  * KVM 核心模块已启用;
  * x86 KVM 支持已启用;
  * Intel KVM 模块已启用。



满足当前 KVM Intel 环境要求。

##### 6\. 编译内核

root@kitploit:~
    
    
    # 查看 CPU 核心数
    nproc
    
    # 使用全部 CPU 编译(根据实际核心数调整)
    make -j$(nproc)
    
    # 编译完成后验证内核镜像
    ls -lh arch/x86/boot/bzImage
    

预期输出:

root@kitploit:~
    
    
    -rw-r--r-- 1 root root xxM arch/x86/boot/bzImage
    

表示内核镜像生成成功。

##### 7\. 安装内核模块

root@kitploit:~
    
    
    # 安装内核模块
    make modules_install
    
    # 验证模块安装
    ls /lib/modules/
    

预期输出:

root@kitploit:~
    
    
    7.1.7
    

root@kitploit:~
    
    
    # 检查 KVM 模块
    find /lib/modules/7.1.7 -name "kvm*"
    

预期输出:

root@kitploit:~
    
    
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm.ko
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-intel.ko
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-amd.ko
    

确认:

  * KVM 模块生成成功;
  * Intel KVM 模块生成成功。



##### 8\. 安装新内核

root@kitploit:~
    
    
    # 安装内核
    make install
    
    # 检查安装结果
    ls -lh /boot | grep 7.1.7
    

预期输出:

root@kitploit:~
    
    
    initramfs-7.1.7.img
    System.map-7.1.7
    vmlinuz-7.1.7
    

##### 9\. 更新启动项

root@kitploit:~
    
    
    # 生成 GRUB 配置
    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    # 设置默认启动内核
    grubby --set-default /boot/vmlinuz-7.1.7
    
    # 验证默认内核
    grubby --default-kernel
    

预期输出:

root@kitploit:~
    
    
    /boot/vmlinuz-7.1.7
    

##### 10\. 重启服务器

root@kitploit:~
    
    
    # 重启服务器
    reboot
    

##### 11\. 升级验证

root@kitploit:~
    
    
    # 查看当前内核版本
    uname -r
    

预期输出:

root@kitploit:~
    
    
    7.1.7
    

✅ 已运行 Linux 7.1.7

root@kitploit:~
    
    
    # 查看 KVM 模块
    lsmod | grep kvm
    

预期输出:

root@kitploit:~
    
    
    kvm_intel
    kvm
    irqbypass
    

✅ KVM Intel 正常加载

root@kitploit:~
    
    
    # 查看 KVM 模块来源
    modinfo kvm_intel | grep filename
    

预期输出:

root@kitploit:~
    
    
    filename: /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-intel.ko
    

✅ 当前使用的是 7.1.7 编译生成的 KVM Intel 模块

##### 12\. 回滚

> **重要:** 旧内核不应立即删除。

root@kitploit:~
    
    
    # 列出可用内核
    grubby --info=ALL | grep kernel
    

如果新内核有问题,设置旧内核:

root@kitploit:~
    
    
    # 设置旧内核为默认启动项
    grubby --set-default /boot/vmlinuz-7.1.3
    
    # 重启生效
    reboot
    

##### 13\. 最终修复结果

项目| 修复前  
---|---  
  
##### 14\. 当前服务器状态

最终运行:

root@kitploit:~
    
    
    CentOS Stream 8
    x86_64
    
    Kernel:
    7.1.7
    
    KVM:
    kvm_intel
    kvm
    irqbypass
    

修复完成。

##### 15\. 后续建议

###### 保留旧内核

暂时保留:

root@kitploit:~
    
    
    7.1.3
    6.18.8-1.el8.elrepo.x86_64
    4.18.x
    

用于异常情况下回滚。

root@kitploit:~
    
    
    # 查看可用内核
    grubby --info=ALL | grep kernel
    

###### 保存当前配置

以后继续升级时建议保存:

root@kitploit:~
    
    
    # 保存当前内核配置
    cp /usr/src/linux-7.1.7/.config /boot/config-7.1.7
    

后续升级:

root@kitploit:~
    
    
    # 复制配置到新内核目录
    cp /boot/config-7.1.7 新内核源码目录/.config
    

即可继续复用配置。

* * *

* * *

## 英文

# 升级 Linux Kernel 修复 CVE-2026-64561

> **声明:** 本仓库仅记录我在特定服务器环境下的个人修复过程,并非专业的安全分析。如有不当之处,欢迎指正。

### 一、简介

本指南提供两种升级 Linux Kernel 的方式,用于修复 **CVE-2026-64561** :ELRepo RPM 安装(推荐)和源码编译。

项目| 说明  
---|---  
**CVE 编号**|  CVE-2026-64561  
**漏洞组件**|  Linux Kernel KVM/x86  
**修复方式**|  升级 Linux Kernel(ELRepo RPM 或源码编译)  
  
* * *

### 三、升级方法

本教程提供两种升级方式,可根据环境选择:

#### 方法一:ELRepo RPM 安装(推荐)

适用于可稳定访问 ELRepo 仓库的环境,无需编译。

> **方法一原文参考:** 魔方云商家可将CentOS系宿主机内核升级至7.1.6以避免CVE-2026-64561漏洞(作者:欢-Huan)

##### 1\. 环境信息

系统环境:

项目| 信息  
---|---  
操作系统| CentOS Stream 8  
原始内核| `4.18.0-552.el8.x86_64`  
目标内核| `7.1.6-1.el8.elrepo.x86_64`  
内核来源| ELRepo kernel-ml  
  
硬件环境(作者的配置,仅供参考):

项目| 信息  
---|---  
CPU| AMD Ryzen 9 9950X  
用途| KVM / LXD 宿主机  
网卡| Realtek r8126(第三方驱动)  
  
> **注意:** 这是微星主板的网卡驱动。无需特殊驱动即可正常联网的机器不需要此步骤。请为你的网卡寻找对应的驱动。

**查看当前环境:**

root@kitploit:~
    
    
    cat /etc/os-release
    uname -r
    

升级路线:

root@kitploit:~
    
    
    4.18.0-552.el8
            ↓
    7.1.6-1.el8.elrepo
    

##### 2\. 安装 ELRepo 仓库

如果已经安装 ELRepo,可以跳过此步骤。

root@kitploit:~
    
    
    # Import ELRepo GPG key
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
    # Install ELRepo repository
    dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    

检查:

root@kitploit:~
    
    
    # Check if ELRepo repository is added
    dnf repolist | grep elrepo
    

##### 3\. 查看可用 kernel-ml 版本

root@kitploit:~
    
    
    # List available kernel-ml versions
    dnf --enablerepo=elrepo-kernel list kernel-ml --showduplicates
    

确认存在:

root@kitploit:~
    
    
    kernel-ml.x86_64  7.1.6-1.el8.elrepo
    

##### 4\. 安装 Linux 7.1.6 内核

root@kitploit:~
    
    
    # Install kernel body, core, and modules
    dnf --enablerepo=elrepo-kernel install -y \
    kernel-ml-7.1.6-1.el8.elrepo.x86_64 \
    kernel-ml-core-7.1.6-1.el8.elrepo.x86_64 \
    kernel-ml-modules-7.1.6-1.el8.elrepo.x86_64
    

编译第三方驱动(如需要):

root@kitploit:~
    
    
    # Install kernel development package for third-party drivers
    dnf --enablerepo=elrepo-kernel install -y \
    kernel-ml-devel-7.1.6-1.el8.elrepo.x86_64
    

##### 5\. 确认内核安装

root@kitploit:~
    
    
    # View installed kernel-ml packages
    rpm -qa | grep kernel-ml
    

检查 grub:

root@kitploit:~
    
    
    # View kernel list in grub
    grubby --info=ALL | grep title
    

##### 6\. 设置默认启动内核

root@kitploit:~
    
    
    # View all available kernels
    grubby --info=ALL | grep kernel
    

设置:

root@kitploit:~
    
    
    # Set default boot kernel
    grubby --set-default /boot/vmlinuz-7.1.6-1.el8.elrepo.x86_64
    

确认:

root@kitploit:~
    
    
    # Verify default kernel
    grubby --default-kernel
    

##### 7\. 检查 GRUB 保存状态

root@kitploit:~
    
    
    # Check grub environment save status
    grub2-editenv list
    

##### 8\. 重启进入新内核

root@kitploit:~
    
    
    # Reboot server
    reboot
    

检查:

root@kitploit:~
    
    
    # Check current kernel version
    uname -r
    

预期输出:

root@kitploit:~
    
    
    7.1.6-1.el8.elrepo.x86_64
    

##### 9\. Realtek r8126 驱动检查

> **注意:** 这是微星主板的网卡驱动。无需特殊驱动即可正常联网的机器不需要此步骤。请为你的网卡寻找对应的驱动。

root@kitploit:~
    
    
    # View r8126 driver version info
    modinfo r8126 | grep vermagic
    

如果不是:

root@kitploit:~
    
    
    7.1.6-1.el8.elrepo.x86_64
    

需要重新编译。

##### 10\. 重新编译 r8126

> **注意:** 这是微星主板的网卡驱动。无需特殊驱动即可正常联网的机器不需要此步骤。请为你的网卡寻找对应的驱动。

root@kitploit:~
    
    
    # Enter driver source directory
    cd /root/qudong_backup/r8126-10.016.00
    
    # Clean old build artifacts
    make clean
    
    # Compile driver
    make
    
    # Install driver
    make install
    
    # Regenerate module dependencies
    depmod -a
    
    # Load driver
    modprobe r8126
    

检查:

root@kitploit:~
    
    
    # Confirm driver is loaded
    lsmod | grep r8126
    

##### 11\. KVM 与 CVE-2026-64561 检查

7.1.x 内核包含新版 KVM/MMU:

root@kitploit:~
    
    
    CONFIG_KVM_GUEST_MEMFD=y
    CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
    CONFIG_KVM_MM_U_LOCKLESS_AGING=y
    CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y
    CONFIG_KVM_MAX_NR_VCPUS=4096
    

##### 12\. 升级失败回滚

root@kitploit:~
    
    
    # View all available kernels
    grubby --info=ALL | grep kernel
    

恢复旧内核:

root@kitploit:~
    
    
    # Set old kernel as default boot entry
    grubby --set-default /boot/vmlinuz-4.18.0-552.el8.x86_64
    

##### 13\. 升级总结

升级路线:

root@kitploit:~
    
    
    CentOS Stream 8
            ↓
    Linux 4.18
            ↓
    ELRepo kernel-ml 7.1.6
    

结果:

root@kitploit:~
    
    
    ✅ Upgraded to Linux 7.1.6
    ✅ KVM/MMU subsystem updated
    ✅ Better new hardware support
    ✅ Old kernel rollback capability retained
    

注意:

  * 第三方驱动(例如 r8126)升级前必须确认兼容
  * 生产环境建议保留旧内核
  * KVM 宿主机建议检查嵌套虚拟化



* * *

#### 方法二:源码编译

适用于无法访问 ELRepo 仓库,或需要使用 kernel.org 官方 stable 版本的环境。具体步骤见下方。

##### 1\. 环境信息

**查看当前环境:**

root@kitploit:~
    
    
    cat /etc/os-release
    uname -r
    

在我的环境中:

  * ELRepo Kernel RPM 仓库无法稳定访问。
  * 当前环境已通过 CVE-2026-53359-Kernel-Fix 教程中的 **方法二:源码编译** 方式完成内核升级。
  * CVE-2026-64561 影响 Linux Kernel KVM/x86 组件。



**因此:**

我使用 kernel.org 官方 stable 源码手动编译了内核 7.1.7。

**说明:**

这是我个人环境的解决方案,并非所有系统的强制升级方法。

##### 2\. 下载内核源码

root@kitploit:~
    
    
    # Enter source directory
    cd /usr/src
    
    # Download Linux 7.1.7 source
    wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.7.tar.xz
    
    # Extract source
    tar -xf linux-7.1.7.tar.xz
    
    # Enter source directory
    cd /usr/src/linux-7.1.7
    
    # Verify source integrity
    ls Makefile
    

预期输出:

root@kitploit:~
    
    
    Makefile
    

##### 3\. 迁移原内核配置

由于源码编译安装的 7.1.3 内核未生成:

root@kitploit:~
    
    
    /boot/config-7.1.3
    

因此使用之前编译时保存的配置:

root@kitploit:~
    
    
    # Check if old config exists
    ls -lh /usr/src/linux-7.1.3/.config
    

确认存在:

root@kitploit:~
    
    
    /usr/src/linux-7.1.3/.config
    

root@kitploit:~
    
    
    # Copy old config to new kernel directory
    cp /usr/src/linux-7.1.3/.config /usr/src/linux-7.1.7/.config
    

##### 4\. 更新内核配置

root@kitploit:~
    
    
    # Enter new kernel source directory
    cd /usr/src/linux-7.1.7
    
    # Generate new config based on old config
    make olddefconfig
    

预期输出:

root@kitploit:~
    
    
    #
    # configuration written to .config
    #
    

##### 5\. 确认 KVM Intel 配置

root@kitploit:~
    
    
    # Check KVM related config items
    grep -E "CONFIG_KVM|CONFIG_KVM_INTEL" .config
    

预期输出:

root@kitploit:~
    
    
    CONFIG_KVM_X86=m
    CONFIG_KVM=m
    CONFIG_KVM_INTEL=m
    

说明:

  * KVM 核心模块已启用;
  * x86 KVM 支持已启用;
  * Intel KVM 模块已启用。



满足当前 KVM Intel 环境要求。

##### 6\. 编译内核

root@kitploit:~
    
    
    # Check CPU core count
    nproc
    
    # Compile using all CPUs (adjust based on your core count)
    make -j$(nproc)
    
    # Verify kernel image after compilation
    ls -lh arch/x86/boot/bzImage
    

预期输出:

root@kitploit:~
    
    
    -rw-r--r-- 1 root root xxM arch/x86/boot/bzImage
    

表示内核镜像生成成功。

##### 7\. 安装内核模块

root@kitploit:~
    
    
    # Install kernel modules
    make modules_install
    
    # Verify module installation
    ls /lib/modules/
    

预期输出:

root@kitploit:~
    
    
    7.1.7
    

root@kitploit:~
    
    
    # Check KVM modules
    find /lib/modules/7.1.7 -name "kvm*"
    

预期输出:

root@kitploit:~
    
    
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm.ko
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-intel.ko
    /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-amd.ko
    

确认:

  * KVM 模块生成成功;
  * Intel KVM 模块生成成功。



##### 8\. 安装新内核

root@kitploit:~
    
    
    # Install kernel
    make install
    
    # Check installation result
    ls -lh /boot | grep 7.1.7
    

预期输出:

root@kitploit:~
    
    
    initramfs-7.1.7.img
    System.map-7.1.7
    vmlinuz-7.1.7
    

##### 9\. 更新启动项

root@kitploit:~
    
    
    # Generate GRUB configuration
    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    # Set default boot kernel
    grubby --set-default /boot/vmlinuz-7.1.7
    
    # Verify default kernel
    grubby --default-kernel
    

预期输出:

root@kitploit:~
    
    
    /boot/vmlinuz-7.1.7
    

##### 10\. 重启服务器

root@kitploit:~
    
    
    # Reboot server
    reboot
    

##### 11\. 升级验证

root@kitploit:~
    
    
    # Check current kernel version
    uname -r
    

预期输出:

root@kitploit:~
    
    
    7.1.7
    

✅ 已运行 Linux 7.1.7

root@kitploit:~
    
    
    # Check KVM modules
    lsmod | grep kvm
    

预期输出:

root@kitploit:~
    
    
    kvm_intel
    kvm
    irqbypass
    

✅ KVM Intel 正常加载

root@kitploit:~
    
    
    # Check KVM module source
    modinfo kvm_intel | grep filename
    

预期输出:

root@kitploit:~
    
    
    filename: /lib/modules/7.1.7/kernel/arch/x86/kvm/kvm-intel.ko
    

✅ 当前使用的是 7.1.7 编译生成的 KVM Intel 模块

##### 12\. 回滚流程

> **重要:** 旧内核不应立即删除。

root@kitploit:~
    
    
    # List available kernels
    grubby --info=ALL | grep kernel
    

如果新内核有问题,设置旧内核:

root@kitploit:~
    
    
    # Set old kernel as default boot entry
    grubby --set-default /boot/vmlinuz-7.1.3
    
    # Reboot to apply
    reboot
    

##### 13\. 最终修复结果

项目| 修复前  
---|---  
  
##### 14\. 当前服务器状态

最终运行:

root@kitploit:~
    
    
    CentOS Stream 8
    x86_64
    
    Kernel:
    7.1.7
    
    KVM:
    kvm_intel
    kvm
    irqbypass
    

修复完成。

##### 15\. 后续建议

###### 保留旧内核

暂时保留:

root@kitploit:~
    
    
    7.1.3
    6.18.8-1.el8.elrepo.x86_64
    4.18.x
    

用于异常情况下回滚。

root@kitploit:~
    
    
    # View available kernels
    grubby --info=ALL | grep kernel
    

###### 保存当前配置

以后继续升级时建议保存:

root@kitploit:~
    
    
    # Save current kernel config
    cp /usr/src/linux-7.1.7/.config /boot/config-7.1.7
    

后续升级:

root@kitploit:~
    
    
    # Copy config to new kernel directory
    cp /boot/config-7.1.7 /new-kernel-source-directory/.config
    

即可继续复用配置。

* * *

## 许可证 / License

MIT