我正在尝试识别(也许恢复)文件系统/分区表。朋友带来了一个"坏了"的USB驱动器,Windows无法识别分区布局。
在Linux下,fdisk
说分区表是空的。尝试将其安装为NTFS,vfat,没有运气。使用 fdisk
/mkfs
,创建了一个空的:DOS 分区表、ntfs 和 fat 文件系统,试图比较各自三个块的第一个块中的幻数和损坏的驱动器 - 看起来都不一样。 dd
驱动器的前 1MB 发送到磁盘上的文件(这样file
就不会说它是一个块设备),file
说"数据"。
这是hd
的前 8 行:
00000000 0e 21 e9 6e 2c 64 39 b5 63 bf a5 08 8b 07 85 a6 |.!.n,d9.c.......|
00000010 63 aa ec 58 c3 ff fb 92 64 ec 80 02 f4 3c 4c d1 |c..X....d....<L.|
00000020 8f 2a e4 58 24 39 ba 3d 86 4a 8e e0 d3 27 ac 60 |.*.X$9.=.J...'.`|
00000030 eb 81 73 9f 26 68 f6 15 72 60 02 6b 32 32 4c 75 |..s.&h..r`.k22Lu|
00000040 b1 0a cd ff ff ff f4 ea 23 c8 2a ba 25 01 20 9d |........#.*.%. .|
00000050 26 52 b1 31 2c 4d 72 b1 2f bc 9f 1f 59 5b 98 98 |&R.1,Mr./...Y[..|
00000060 41 9d 3c 10 17 d0 58 9a ab 24 d9 31 ff 3a 79 55 |A.<...X..$.1.:yU|
00000070 f3 88 08 6b 57 ec 7a 5f ff e0 21 c7 87 4c 62 83 |...kW.z_..!..Lb.|
知道如何进行恢复吗?
如果你在 Linux 上研究 fdisk 代码,你会看到创建/解析主引导表的代码。这是包含差异引导分区的差异代码、起始块/偏移、可引导/不可引导标志等的表。如果此表已损坏,则很难恢复。
一种选择是找出 MBT 在 USB 上的存储位置......通常,它是基于文件系统的标准位置。如果那里的数据不可读,那么超越它,看看第一个文件系统块驻留在哪里(很可能也是一个修复的起始位置。如果在此位置可识别十六进制转储,请使用此块号创建 MBT,并查看引导是否正常工作。
另一种选择是找出 USB 上的 FS 是否存储了 MBT 的重复副本。研究格式化USB的文件系统,您可能会更接近。