如何从混乱的分区中恢复我的目录结构和文件

如何从混乱的分区中恢复我的目录结构和文件

我的外部硬盘驱动器上发生了一些奇怪的事情(不要问),导致(重要的)数据无法访问......我无法安装它。该数据位于 vfat 文件系统上。

我可以用一种工具得到很多东西,最重要的。它按文件类型将其分类到目录中,但我需要原始目录结构中完整的数据。此外,该工具还为生成的文件提供一些随机名称,并且仅限于一定数量的文件类型。

在我看来,分区表已损坏(不确定),并且我不知道如何修复它。这是输出gpart对于整个驱动器:

# gpart -vd /dev/sdb

dev(/dev/sdb) mss(512) chs(121601/255/63)(LBA) #s(1953520065) size(953867mb)
Primary partition(1)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Primary partition(2)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Primary partition(3)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 947827mb #s(1941150015) s(12370050-1953520064)
   chs:  (770/0/1)-(1023/254/63)d (770/0/1)-(121600/254/63)r
   hex:  00 00 C1 02 83 FE FF FF 82 C0 BC 00 3F 99 B3 73

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

我感兴趣的一个分区据称是Linux ext2 文件系统。据我所知,这并不准确(它是 vfat,但也可能是 NTFS,谁知道呢)。根据另一个输出,这也是不准确的gpart(我应该相信它吗?),这次只指定该分区:

# gpart -vd /dev/sdb3

dev(/dev/sdb3) mss(512) chs(120831/255/63)(LBA) #s(1941150015) size(947827mb)

* Warning: strange partition table magic 0x606B.
Primary partition(1)
   type: 031(0x1F)(UNKNOWN)
   size: 522639mb #s(1070366139) s(4182104394-5252470532)
   chs:  (961/156/44)-(97/173/28)d (260323/244/28)-(59601/209/5)r
   hex:  F7 9C EC C1 1F AD 1C 61 4A D9 45 F9 BB 7D CC 3F

Primary partition(2)
   type: 249(0xF9)(UNKNOWN)
   size: 47812mb #s(97919955) s(4081875516-4179795470)
   chs:  (993/11/62)-(249/64/22)d (254084/254/55)-(260180/59/54)r
   hex:  D4 0B FE E1 F9 40 16 F9 3C 7A 4C F3 D3 23 D6 05

Primary partition(3)
   type: 211(0xD3)(UNKNOWN)
   size: 711401mb #s(1456950127) s(4249722057-5706672183)
   chs:  (671/191/48)-(644/231/52)d (264532/245/43)-(87874/144/6)r
   hex:  63 BF B0 9F D3 E7 B4 84 C9 9C 4D FD 6F 4B D7 56

Primary partition(4)
   type: 089(0x59)(UNKNOWN)
   size: 715318mb #s(1464971513) s(1293543745-2758515257)
   chs:  (1003/227/11)-(789/19/55)d (80519/95/26)-(171709/161/30)r
   hex:  43 E3 CB EB 59 13 F7 15 41 E9 19 4D F9 B0 51 57

答案1

您认为这是分区边界问题,还是您知道磁盘存在硬件错误?

一些值得尝试的事情:

  • dd将分区内容复制 ( ) 到某处,然后将分区类型更改回 Vfat/NTFS
  • 尝试不同的 FS 安装选项等。
  • 从原始分区布局的副本恢复(可能从旧的 anaconda 安装日志等)

答案2

如果另一驱动器上有足够的空间,请使用 dd 或 ddrescue(或 dd_rescue)对故障驱动器进行映像。如果原始驱动器存在硬件错误,那么最好有一个主副本。您也许还可以将主映像(的副本)安装为块设备(使用“mount -o”环回?)。

相关内容