如果“fsck -n /PATH”显示错误,那么 FS 有错误就 100% 正确吗?

如果“fsck -n /PATH”显示错误,那么 FS 有错误就 100% 正确吗?
HOSTNAME:~ # fsck -n /FSMOUNTPOINT
fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
Warning!  /dev/vgname/lvname is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vgname/lvname contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 12845121 ref count is 1, should be 2.  Fix? no

Inode 12845122 ref count is 1, should be 2.  Fix? no

Inode 12845123 ref count is 1, should be 2.  Fix? no

Inode 12845124 ref count is 1, should be 2.  Fix? no

Pass 5: Checking group summary information
Free blocks count wrong (38829073, counted=37828469).
Fix? no

Free inodes count wrong (22658484, counted=22658235).
Fix? no


/dev/vgname/lvname: ********** WARNING: Filesystem still has errors **********

/dev/vgname/lvname: 16972/22675456 files (0.3% non-contiguous), 6521839/45350912 blocks
fsck.ext3 /dev/vgname/lvname failed (status 0x4). Run manually!
HOSTNAME:~ # 

操作系统:SUSE LINUX Enterprise Server 9.4

FS:只有读写选项的 EXT3

问题:所以如果出现“警告:文件系统仍然有错误”消息,我可以 100% 确定 FS 有问题,并且需要 umount/fsck/mount'ed?

更新:

$ tune2fs -l /dev/vgname/lvname | grep 'Filesystem state:'
Filesystem state:         clean
$

答案1

通常的建议是不要fsck在已安装的文件系统上运行。你会得到不可靠的结果 - 当fsck尝试扫描文件系统时,内核仍在读取和写入数据,因此它会显得fsck不一致。某些文件系统允许在线使用fsck,但不是全部 - 例如,FreeBSD 可以在使用时检查 UFS2 文件系统的静态快照,但在安装文件系统时您仍然不会检查文件系统本身。

检查文件系统的最佳方法是卸载它,然后运行fsck它。如果仍然报告问题,您可以采取补救措施。

答案2

如果fsck(8)说文件系统有错误(在这种情况下,日志无法重播,因为它是只读安装的,对于初学者来说),它问题。您应该关闭,以维护模式启动(启动时将single或添加1到内核行;甚至使用安装/救援介质启动)并执行完整的fsck.检查手册以了解您的确切文件系统,使用的标志有所不同。当心!在进行一些可能危险的操作之前,它会要求确认。大多数时候,你不能通过对所有事情都说“是”来做任何事情,但是它说/问什么。

一旦你让系统工作起来,找出什么搞乱了文件系统。使用 ext2/3/4 已经有很多年了,我还没有看到文件系统损坏(但我也不会只是拔掉插头或随机按下大红色按钮......),所以它可以处理不当或硬件故障。如果磁盘出现故障,请关闭机器并尽快更换。发生故障的磁盘通常会持续几个小时(如“几个”,而不是“数百个”),然后才会永久消失。利用这段时间来挽救您的数据,稍后您可以闲暇时对故障磁盘进行尸检。如果结果是误报,您就有空间存放翻录的 CD ;-)

相关内容