如何访问/挂载未知类型的文件?

如何访问/挂载未知类型的文件?

早在 2012 年,我就创建了一个 7.5GB 的文件,名为

SD-card.2012.dd-bs1024-1.ec6a4994f4148912abb199505b98f01g

我的猜测是我dd使用一台相机的 8GB SD 卡运行。为什么?不记得了。

我确认ec6a4994f4148912abb199505b98f01g其文件名中包含 md5sum,因此该文件相对于我将其总和添加到其名称中时而言是完整的。

file报告即数据。

partx报告“无法读取分区表”。以前从未使用过partx。

fdisk报告“不包含有效的分区表”

sudo losetup -f <filename>将其放在 /dev/loop0 中,如 所报告的那样losetup -a,但不会产生任何loop0pN,并且我随后的尝试mount -t <type> /dev/loop0 <mount-point>失败,如上所述。

mount -o loop -t auto失败,说我需要指定文件系统类型。如果我指定 vfat 或 ntfs,它也会失败。

寻求有关如何继续的建议。

答案1

自己制作一个循环设备,然后检查其中的内容。这可以通过以下命令完成(如果这些命令不适用,请更新命令以反映您的环境):

查找未使用的循环设备:

losetup -f

使用该 SD 卡文件创建循环设备:

losetup /dev/loop0 /path/to/SD-card.2012.dd bs1024-1.ec6a4994f4148912abb199505b98f01g

由于是SD卡,所以可能没有分区表,并且很可能只有一个文件系统直接位于其上。现在,您可以将其/dev/loop0作为块特殊处理,并查看其上可能存在哪种文件系统。

将文件系统显示为系统可扫描的:

blkid

当您知道文件系统/分区结构是什么后,尝试挂载它。 YMMV,因为您的 SD 卡上可能有一些奇怪的东西(例如 LVM)。但它可能是直接在其上的文件系统:

mount /dev/loop0 /mnt/foo

相关内容