使用testdisk和gpart信息挂载ext4分区

使用testdisk和gpart信息挂载ext4分区

我正在尝试恢复 2TB 磁盘的 ext4 分区表,其中有 900.000 个文件。我已经克隆了原始 HD,现在正在处理克隆 HD。我正在运行 Parted Magic Live CD。

使用 testdisk,我得到了原始删除分区的样子:

Disk /dev/sdd - 2000 GB / 1863 GiB - CHS 243201 255 63
Partition Start End Size in sectors
>P Linux 0 1 1 243200 254 61 3907024000 [Duo]

谁能帮我读一下这个数字?据我所知,我可以通过 mount 命令使用这些数据,如果一切顺利,就可以访问这些文件以开始文件传输,不是吗?

根据这个手册页,我可以使用从 testdisk 提取的数据来帮助我修复分区:

“现在使用 TestDisk 给出的值,您可以使用 fsck 修复您的 ext2/ext3 文件系统。如果 TestDisk 在块号 24577 处找到一个超级块且块大小为 1024 字节,请运行:”

# fsck.ext3 -b 24577 -B 1024 /dev/hda1

但我不知道具体如何。

顺便说一下,这里有一些来自 gpart 的更有用的数据:

# gpart -gv /dev/sdd

dev(/dev/sdd) mss(512)
Primary partition(1)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 1907726mb #s(3907024000) s(63-3907024062)
   chs:  (0/1/1)-(1023/254/63)d (0/0/0)-(0/0/0)r
   hex:  00 01 01 00 83 FE FF FF 3F 00 00 00 80 74 E0 E8

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: 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(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

Begin scan...
Possible partition(Linux ext2), size(1734848mb), offset(2mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 1734848mb #s(3552968704) s(4096-3552972799)
   chs:  (1023/255/0)-(1023/255/0)d (0/0/0)-(0/0/0)r
   hex:  00 FF C0 FF 83 FF C0 FF 00 10 00 00 00 00 C6 D3

根据这个帖子我可以使用这些信息来帮助我:

“这次我得到了一些有用的东西。s(63-117258434)部分显示了起始扇区,即63。一个扇区是512字节,所以分区的确切起始偏移量是32256。所以要挂载这个分区,只需发出:”

mount -o loop,ro,offset=32256 /storage/image/diskofperson.dd /mnt/recovery

“瞧,已经获得了对文件系统的访问权限。”

/storage/image/jdiskofperson.dd on /mnt/recovery type vfat (ro,loop=/dev/loop0,offset=32256)

任何帮助都会很棒。

答案1

我不知道这是否有帮助......

如果您到达 testdisk 识别分区的位置,您应该能够选择它并选择一个菜单选项,该选项将深入了解结构并显示文件。从这里,可以选择复制文件。

但是,如果您返回到识别所需分区的位置,您应该会在屏幕上看到一个 [w]rite 选项,该选项会将新的分区表写入磁盘。这将(应该)为您提供恢复的分区,也许还有一些其他伪造的(最佳猜测)分区。此时,复制数据并根据需要修复磁盘。

我不清楚所有细节,因为我只做过一次。但是在用 FreeBSD 的 fdisk 弄乱分区表后,testdisk 恢复了我需要的 NTFS 分区。

除了 testdisk 进行恢复之外,我不需要任何东西,但显然当我在 testdisk 中进行初始设备类型选择时,我将分区表从 msdos 更改为 gpt,所以我最终复制了我的数据并重新格式化了磁盘。

答案2

由于您已将磁盘直接克隆到磁盘上,因此您可以简单地使用找到的数据来gpart恢复分区表。事实上,gpart 可以为您重新创建它:运行

gpart -gv -W /dev/sdd /dev/sdd
partprobe /dev/sdd

然后您在/dev/sdd1.使用文件系统修复工具/dev/sdd1,从e2fsck /dev/sdd1.

相关内容