首页主机资讯Linux虚拟机如何升级内核

Linux虚拟机如何升级内核

时间2025-11-14 19:49:03发布访客分类主机资讯浏览1316
导读:Linux虚拟机升级内核实操指南 一 升级前准备与注意事项 备份与快照:先为虚拟机做快照/备份,升级失败可快速回滚。 选择内核类型:发行版仓库的稳定内核优先;需要新特性再选主线版。 架构匹配:确认虚拟机架构为x86_64/ARM64,下载...

Linux虚拟机升级内核实操指南

一 升级前准备与注意事项

  • 备份与快照:先为虚拟机做快照/备份,升级失败可快速回滚。
  • 选择内核类型:发行版仓库的稳定内核优先;需要新特性再选主线版。
  • 架构匹配:确认虚拟机架构为x86_64/ARM64,下载对应内核包。
  • 虚拟化驱动:升级后首次启动失败,可在 GRUB 菜单选择旧内核,回滚后再排查。
  • 远程环境:如通过 SSH 操作,建议先安装并启用 screen/tmux,避免断线导致中断。

二 通用流程与版本确认

  • 查看当前内核与发行版:
    • 查看内核版本:uname -r
    • 查看发行版信息:cat /etc/os-releasecat /etc/redhat-release
  • 基本流程:
    1. 更新软件索引与系统:sudo apt update & & sudo apt upgradesudo yum update
    2. 安装新内核(见下文分发行版方法)
    3. 更新引导配置:update-grub(Debian/Ubuntu)或 grub2-mkconfig(RHEL/CentOS)
    4. 设置默认启动项(如需要)
    5. 重启:sudo reboot
    6. 验证:uname -rcat /boot/grub/grub.cfg | grep menuentry(确认默认项)
  • 建议始终保留至少一个可启动的旧内核,便于回滚。

三 发行版与场景化升级方法

  • Ubuntu/Debian 系列
    • 方法A(推荐,稳定):通过仓库安装
      • 更新索引:sudo apt update
      • 安装新内核元包(示例):sudo apt install linux-image-generic linux-headers-generic
      • 更新引导:sudo update-grub
    • 方法B(主线内核,Ubuntu 专用):使用 ubuntu-mainline-kernel.sh
      • 下载脚本:wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
      • 安装脚本:sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
      • 安装指定版本:sudo ubuntu-mainline-kernel.sh -i 5.16.20(示例版本)
      • 卸载旧版:sudo ubuntu-mainline-kernel.sh -u
    • 方法C(手动 DEB 包):从 kernel.ubuntu.com/mainline/ 下载对应架构的 linux-image-.deb/linux-headers-.deb,在下载目录执行:*sudo dpkg -i .deb
    • 重启并验证:sudo reboot & & uname -r
  • CentOS/RHEL 7/8(含兼容发行版)
    • 方法A(仓库小版本更新):sudo yum update kernel -y,重启后用 uname -r 验证
    • 方法B(ELRepo 安装主线/长期支持版):
      • 导入 GPG:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      • 安装 ELRepo(示例为 CentOS 7):sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
      • 查看可用内核:yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available
      • 安装长期支持版:sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
        或安装主线版:sudo yum --enablerepo=elrepo-kernel install -y kernel-ml
      • 设置默认启动项(GRUB2):
        • 查看菜单项编号:awk -F' ‘$1=="menuentry " { print i++ " : " $2} ’ /boot/grub2/grub.cfg
        • 设置默认:sudo grub2-set-default 0
        • 生成配置:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      • 重启并验证:sudo reboot & & uname -r
  • 源码编译(高级,适用于需要特定补丁/配置的场景)
    • 下载内核源码(示例):wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.gz
    • 解压与准备:tar -xvf linux-5.x.x.tar.gz & & cd linux-5.x.x
    • 配置:make defconfigmake oldconfig(沿用当前配置并交互确认)
    • 可选图形配置:make menuconfig
    • 编译与安装:
      • 编译:make -j$(nproc)
      • 安装模块:sudo make modules_install
      • 安装内核:sudo make install
    • 更新引导并重启(发行版不同,命令可能为 update-grubgrub2-mkconfig),验证:uname -r

四 常见问题与回滚

  • 新内核无法启动:在 GRUB 菜单选择旧内核进入系统,检查日志(如 journalctl -xb),修正配置或驱动后重试。
  • 找不到新内核:确认已安装对应架构的包,执行 update-grub/grub2-mkconfig 重建配置,再重启。
  • 回滚方法:
    • Ubuntu/Debian:在 GRUB 选择旧内核;或用 sudo ubuntu-mainline-kernel.sh -u 卸载新内核。
    • CentOS/RHEL:用 grub2-set-default 选择旧内核编号,或 yum remove 卸载新内核包。
  • 虚拟机增强功能:升级后如 VMware Tools/ VirtualBox Guest Additions 失效,需重新编译/更新以匹配新内核。
  • 风险提示:生产环境请在维护窗口操作,并保留快照旧内核直至验证稳定。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux虚拟机如何升级内核
本文地址: https://pptw.com/jishu/748350.html
Kafka 在 Debian 上的扩展性探讨 Ubuntu Swagger如何实现持续集成

游客 回复需填写必要信息