我正在编写一个Python程序来在dd映像中安装分区。
我知道其他地方(f.ex。https://raw.github.com/ox-it/python-libmount/master/libmount/mounting.py)有代码来安装包含文件系统的设备或文件。但是这些解决方案希望文件系统位于文件或设备的开头。
我的文件系统不在文件的开头,但是在确定的偏移量处,所以我需要指定mount命令的偏移量,指向该分区的开头。
libc mount命令对我来说不太清楚。 losetup.py模块也不清楚。
是否可以使用Python(使用ctypes + libc mount命令,losetup.py或其他解决方案)以确定的偏移量在文件或设备中安装分区?
提前致谢。
答案 0 :(得分:4)
在linux中,您可以使用losetup -o
假设您有图像文件off.img,其文件系统从偏移100字节开始。首先,你构建一个循环开发:
losetup -o 100 /dev/loop1 off.img
然后你挂载这个循环dev,我们假设它是ext2类型:
mount -t ext2 /dev/loop1 ./what_ever_mount_point
如果需要,可以使用subprocess.Popen将其包装在python代码中。 我在这里提到的losetup是linux的实用程序,而不是losetup.py。如果检查losetup.py,它还支持LoopDevice.mount中的偏移量,但我不测试它。
答案 1 :(得分:1)
如果您关心已删除的文件(假设它被标记为计算机取证)并希望它是可移植的,那么您可以使用python绑定到The Sleuth Kit(http://www.sleuthkit.org)来分析分区结构和文件系统并从中提取文件。如果您不关心这一点,那么安装可能更容易,而@PasteBT的答案是正确的。