我一直在使用通过 VMware 安装的 Ubuntu Server 10.04(主机是 Windows XP)。不知出于什么原因(我怀疑是主机断电了),客户操作系统似乎坏了。
每次启动虚拟机时,我都会卡在 initramfs 提示符下,之后似乎是内核恐慌跟踪和以下几行:
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't have /sbin/init.
No init found. Try passing init= bootarg.
Busybox 似乎允许输入命令,然后显示 (initramfs) 提示符。
我使用 Ubuntu Live CD 启动并尝试:
- 检查条目
/dev
:我可以看到/dev/sda
,,,/dev/sda1
/dev/sda2
/dev/sda5
- 正在挂载
/dev/sda1
,但挂载命令没有返回(我等了 10 秒,我认为这足够了?) fsck -c /dev/sda1
- 但 fsck 报告说/dev/sda1
很忙。dmesg
使用 Live CD 时检查:EXT4-fs (sda1): INFO: recovery required in readonly filesystem EXT4-fs (sda1): write access will be enabled during recovery EXT4-fs warning (device sda1): ext4 clear journal err: Filesystem error recorded from previous mount: IO failure EXT4-fs warning (device sda1): ext4_clear_journal_err: Marking fs in need of filesystem check.
我接下来可以尝试什么?该机器包含有价值的源代码,所以我希望能够找到解决方案!
答案1
尝试
$ fsck -y /dev/sda1
来自 LiveCD
答案2
实时 CD 会自动挂载 /dev/sda1 分区。您需要做的就是先运行:
umount /dev/sda1
然后运行:
fsck -y /dev/sda1
这对我来说是有效的。