如何运行checkdisk?

我怀疑磁盘上可能存在坏扇区。 什么工具最好等同于Windows的错误检查工具?

(我使用ext3)

磁盘

要检查坏扇区,请检查SMART数据,可能是通过启动磁盘实用程序( Palimpsest )可访问的最佳数据。 即使你没有看到任何坏块,也要开始自我测试。

该程序捆绑在gnome-disk-utility包中。 运行gksudo gnome-disks

来自Palimpsest的SMART

或者在Ubuntu 16.04版本(3.18)中:

来自磁盘的SMART

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手册:

重要说明:如果要将badblock的输出提供给e2fsck或mke2fs程序,则正确指定块大小非常重要,因为生成的块编号非常依赖于文件系统使用的块大小。 因此,强烈建议用户不要直接运行badblock,而应使用e2fsck和mke2fs程序的-c选项。

fsck

fsck本身不会帮助你找到坏扇区,更糟糕的是,如果有很多坏扇区,它可能会更多地破坏你的数据。 仅在磁盘运行正常时使用它。

fsck – 检查并修复Linux文件系统。 使用它来调用它

 fsck /dev/sda1 

其中/ dev / sda1是您要检查的驱动器。 有关详细信息,请参阅’man fsck’。

还有’badblocks’命令检查设备,你猜对了,坏块。

检查时需要卸载驱动器,因此要检查根分区,需要在分区的根目录中创建文件“forcefsck”并重新启动。 下次启动时将检查设备:

 sudo touch /forcefsck sudo reboot 

或者,您可以从Live CD启动并从那里运行检查。

badblocks

您可以检查运行该命令的badblocks

  1. sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result用于非破坏性读写测试。 这将生成一个名为bad-blocks-result的文件,其中扇区已损坏。
    • -n使用非破坏性读写模式。 默认情况下,仅执行非破坏性只读测试。

    • -s通过写出磁盘上当前坏块传递的粗略百分比完成来显示扫描进度。

    • -v详细模式。

  2. 然后,您可以运行sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]来告诉文件系统坏扇区在哪里,如果可能的话,将数据移离它们。

你可以在这里找到更多有关它的内容。

如果您有一个不能放松数据的分区,请按照以下步骤操作

  1. 使用确定要检查坏扇区的分区

$fdisk -l commnd

让我们假设要检查的分区称为/ dev / sdPTC(要检查的分区),并且您有另一个分区来存储安装在/ scan / resultPath /文件夹中的结果

然后你可以运行这个命令

$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt

这将确定给定设备的坏块是什么,并将它们存储在名为badsectors.txt的文件中

  1. 现在你可以使用fsck命令告诉Ubuntu不要使用badsectors.txt文件中提到的坏扇区。

$sudo fsck -l /scan_result/badsectors.txt /dev/sda

这样硬盘的寿命会增加一点,直到你得到一个新的更换。


如果您有一个完整的分区,您想要检查不良的物理扇区,并且您可以在该分区上放弃所有数据,或者是EMPTY,请按照以下步骤操作

  1. $sudo apt-get install gnome-disk-utility

  2. $sudo gnome-disks

  3. 检查并仔细检查该分区上是否没有重要数据

  4. 使用gnome-disks使用“ – ”符号手动删除/删除分区

  5. 使用gnome-disks创建一个新分区并选择“slow”选项,该选项将检查给定空间的错误

在此处输入图像描述