我正在编写一个Python程序来挂载dd映像中的分区。
我知道其他地方也有代码(f.ex。https://raw.github.com/ox-it/python-libmount/master/libmount/mounting.py )挂载包含文件系统的设备或文件。但是这些解决方案期望文件系统位于文件或设备的开头。
我的文件系统不是在文件的开头,而是在一个确定的偏移量上,所以我需要为mount命令指定一个偏移量,该偏移量指向该分区的开头。
libc mount命令对我来说不清楚。losetup.py模块也不清楚。
是否可以使用Python (使用ctype+ libc mount命令、losetup.py或其他解决方案)在确定的偏移量挂载文件或设备内的分区?
提前谢谢。
发布于 2013-12-06 02:44:01
在linux中,您可以使用losetup -o。
假设您有一个图像文件off.img,它的文件系统从偏移量100字节开始。因此,首先构建一个循环dev:
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中也支持offset,但我不测试它。
https://stackoverflow.com/questions/20406422
复制相似问题