恢复格式化的 NTFS 分区

恢复格式化的 NTFS 分区

请不要将此标记为重复- 我已经阅读了许多其他问题和建议的答案,但似乎无法让它们发挥作用。

我有 3 个 1TB 硬盘、2 个 SSD 和 1 个 HDD。我在尝试在其中一个 SSD 上安装 Windows 10 时不小心删除了分区表,并可能格式化了 HDD。

我正在尝试从 HDD 恢复我的数据,它有很多大约 10 年前的照片。 HHD 只是一个数据盘,尽管它在 2018 年曾短暂安装过 Linux。

磁盘型号:ST1000DM003-1SB1

我一直在尝试使用 TestDisk 恢复照片,结果好坏参半。我无法恢复分区表,但我知道数据仍在磁盘上,因为我能够使用 Photorec 提取它。唯一的问题是照片录制已删除约 8K 照片上的所有结构和顺序。

TestDisk的结果如下:

Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63
Current partition structure:
     Partition                  Start        End    Size in sectors

 1 * FAT32                    0   1  1   242 254 63    3903732 [RECOVERY]
 2 P FAT32 LBA              243   0  1  7401 254 63  115009335 [NO NAME]
 3 E extended LBA          7402   0  1 102927 254 63 1534625190
 5 L FAT32 LBA             7402   1  1 12160 254 63   76453272 [NO NAME]
   X extended             102927  97  1 102927 232 38       8543
Invalid FAT boot sector
 6 L FAT16 <32M           102927  98 62 102927 232 38       8419
 6 L FAT16 <32M           102927  98 62 102927 232 38       8419

运行 fdisk -l 返回:

Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000DM003-1SB1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x17556621

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *            63    3903794    3903732   1.9G  b W95 FAT32
/dev/sda2          3903795  118913129  115009335  54.9G  c W95 FAT32 (LBA)
/dev/sda3        118913130 1653538319 1534625190 731.8G  f W95 Ext'd (LBA)
/dev/sda5        118913193  195366464   76453272  36.5G  c W95 FAT32 (LBA)
/dev/sda6       1653528490 1653536908       8419   4.1M  4 FAT16 <32M

Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.
Partition 3 does not start on physical sector boundary.
Partition 5 does not start on physical sector boundary.
Partition 6 does not start on physical sector boundary.

尝试安装返回:

billy@billy-Mint:~$ ntfsfix -b /dev/sda3
Mounting volume... Error opening read-only '/dev/sda3': Permission denied
FAILED
Attempting to correct errors... Error opening read-only '/dev/sda3': Permission denied
FAILED
Failed to startup volume: Permission denied
Error opening '/dev/sda3': Read-only file system
Volume is corrupt. You should run chkdsk.

sudo fsck /dev/sda3 产生以下结果:

fsck.ext2: Attempt to read block from filesystem resulted in short read while trying to open /dev/sda3 Could this be a zero-length partition?

任何帮助将不胜感激。我对如何继续感到困惑。

答案1

只是为了给将来发现这个的人带来这个完整的循环。我与工作中的一位软件工程师交谈过,他建议我已经取得了可能的最佳结果。即,使用 photorec 恢复数据是我所希望的最好结果,但我无法恢复文件夹结构中的数据,因为当我删除分区表时文件夹结构已经丢失。希望有帮助!

答案2

MBR 分区磁盘的硬最大值为 4主分区。要解决此限制,您可以使用主分区之一作为扩展分区:一种用于进一步(“逻辑”)分区的容器。

在您的情况下,是一个包含逻辑分区和sda3的扩展分区。最后一个主分区插槽未使用。sda5sda6sda4

扩展分区仅包含其他分区:它本身永远不能直接用作分区。这是 MBR 分区方案的一个怪癖,该方案从 20 世纪 80 年代第一台配备硬盘的 PC 时代就已经存在。

因此,尝试ntfsfix在您的系统上运行或任何其他修复工具/dev/sda3是没有意义的。如果磁盘的该部分包含任何可识别的 NTFS 文件系统残留,我确信testdisk会报告它并将其包含在要恢复的分区结构中。

事实上,要么根本没有 NTFS 分区(因为恢复的分区表看起来像 Windows 9x/ME 会使用的东西:这些操作系统根本不支持 NTFS)...或者该分区的开头是如此彻底覆盖它是无法识别的testdisk,在这种情况下,我也不期望ntfsfix能够实现任何有用的东西。

man ntfsfix

ntfsfix是一个修复一些常见 NTFS 问题的实用程序。ntfsfix不是Linux 版本的chkdsk.它仅修复一些基本的 NTFS 不一致问题、重置 NTFS 日志文件并安排首次启动 Windows 时进行 NTFS 一致性检查。

假设磁盘上确实有一个 NTFS 分区,我同意你的软件工程师的评估:你已经得到了最好的结果。

但是,如果情况并非如此,并且恢复的分区表对您来说似乎是正确的,那么您应该不理会sda3并继续尝试访问(如果需要,恢复)sda5sda6.

文件系统修复工具应根据分区上预期的文件系统来选择:如果实际文件系统类型是 FAT32,则尝试运行用于 NTFS 或ext2文件系统(ntfsfixfsck.ext2分别)的工具将不会有任何用处,并且事实上可以基于错误的假设进行不适当的更改,进一步损坏剩余数据。

在这样的恢复情况下,您应该为文件系统类型显式选择正确的工具,而不是运行通用fsck命令。对于sda5sda6fsck.vfat如果恢复的分区表中的分区类型正确,则可能是正确的工具。

可以Partition X does not start on physical sector boundary.忽略:由于第一个分区的起始扇区是 63 而不是 1024,因此该磁盘显然已使用旧操作系统进行分区,该操作系统遵循旧的 DOS 时代约定,最好在柱面或磁道的开头启动分区根据传统的 C/H/S 几何结构,这会导致分区对于现代磁盘来说并不是严格的“最佳”分区。

在足够现代的磁盘上,可以使用 4096 字节的物理扇区大小,报告的 C/H/S 几何结构只是一个虚构的内容,因为传统操作系统期望它:它与数据块的实际布局无关在磁盘上。

相关内容