文件系统扫描到底起什么作用?

文件系统扫描到底起什么作用?

文件系统扫描(如校验或者文件系统检查) 真的有效吗?我知道有很多功能齐全的应用程序,但它们如何扫描“坏”扇区?扫描时它们在做什么?它们如何知道找到了“坏”扇区?

答案1

文件系统检查与扫描“坏”扇区无关。此处的“坏”扇区通常指无法可靠读取或无法可靠写入的扇区。尽管文件系统检查肯定会发现坏扇区,因为它会尝试读取(也可能写入)整个文件系统中的块。

文件系统检查实际上做什么取决于每个文件系统以及文件系统检查实用程序的实现者。对于某些类型的文件系统(例如,NFS临时文件),这个概念是没有意义的,对于其他人来说它是多余的,因为文件系统在正常运行过程中会不断地检查自身,而对于其他人来说,偶尔检查一下文件系统是至关重要的。

一般来说,文件系统检查实用程序旨在检查文件系统数据结构中的损坏、不一致和违反的不变量。如果您想要更多详细信息,则必须询问特定类型的文件系统。

答案2

CHKDSK 在后台执行了很多操作。这些操作体现在 CHKDSK 的不同阶段中。

NTFS 有一个 MFT(主文件表)文件列表。MFT 是硬盘上所有文件的列表。为了检查文件一致性,CHKDSK 会逐个读取 MFT 条目,然后向上查找硬盘中的相应文件。

例如,CHKDSK 在 MFT 中找到 MyPhoto1.jpg。MFT 显示它位于扇区 230,长度为 30 个扇区。然后 CHKDSK 读取扇区 230 到 260,发现它实际上由数据填充,并且是一个文件。这就是 CHKDSK 检查文件系统一致性的方法。文件不一致并不一定意味着存在坏扇区,它可能意味着计算机在写入硬盘时关闭了电源。

使用 /r 标志(恢复),CHKDSK 会检查文件不一致并尝试修复它们。如果没有此标志,chkdsk 会执行“试运行”

使用 /f 标志(修复),CHKDSK 会尝试修复坏扇区。换句话说,它会尝试恢复坏扇区上的数据,并尝试重写该扇区。如果 CHKDSK 读取了它写入有问题扇区的内容,那么它可以将这些扇区标记为已修复。

相关内容