news 2026/7/31 11:21:21

【经验分享】Ubuntu 服务器突然断电后出现 Kernel Panic:使用旧内核启动并修复 initramfs

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【经验分享】Ubuntu 服务器突然断电后出现 Kernel Panic:使用旧内核启动并修复 initramfs

【经验分享】Ubuntu 服务器突然断电后出现 Kernel Panic:使用旧内核启动并修复 initramfs

关键词:Ubuntu、Kernel Panic、GRUB、initramfs、unknown-block(0,0)、断电恢复、旧内核启动

一、问题背景

服务器突然断电后,再次开机时无法正常进入 Ubuntu,屏幕显示如下错误:

KERNEL PANIC! Please reboot your computer. VFS: Unable to mount root fs on unknown-block(0,0)

这类错误表示 Linux 内核在启动过程中无法找到或挂载根文件系统。

常见原因包括:

  • 当前内核对应的initramfs文件损坏或生成不完整;
  • /boot分区空间不足;
  • GRUB 启动参数中的根分区 UUID 错误;
  • 系统盘没有被 BIOS 或磁盘控制器识别;
  • 突然断电导致文件系统或软件 RAID 状态异常;
  • 新安装的内核本身存在启动问题。

本次故障中,旧版本内核可以正常启动,因此最终判断为:最新内核对应的 initramfs 很可能在断电后出现异常,而系统盘和根文件系统本身没有严重损坏。


二、进入 GRUB 启动菜单

开机时需要进入 GRUB 菜单。

如果一直按Esc进入了 BIOS,说明按键时间过早。可以退出 BIOS,等待主板 Logo 出现或刚消失时,再快速连续按几次Esc

进入 GRUB 后,选择:

Advanced options for Ubuntu

系统中显示了以下内核:

Ubuntu, with Linux 7.0.0-28-generic Ubuntu, with Linux 7.0.0-28-generic (recovery mode) Ubuntu, with Linux 6.17.0-40-generic Ubuntu, with Linux 6.17.0-40-generic (recovery mode)

由于最新的7.0.0-28-generic无法启动,因此选择旧内核:

Ubuntu, with Linux 6.17.0-40-generic

先选择普通启动项,不选择recovery mode

旧内核成功进入系统,说明:

  • BIOS 可以识别系统盘;
  • GRUB 基本正常;
  • 根分区大概率没有严重损坏;
  • 问题主要集中在新内核或其 initramfs 文件。

三、确认当前运行的内核

进入系统后执行:

uname-r

输出如下:

6.17.0-40-generic

说明当前确实是通过旧内核启动的。


四、检查/boot分区空间

在修复 initramfs 之前,先检查/boot是否还有足够空间:

df-h/boot

同时查看现有的内核和 initramfs 文件:

ls-lh/boot/vmlinuz-* /boot/initrd.img-*

如果/boot已经达到100%,需要先清理旧内核,否则新的 initramfs 可能无法正常生成。

本次恢复过程中/boot空间正常,因此可以直接重建新内核的 initramfs。


五、重建新内核的 initramfs

切换到 root 用户:

sudo-i

针对无法启动的内核重新生成 initramfs:

update-initramfs-u-k7.0.0-28-generic

然后重新生成 GRUB 配置:

update-grub

正常情况下会看到类似输出:

Found linux image: /boot/vmlinuz-7.0.0-28-generic Found initrd image: /boot/initrd.img-7.0.0-28-generic Found linux image: /boot/vmlinuz-6.17.0-40-generic Found initrd image: /boot/initrd.img-6.17.0-40-generic

这说明 GRUB 已经重新识别到对应的内核和 initramfs 文件。

完成后重启服务器:

reboot

本次重启不再手动选择旧内核,而是让 GRUB 默认启动最新的:

Ubuntu, with Linux 7.0.0-28-generic

系统成功进入 Ubuntu,故障恢复。


六、验证修复结果

系统启动后再次检查当前内核:

uname-r

如果输出:

7.0.0-28-generic

说明新内核已经恢复正常。

进一步验证 initramfs 是否可以被正常解析:

sudolsinitramfs /boot/initrd.img-7.0.0-28-generic>/dev/null\&&echo"initramfs 检查通过"

如果看到:

initramfs 检查通过

说明生成的 initramfs 文件结构基本正常。


七、检查断电是否留下其他问题

虽然服务器已经能够启动,但突然断电还可能导致软件包、文件系统、RAID 或磁盘状态异常,因此建议继续完成以下检查。

1. 检查软件包状态

sudodpkg--configure-asudoapt-finstallsudodpkg--audit

如果dpkg --audit没有输出,通常表示没有处于异常状态的软件包。

更新软件源索引:

sudoaptupdate

2. 检查分区空间和 inode

df-hT/ /boot /boot/efi2>/dev/nulldf-i/ /boot2>/dev/null

重点确认:

  • 根分区没有达到100%
  • /boot分区没有达到100%
  • inode 使用率没有达到100%

3. 检查启动错误日志

查看本次启动中的严重错误:

sudojournalctl-b-perr..alert --no-pager

筛选磁盘、NVMe 和文件系统错误:

sudojournalctl-k-b--no-pager|\grep-Ei'I/O error|Buffer I/O|EXT4-fs error|XFS.*corrupt|nvme.*(error|timeout|reset)|blk_update_request'

如果第二条命令没有输出,通常是好现象。

如果出现以下关键词,则需要进一步排查:

I/O error EXT4-fs error Buffer I/O error nvme timeout controller reset filesystem corruption

需要注意:不要在根分区处于挂载状态时直接运行fsck


八、检查软件 RAID 状态

如果服务器使用了 Linux 软件 RAID,例如/dev/md0,断电后应检查阵列是否降级或正在同步:

cat/proc/mdstat

正常阵列可能显示:

[UUUU]

如果显示:

[UU_U]

说明有一块成员盘缺失。

如果输出中出现:

recovery resync reshape check

说明阵列正在恢复或同步。此时应保持服务器持续供电,不要频繁重启。

查看详细状态:

sudomdadm--detail/dev/md0

正常情况下可以看到:

State : clean

如果正在同步,则可能显示:

State : clean, resyncing

九、检查 NVMe 硬盘健康状态

先查看磁盘设备名:

lsblk-oNAME,SIZE,MODEL,FSTYPE,MOUNTPOINTS

安装检查工具:

sudoaptinstallnvme-cli smartmontools

查看 NVMe 列表:

sudonvme list

假设系统盘是/dev/nvme0,检查 SMART 信息:

sudonvme smart-log /dev/nvme0

重点关注:

critical_warning media_errors num_err_log_entries percentage_used

比较理想的状态是:

critical_warning : 0 media_errors : 0

也可以使用:

sudosmartctl-a/dev/nvme0

实际设备名应以nvme listlsblk的输出为准。


十、不要立即删除旧内核

虽然最新内核已经恢复,但暂时不要删除能够正常启动的:

6.17.0-40-generic

它可以作为备用内核。

建议至少满足以下条件后,再考虑清理旧版本:

  1. 最新内核能够正常启动;
  2. 连续重启两次均无异常;
  3. 日志中没有磁盘或文件系统错误;
  4. 软件 RAID 没有降级;
  5. NVMe SMART 状态正常。

恢复后暂时不要急着执行:

sudoaptautoremove--purge

避免系统自动删除已验证可用的备用内核。


十一、最终恢复流程总结

本次故障的核心恢复流程如下:

服务器突然断电 ↓ 新内核启动时出现 Kernel Panic ↓ 进入 GRUB 的 Advanced options for Ubuntu ↓ 选择旧内核 6.17.0-40-generic ↓ 成功进入系统 ↓ 重建 7.0.0-28-generic 的 initramfs ↓ 更新 GRUB ↓ 重新启动 ↓ 新内核恢复正常

对应的核心命令只有几条:

uname-rsudo-idf-h/boot update-initramfs-u-k7.0.0-28-genericupdate-grubreboot

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

高效免费获取B站4K高清视频的完整解决方案

高效免费获取B站4K高清视频的完整解决方案 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法保存B站精彩视频而烦恼吗&#x…

作者头像 李华
网站建设 2026/7/31 11:16:49

UFS电源管理深度解析:从原理到实战的性能与功耗平衡术

1. 项目概述:为什么UFS电源管理是存储性能的“隐形守护者”在移动设备和嵌入式系统领域,UFS(Universal Flash Storage)早已成为高性能存储的代名词。大家讨论UFS时,焦点往往集中在顺序读写速度、随机IOPS这些直观的性能…

作者头像 李华
网站建设 2026/7/31 11:14:14

完整产业链梳理:智算集群-Token工厂-大模型,打通 AI 落地闭环

AI 产业正在形成一条清晰完整的产业链条:智算集群作为硬件底座,Token工厂作为算力服务转化载体,大模型作为智能能力载体,三者环环相扣,共同支撑各类 AI 应用走向产业化落地。单独拆分任何一环,都难以实现商…

作者头像 李华
网站建设 2026/7/31 11:14:01

电商OLAP技术实战:破解精准营销数据困局

1. 电商精准营销的数据困局与破局之道去年双十一期间,某头部电商平台的营销总监向我吐槽:他们准备了200多个定向营销策略,但大促当天系统崩溃了三次,最终只执行了不到30%的计划。这不是个案——根据我服务过的17家电商企业统计&am…

作者头像 李华
网站建设 2026/7/31 11:13:58

Python虚拟环境管理与PIP使用全指南

1. Python环境管理:虚拟与真实环境深度解析作为一名Python开发者,最常遇到的第一个技术决策就是环境管理。记得我刚接触Python时,曾因为直接在系统环境安装各种包导致项目依赖冲突,最终不得不重装系统。这种惨痛经历让我深刻认识到…

作者头像 李华
网站建设 2026/7/31 11:12:35

当汽车有了“大脑”,“身体控制权”正在被重新定义

当汽车有了“大脑”,“身体控制权”正在被重新定义发动机决定动力,变速箱影响效率,而底盘,决定了车辆如何与地面相处——操控是否精准、乘坐是否舒适、行驶是否安全。在传统汽车时代,这三大件各司其职,底盘…

作者头像 李华