我的 NAS 昨天分区表损坏了(我不知道原因)
现在我运行 testdisk 并在第一步分析中得到了这个:
Partition sector doesn't have the endmark 0xAA55
但是,当我运行快速扫描时,它可以清楚地看到我的分区:
Disk /dev/sdf - 15 GB / 14 GiB - CHS 15072 64 32
Partition Start End Size in sectors
> Linux 0 63 31 243 63 30 497664
Linux 1 0 1 15070 63 32 30863360
Structure: Ok. Use Up/Down Arrow keys to select partition.
Use Left/Right Arrow keys to CHANGE partition characteristics:
*=Primary bootable P=Primary L=Logical E=Extended D=Deleted
Keys A: add partition, L: load backup, T: change type, P: list files,
Enter: to continue
ext2 blocksize=1024 Sparse superblock Backup superblock, 254 MB / 243 MiB
分区 1 也可以正确显示为:
ext4 blocksize=4096 Large file Sparse superblock Backup superblock, 15 GB / 14 G
到目前为止一切正常。但我似乎无法恢复两个分区。
如果我选择 0 作为主可启动分区(我认为它是 /boot 分区),那么我无法对 1 做出任何有效的选择(它不允许我选择逻辑或扩展)
在另一个(Debian)系统上我有这样的结构:
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121602 255 63
Partition Start End Size in sectors
>* Linux 0 65 2 2549 196 15 40957952
P Linux 2549 196 16 121535 178 51 1911508992
P Linux Swap 121535 178 52 121600 215 7 1046512
但如果我尝试在损坏的磁盘上设置它,我会收到错误:
Disk /dev/sdf - 15 GB / 14 GiB - CHS 15072 64 32
Partition Start End Size in sectors
* Linux 0 63 31 243 63 30 497664
>P Linux 1 0 1 15070 63 32 30863360
Structure: Bad. Use Up/Down Arrow keys to select partition.
当我选择一个作为主启动时,我在下一个屏幕上看到这个
Disk /dev/sdf - 15 GB / 14 GiB - CHS 15072 64 32
Partition Start End Size in sectors
1 * Linux 0 63 31 243 63 30 497664
[ Quit ] >[Deeper Search] [ Write ]
可以说非常担心只将一个分区写入设备,因为我知道设备实际上有两个分区。我如何确保第二个分区也能恢复?
答案1
所有从损坏磁盘恢复数据的工作都应在损坏磁盘的原始映像副本上进行。您尝试的每个步骤都可能挽救一些数据,但也可能会破坏更多数据。每当您发现尝试破坏的数据多于恢复的数据时,您都可以使用原始映像文件的新副本重新启动。
这种数据恢复非常耗时,而且大多数情况下您无法恢复所有数据。恢复备份要快得多,也容易得多,但这假设您有一个完整的工作备份。
ddrescue 和 photorec 等工具可能很有用。您可能还会发现一些针对数据恢复的优秀 Live CD 很有用。其中一个例子就是 systemrescuecd。