![当 NTFS 分区有坏扇区时,如何调整其大小?](https://linux22.com/image/1322817/%E5%BD%93%20NTFS%20%E5%88%86%E5%8C%BA%E6%9C%89%E5%9D%8F%E6%89%87%E5%8C%BA%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4%E5%85%B6%E5%A4%A7%E5%B0%8F%EF%BC%9F.png)
我想扩展一个分区,但是在该分区和未分配的空间之间,有一个安装了 Windows 的较大的 NTFS 分区。
当我使用 GParted 尝试将 NTFS 分区移至末尾时,它给出错误提示,说我有坏扇区并鼓励我运行chkdsk
。我这样做了,但坏扇区仍然存在。
它告诉我用某种--badsectors
标志重新尝试调整大小,但我不知道具体该怎么做。
我应该在哪里使用该标志以及如果存在坏扇区,我该如何移动或重新调整分区大小?
答案1
这ntfsresize 手册页有答案:
-b, --bad-sectors
Support disks having hardware errors, bad sectors with those ntfsresize would refuse to work by default.
您应该使用的命令是:
ntfsresize -b --size <new-size> <hard-disk>
请参阅本文中的示例:操作方法:使用 ntfsresize+fdisk 调整有坏扇区的分区大小。
另一种方法是在移动之前修复坏扇区。我有第一手经验SpinRite效果很好(坏掉的笔记本电脑修好了,又像新电脑一样用了 3 年)。类似且更新的是硬盘再生器,但我没有亲身体验过。两者都提供退款保证(值得)。
答案2
当您说您运行时,chkdsk
您是使用 /F 还是 /B 开关来运行它的?
/F Fixes errors on the disk.
/R Locates bad sectors and recovers readable information (implies /F).
/B NTFS only: Re-evaluates bad clusters on the volume (implies /R)
我同意 harrymc 的观点,+1,你可以尝试 SpinRite 来修复坏扇区。我用过,效果很好。
您的备份是最新的,这很好。但归根结底,驱动器很便宜,而您的驱动器快要坏了。它不可避免地会出故障。将驱动器克隆到新驱动器上,就像 Hennes、Bertrand SCHITS、jmreicha 和其他人建议的那样。
我曾经读过谷歌工程师发表的一篇论文,题为大量磁盘驱动器的故障趋势他们针对集群/服务器群中的硬盘进行了研究,我认为该报告的结论基本上是,无论硬盘的质量或成本如何,也无论其所处的条件如何,硬盘都可能随时发生故障。扫描并不能准确预测硬盘故障,而且 HD SMART 系统的作用并不像市场宣传的那样大。 https://www.google.com/?q=google%20paper%20on%20hard%20drives
答案3
NTFS 文件系统一直保留着包含坏扇区的簇的记录,这就是为什么 GParted 无需扫描磁盘就能如此快速地得出这个结论的原因。
一种解决方案是强制驱动器重新分配坏扇区,然后让 NTFS 重新评估包含它们的簇。
例如,如果我有 Seagate 硬盘,我会:
- 下载适用于 DOS 的 Seatools(免费),将其放在 USB 驱动器上并让其扫描并修复所有坏扇区。
- 运行带有标志的 chkdsk
/B
以重新评估所有标记的群集。这可确保 GParted 能够意识到修复。 - 如果 NTFS 实例内的所有坏扇区都可以重新分配/修复,那么 GParted 操作现在应该会成功。