解决VM虚拟机无法启动,启动后只能进入 initramfs 的问题

关注IT技术视界公众号,获取好玩有趣软件! 先领1T空间!再存有趣资源!仅有一次机会!

在虚拟机(VMware 或 VirtualBox)中运行 Ubuntu 时,可能会遇到开机后无法进入系统,而是进入 initramfs(紧急救援模式)的情况。本文介绍该问题的原因以及如何使用 fsck 进行修复。

一、问题现象

在虚拟机中启动 Ubuntu 后,屏幕可能会显示类似以下错误:

/dev/sda5 contains a file system with errors, check forced  
/dev/sda5: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.  
(i.e., without -a or -p options)  
fsck exited with status code 4  
The root filesystem on /dev/sda5 requires a manual fsck  
BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.5) built-in shell (ash)  
(initramfs)  

此时,系统无法进入桌面,而是停留在 initramfs 模式,需要手动修复文件系统。

二、解决方案

1. 在 initramfs 中运行 fsck 修复文件系统

(1)检查根分区

initramfs 提示符下,运行以下命令找到 Ubuntu 的根分区(通常是 /dev/sda5):

lsblk
blkid

如果 /dev/sdaX(X 代表具体的分区号)是根分区,记住它的编号。

(2)运行 fsck 修复文件系统

fsck -y /dev/sda5

-y 选项表示自动修复所有错误。如果不加 -y,每次修复都需要手动输入 y 确认。

(3)重启系统

修复成功后,输入以下命令重启:

reboot

如果问题解决,Ubuntu 应该可以正常启动。

三、预防措施

1. 定期备份数据

虚拟机容易崩溃,建议定期使用 tarrsync 备份数据:

tar -czvf backup.tar.gz /home/username

2. 避免强制关机

尽量使用以下命令安全关机,而不是直接关闭 VMware/VirtualBox:

sudo shutdown -h now

3. 启用定期文件系统检查

sudo tune2fs -c 1 /dev/sda5

这样每次启动都会自动检查文件系统,防止错误累积。

4. 监控磁盘健康状态

sudo smartctl -a /dev/sda

如果发现磁盘存在坏道,建议及时备份数据并更换磁盘。

四、总结

如果虚拟机中的 Ubuntu 启动后进入 initramfs,可以按照以下步骤解决:

  1. 在 initramfs 运行 fsck -y /dev/sda5 修复文件系统
  2. 定期备份数据,避免强制关机,防止文件系统损坏

按照以上方法,应该可以顺利修复 Ubuntu 启动问题!🚀

THE END