修复“坏的” NTFS 分区

修复“坏的” NTFS 分区

我有两个硬盘。目标是将数据从硬盘 B 移动到硬盘 A,这样我就可以重新利用硬盘 B。

底部的 TL;DR 部分。请阅读所有内容以了解详细信息。

驱动器 A 包含 Windows 7。Windows 位于驱动器的起始位置,位于仅使用驱动器 1/3 空间的分区上。到目前为止一切正常。(历史记录:驱动器 A 上有两个分区,Windows 不是第一个分区,但我已经使用 gParted 成功删除了驱动器起始位置的分区,然后将 Windows 分区移动到驱动器起始位置。gParted 没有告诉我任何坏扇区,一切正常。将 Windows 7 移动到驱动器 A 的起始位置后,我能够启动它,一切正常。)

驱动器 B 包含一个 NTFS 分区,其中包含我的所有用户数据。我认为 gParted 是完美的工具。但是当我告诉它将 NTFS 分区从驱动器 B 复制到驱动器 A 上的未分配空间时,它失败了,告诉我驱动器 B 上有坏簇(扇区?),因此必须使用“ntfsclone --rescue”进行恢复。(但是 Windows 认为驱动器 B 完全没问题。)

这很奇怪,因为我从未看到任何驱动器 B 出现故障的迹象,但无论如何,我只需使用 gParted 命令行来复制数据。

使用 gParted 命令行,我无法弄清楚如何将 ntfsclone 程序指向驱动器 A 末尾的未分配空间,因此,作为一种解决方法,我使用 gParted 在驱动器 A 末尾创建一个空的 NTFS 分区(填充未分配空间),然后我使用 ntfsclone 在 OVERWRITE 模式下将驱动器 B 的数据分区复制到 /dev/sda2(新创建的空分区)。我确保目标分区(在驱动器 A 上)大于源分区(在驱动器 B 上)。

好的,所以它复制了它,一切都很好。我启动 Windows,为新的数据分区分配一个驱动器号,一切正常。唯一的问题是 Windows 不允许我使用所有硬盘空间。它说新的数据分区是原始数据分区的大小。(将资源管理器导航到“计算机”显示“372 GB 中剩余 87.0 GB”。)进入 Windows 附带的磁盘管理管理工具,一部分显示驱动器的大小较小(复制的源数据分区的大小),另一部分显示驱动器的大小较大(驱动器 A 上我专门为 ntfsclone 覆盖而创建的空 ntfs 分区的大小)。请参阅附加的屏幕截图在此处输入图片描述

因此我尝试了 Windows 磁盘管理单元提供的分区调整功能。在“查询卷中可用的收缩空间”(这比以前花费的时间长得多)之后,它说可以通过收缩分区来回收大量空间,但当我告诉它这样做时,它出错并显示消息“参数不正确”。

我搜索了 ntfs 修复工具,找到了这个:NTFS 分区修复 - 建议 其中一种工具实际上并不能修复分区,它只能将数据恢复到新位置。另一种工具则难以理解,它只是让你直接编辑分区表号。然后还有测试磁盘,我不知道如何使用它来解决这个问题。gParted 不会去碰它,因为它说驱动器 A 上有坏簇(这很有趣,因为在我将驱动器 B 的数据复制到驱动器 A 之前,它并没有提到驱动器 A。我个人认为硬盘本身没有任何问题,似乎在复制数据时,让 gParted 认为有坏扇区的数据也被复制了过去,导致 gParted 认为新位置也有坏扇区(这是我的理论))。我试过 chkdsk,但也没能解决问题。

现在回答我的问题:a) 如何修复 NTFS,以便让我使用所有磁盘空间。或 b) 如何使用 ntfsclone 将数据从驱动器 B 复制到驱动器 A 上的未分配空间,而不是使用覆盖模式。(覆盖模式让我陷入了这种混乱,NTFS 大小错误)。

以及:c) 如何知道 gParted 是否误认为存在坏扇区?如果硬盘没有问题,如何“修复”坏扇区(即让 gParted 意识到没有坏扇区)。

是的,我已经在所有驱动器上运行了 chkdsk,但它并没有解决任何问题。

注意:不存在数据丢失的风险。我已将所有内容备份到另一台计算机上。我并没有尝试恢复数据。数据没有问题。总而言之,我只是遇到了 gParted 的问题,它说扇区是坏的(因此拒绝执行任何操作),并且在使用命令行程序“ntfsclone”以覆盖模式复制数据后,硬盘 A 允许我使用所有可用空间。

总结:我使用 ntfsclone 将较小的 ntfs 分区覆盖在较大的分区上。现在,Windows 不允许我使用驱动器的全部容量。我该如何解决这个问题?

此外,gParted 告诉我扇区有问题,但我确信它是错的。有什么办法吗?

答案1

这个答案有点晚了,但我希望它能够帮助其他人,即使 OP 已经明白了!

我在使用 ntfsclone 时遇到了完全相同的问题,并且从“更多信息”部分找到了非常简单的解决方案这里

打开管理员命令提示符并运行:

diskpart

输入,

list volume

获取驱动器上的卷列表。例如,在我的系统上,我得到:

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       DVD-ROM         0 B  No Media
  Volume 1     E                       DVD-ROM         0 B  No Media
  Volume 2     G   Games        NTFS   Partition    465 GB  Healthy
  Volume 3     C   Windows      NTFS   Partition    500 GB  Healthy    Boot
  Volume 4                      FAT32  Partition    203 MB  Healthy    System

选择有问题的卷(例如,我在“游戏”分区上使用了 ntfsclone),使用以下命令(显然用您的实际卷替换 2):

select volume 2

然后您要做的就是运行:

extend filesystem

“extend filesystem”命令似乎是一个未记录的功能,它可以纠正 NTFS 分区的可用容量,但我仍然不明白为什么 ntfsclone 会导致这个问题。希望这能解决您的问题!

相关内容