问题描述
我怀疑磁盘上可能存在坏扇区。什么工具最好等同于Windows的错误检查工具?
(我使用ext3)
最佳解决方案
Disks
要检查坏扇区,请检查SMART数据,可能是通过启动磁盘实用程序(Palimpsest)可访问的最佳数据。即使您没有看到任何坏块,也可以启动self-test。
该程序捆绑在gnome-disk-utility
包中。运行gksudo gnome-disks
或者在Ubuntu 16.04版本(3.18)中:
Badblocks
您也可以使用badblocks
sudo badblocks -sv /dev/sda
要检查,或检查并修复,首先将结果写入临时文件:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
将检查整个磁盘并打印出/dev /sda上遇到的所有坏块。
来自badblocks
手册:
Important note: If the output of badblocks is going to be fed to the e2fsck or mke2fs programs, it is important that the block size is properly specified, since the block numbers which are generated are very dependent on the block size in use by the filesystem. For this reason, it is strongly recommended that users not run badblocks directly, but rather use the -c option of the e2fsck and mke2fs programs.
fsck
fsck
本身不会帮助您找到坏扇区,更糟糕的是,如果有很多坏扇区,它可能会更多地损坏您的数据。仅在磁盘运行正常时使用它。
次佳解决方案
fsck – 检查并修复Linux文件系统。使用它来调用它
fsck /dev/sda1
其中/dev /sda1是您要检查的驱动器。有关详细信息,请参阅’man fsck’。
还有’badblocks’命令检查设备,你猜对了,坏块。
检查时需要卸载驱动器,因此要检查根分区,需要在分区根目录中创建文件’forcefsck’并重新启动。下次启动时将检查设备:
sudo touch /forcefsck
sudo reboot
或者,您可以从Live CD启动并从那里运行检查。
第三种解决方案
badblocks
您可以检查运行该命令的badblocks
-
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
用于non-destructive read-write试验。这将生成一个名为bad-blocks-result
的文件,其中扇区已损坏。-
-n使用non-destructive read-write模式。默认情况下,仅完成non-destructive read-only测试。
-
-s通过写出磁盘上当前坏块传递的粗略百分比完成来显示扫描进度。
-
-v详细模式。
-
-
然后,如果可能的话,您可以运行
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
来告诉文件系统坏扇区在哪里并将数据移离它们。
你可以找到更多关于它的文章here。