当在 VMware 虚拟机中运行 Ubuntu 20 时,有时可能会遇到启动时出现 “需要 fsck” 的问题。

/dev/sda1 contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.

/dev/sda1: UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY.
         (i.e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/sda1 requires a manual fsck

BusyBox v1.22.1 (Ubuntu 1:1.22.0-19ubuntuu2) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)_

这是由于文件系统 /dev/sda1 出现了严重错误或不一致性,需要运行 fsck(文件系统检查)来解决。

以下是解决方法的步骤:

1:进入GRUB

启动虚拟机,并在 GRUB 启动加载器菜单中选择 Advanced options for UbuntuGRUB

2:进入恢复模式

然后,选择当前内核版本的恢复模式 Ubuntu, with Linux x.x.x-generic (recovery mode)。 虚拟机将进入恢复模式,并显示一个带有多个选项的菜单。

3:选择 Root Shell (如果有)

选择恢复模式菜单中的 Drop to root shell prompt。若无此选项可跳过此步。

4:将根文件系统重新挂载为读写

恢复模式下,根文件系统通常以只读模式挂载。为了能够运行 fsck 并修复文件系统,您需要将根文件系统重新挂载为读写模式:

1
mount -o remount,rw /

5:手动运行 fsck

在根文件系统上运行 fsck 来检查和修复错误:

1
fsck -f /dev/sda1
  • -f 选项告诉 fsck 要强制进行检查。

运行后会有多个提示需要手动输入,一般全部默认回车即可。

6:重新启动

fsck 完成检查和修复后,输入 reboot 或通过 VMWare 菜单重新启动虚拟机。