如何强制 ntfsresize 忽略备份引导扇区?

如何强制 ntfsresize 忽略备份引导扇区?

我将一个硬盘克隆到另一个硬盘上,一切运行正常。除了我的 NTFS 卷没有占用整个分区(因为旧卷较小)。

这样做:

sudo ntfsresize -x /dev/sdb3

我收到此错误:

ERROR: Could not get the old volume parameters from the backup bootsector

我该如何解决?

答案1

回复 Luciano (StackExchange 不允许我发表评论,因此我必须自己回答这个问题) - 我今天遇到了同样的问题,并将在这里写下 testdisk 的具体步骤...

  • 选择磁盘(我这里是 /dev/sda)
  • 选择英特尔
  • 选择高级
  • 使用向上/向下箭头选择正确的分区,使用向左/向右箭头选择选项 [启动]
  • 选择[重建BS]
  • Testdisk 抱怨“推断的引导扇区和当前引导扇区不同。” - 选择[写入]
  • 按 Y 确认并退出

[编辑] 使用“starting-help”(或任何英文名称)重新启动进入 Windows-Recovery 后,它会显示类似“磁盘正在修复,这可能需要一个多小时”的内容 - 但大约 20 秒后就完成了。

太棒了!我现在可以再次启动 Windows,而且 NTFS 文件系统覆盖了整个分区。所以再次感谢 Luciano 提出的出色建议。

答案2

我遇到了类似的问题。我在 Windows 中通过使用磁盘管理 ( diskmgmt.msc) 并将分区增加 1 MB 解决了该问题。这会调整文件系统的大小以填充整个分区。

答案3

ntfsresize似乎没有任何选项可以忽略备份扇区。但是,该消息可能表明文件系统有问题。我建议您首先运行ntfsfix在分区上,然后启动 Windows 并运行chkdsk

答案4

我尝试将 ntfs 分区克隆到 SSD 后遇到了这种情况。我没有使用相同的起始扇区(这是不行的,如所述这里),因为我想确保所有内容都与 4K 扇区边界对齐(这是否有效是另一回事)。我最初将原始磁盘缩小到比目标 SSD 更小的尺寸,以确保它适合。使用 ntfsclone 成功复制分区后,我尝试像您一样扩展它,但出现了相同的错误。之后,我做了以下事情:

nb 作为最后的手段,请自行承担风险。

  • 跑了测试磁盘根据 wiki,其中涉及一些类似的东西(抱歉,这是根据记忆写的):
    1. 选择我的分区,例如 /dev/sda1
    2. 选择PC/Intelmbr 类型
    3. 选项analyze。这应该表明旧引导扇区和备份是相同的(但我们知道它们并不相同)。
    4. 选项write boot sector。这会令人困惑地发出一个警告,说您要写入的引导扇区与磁盘上的引导扇区不匹配。
  • 重新启动。磁盘无法启动。
  • 使用 Windows 恢复媒体重新启动,加载恢复控制台。
    1. 运行FSCK /F C:(其中 C: 是您的驱动器)- 这会查找错误并修复它们
  • 退出并重新启动,您会发现您的磁盘已扩展到最大大小。

相关内容