问题定位及处理
查看错误信息:
/dev/sda3 contains a file system with errors, check forced.
/dev/sda3: Inodes that were part of a corrupted orphan linked list found.
/dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
可知系统已经自行fsck过了,只不过没有成功:退出码4;需要管理员手动执行fsck。
手动执行:(执行前可以找台机器执行man fsck先了解该命令)
fsck -y /dev/sda3
打印如下,提示FILE SYSTEM WAS MODIFIED,然后执行exit重启,系统恢复正常。
知识扩展
fsck 是一个用于检查和修复文件系统的命令。不同的文件系统(如ext2、ext3、ext4等)有不同的 fsck 工具。以下是一些常见文件系统的 fsck 命令及其参数释义:
ext2/ext3/ext4 文件系统:
fsck fsck.ext2, fsck.ext3, fsck.ext4
参数:
-a: 自动修复文件系统,无需用户交互。
-c: 检查坏块,并将其标记为不可用。
-f: 强制检查,即使文件系统看起来干净也会运行检查。
-p: 自动修复,类似于 -a,但不询问任何问题。
-y: 对所有问题都回答"是",类似于 -p。
例子:
fsck.ext4 -a /dev/sda1
XFS 文件系统:
xfs_repair
参数:
无 -a 选项,因为 XFS 文件系统通常会在挂载时自动进行检查和修复。
例子:
xfs_repair /dev/sda1
Btrfs 文件系统:
btrfs check
参数:
-p: 自动修复。
-s: 打印每个块的修复状态。
例子:
btrfs check -p /dev/sda1
请注意,运行文件系统检查通常需要卸载文件系统或在只读模式下运行。最好在系统启动时单用户模式下运行 fsck。在进行文件系统修复之前,请确保备份数据,因为某些修复可能会导致数据丢失。