我有 2TB ext4 分区,上面有 50 万个文件。
我想检查这个分区是否有错误。
我不想搜索坏块,只应该检查逻辑结构。
我已卸载分区并运行fsck /dev/sda2
,但 fsck 立即返回并退出代码 0,而没有实际检查整个文件系统。
我预计完整的分区检查需要几个小时才能完成。
我已阅读man fsck
但没有找到“彻底测试”的选项。
我担心我的分区可能有一些扇区被垃圾数据意外覆盖。
我的 HDD 之前已连接到另一个操作系统,并且 ext4 分区可能会因该操作系统的错误行为而受到损害。
这就是为什么我想确保整个树结构完全正确。
换句话说,我想要执行类似于实用程序chkdsk.exe
在 Windows 上执行的检查。
在 Debian 上我应该使用什么来完全检查 ext4 文件系统?
答案1
答案2
答案3
Linux 系统在启动时会检查系统表forcefsck
或者设备根目录中是否存在名为的文件。如果 fstab 中挂载行的最后一个数字是,0
则将在引导期间检查设备。要创建该文件,forcefsck
请使用这些命令。
sudo touch /forcefsck
sudo reboot
将此文件放在根目录中,无论 fstab 中的内容如何,在(重新)引导期间都会检查相同的卷。
缺点是在 fsck 期间系统不可用并且将不是通过例如 ssh 响应远程请求。
(根据@kusalananda 评论进行编辑)
答案4
你也可以使用调2fs为此,例如以下命令将在 2 个月或 100 次安装后检查磁盘:
tune2fs -c 100 -i 2m /dev/sda1