故障描述:一台Ubuntu 24.04.03 LTS服务器,突然断电后无法正常启动,卡在如下界面:
原因分析:断电造成了系统内核文件丢失,导致 /boot 分区的文件系统损坏,GRUB引导配置无法正确指向内核文件修复过程:重启系统到内核选择界面
带*的是当前启动的内核,就是这个内核出现故障,无法正常启动,后面带(recovery mode)的是对应内核的“恢复模式”,现在我们选择另外一个内核,这个是第三个选项,回车。
现在应该就能正常启动系统了,登录系统之后查看系统内核
uname -r #查看系统当前启动的内核版本
dpkg --list | grep linux-image | grep -v 'linux-image-extra'
#列出当前系统中所有内核
rc:已删除但配置文件仍保留(可以安全清理)ii:已安装(正常状态)当前运行的内核:6.14.0-37-generic 状态为 ii(已安装),说明它是系统当前使用的有效内核。其他内核版本:大量 6.11.x 和 6.14.x 版本存在,多数为 rc 状态,说明这些是旧内核,已被卸载但残留配置。6.17.0-19-generic 状态为 ii,说明它也是当前安装的内核之一,就是它出现故障,导致系统无法启动,需要清理掉。6.8.0-41-generic 状态为 iF,表示该包安装不完整或失败,可能是断电导致的残留问题。
#执行自动清理(清除所有 rc 状态的残留)
sudo apt autoremove --purge
sudo apt remove --purge $(dpkg -l | grep '^rc' | grep 'linux-image-6.11' | awk '{print $2}')
#这将删除 6.14.0-24 到 6.14.0-36 的所有残留
sudo apt remove --purge linux-image-6.14.0-{24,27,28,29,33,34,35,36}-generic
#删掉6.17.0-19-generic这个内核
sudo apt purge linux-image-6.17.0-19-generic linux-headers-6.17.0-19-generic
#更新 GRUB 引导菜单,此命令会重新生成 /boot/grub/grub.cfg,确保启动菜单只包含当前可用内核。
sudo update-grub
#验证清理结果
dpkg --list | grep linux-image
#重启系统
sudo reboot
至此,Ubuntu服务器突然断电后无法启动故障解决办法完成。


