我有一个外部 2TB 硬盘,它应该只有一个 ext4 分区,但分区表已损坏,我很想重建/恢复该分区。
事情没那么简单,所以这是更长的版本。我的 NAS 出了问题,并对外部驱动器进行了备份。备份没问题,所以我重新安装了 NAS 固件。当我想恢复它时,我意识到外部驱动器不再可安装(不要问)。
我已将驱动器插入我的 MacBook,以查看我的 ubuntu VM 是否可以挂载它,但无法挂载。fdisk
显示“不包含有效分区表”,也parted
无法看到分区。testdisk
声称上面有两个不可恢复的 HFS+ 分区。的分析testdisk
是有效的,因为我之前已将其格式化为 HFS+,但之后我将其重新格式化为 ext4,以作为 NAS 的伪备份(它是 qnap ts-469L,默认 fs 是 ext4,这就是原因)。
我很确定文件都没问题,只是分区表有问题,我迫切地想找到一种方法来重写/重建/恢复分区布局。我知道我可以找回文件,但文件名像加密的,而且没有结构。这不是我想要的 ;)
我唯一能收集到的信息是:
[~] # mke2fs -n /dev/sdf
mke2fs 1.41.4 (27-Jan-2009)
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122101760 inodes, 488378112 blocks
24418905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
14905 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
和
[~] # parted /dev/sdf
GNU Parted 2.2
Using /dev/sdf
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit B
unit B
(parted) print
print
Warning: /dev/sdf contains GPT signatures, indicating that it has a GPT table.
However, it does not have a valid fake msdos partition table, as it should.
Perhaps it was corrupted -- possibly by a program that doesn't understand GPT
partition tables. Or perhaps you deleted the GPT table, and are now using an
msdos partition table. Is this a GPT partition table?
Yes/No? Yes
Yes
Model: WD Elements 1048 (scsi)
Disk /dev/sdf: 2000396746752B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17408B 2000396729855B 2000396712448B
现在它被插入 NAS 来制作图像dd
,然后我才愿意做一些侵入性的事情 - 但至少还需要 10 个小时才能完成。
我不是专业人士,所以我不知道如何恢复/重建分区布局。我不知道是否可以直接使用 dd 映像,或者是否必须将其传输到任何物理设备。
注意:我备份了大部分文件,但这些文件大约有 4 个月了,我最感兴趣的是 *.cr2 原始照片和 *.mov 视频(从那时起大约有 1k 个)。我知道我很可能可以恢复它们,photoRec
并根据元数据重命名文件,但如果可能的话,我更愿意恢复文件系统。