早在 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