从 NTFS 分区中删除坏扇区。Badblocks 给了我一个输出。怎么办?

Min*_*ael 6 partitioning gparted ntfs hard-drive

我使用坏块扫描硬盘上的分区是否有坏扇区,它给了我以下输出

输出

...据我所知,它看起来像是“硬盘上的划痕”...无论如何,由于这个坏扇区,我无法使用 gparted 进行分区(我之前的问题:我需要帮助增加文件系统的大小分区。分区恐惧症!)在坏块测试后,gparted 仍然在驱动器上给我一个“红色感叹号”。...怎么办?

我也试过chkdsk在 Windows 上,但仍然 gparted 给出了红色标记

我如何标记这个坏扇区,以便 gparted 可以完成它的工作?:) ...请排除有关“更换硬盘”的答案,我知道我可以做到。

Min*_*ael 9

...现在gparted 说它很干净!!最后!!...无论如何,我不确定究竟是什么解决了问题,但我会列出我所做的倒退

sudo ntfsfix -b /dev/sda6 它给出了:

Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
Going to un-mark the bad clusters ($BadClus)... OK
NTFS partition /dev/sda6 was processed successfully.
Run Code Online (Sandbox Code Playgroud)

但在此之前我做了:

sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975848
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975849
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975850
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975851
Run Code Online (Sandbox Code Playgroud)

在此之前我做了

sudo badblocks -nvs /dev/sda6 ...花了整整两天时间才完成!

无论如何,最后,在最后一个命令之前,我打开了 Windows 7 并使用了该chkdsk实用程序(右键单击分区、属性、“工具”(或类似的东西),检查错误

我希望这可以帮助任何人。


Rob*_*sak 8

尝试写入这些块:

sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975848
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975849
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975850
sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975851
Run Code Online (Sandbox Code Playgroud)

(或者在您的情况下,您可以将其折叠为单个dd调用count=4

然后badblocks再次运行。

在现代硬盘驱动器上,控制器已经知道这些块是坏的,并将重新映射它们,但仍然无法提供来自先前位置的数据(因为它是坏的)。写入块将使一切看起来都很好,然后您就不需要文件系统来处理它了。

如果这确实有效,那么第二次运行badblocks应该没有发现坏块。

  • `badblocks` 默认为 1024 字节的块。此默认值在联机帮助页中指定。因此,要匹配 `badblocks` 使用的块编号,`dd` 也必须使用与 `bs=1024` 匹配的块大小。 (3认同)
  • @MinaMichael:不,他们只是(尝试)写入这些坏块。如果驱动器是 SMART(现代),它会自动检测到写入失败并且块是坏的,驱动器将使用新的(备用)代替 - 使磁盘看起来好像没有坏块。 (2认同)