给定一个数据块(文件系统认为是整个驱动器)和文件系统的类型(fat32、ntfs、ext3),我想知道如何从该数据块中提取文件。关于如何做到这一点的任何想法?
问问题
606 次
2 回答
2
你最终有两个选择:
- 在主机上挂载虚拟磁盘映像中包含的文件系统。像这样的工具
losetup
可以帮助实现这一点。 - 找到一个合适的库,让您可以在用户空间中查看卷。基本上,您需要一个用户模式文件系统驱动程序,它可以让程序检查目录结构并提取文件。您也许可以重新利用 fuse-ext2 和 ntfs-3g 的部分内容。
这一切都假设虚拟磁盘只是一个平面映像文件,而不是像 VMDK 或 VDI 这样的专用容器。如果是这样,您要么需要提取平面图像,要么找到能够将平面内容提供给其他库的库。
于 2011-08-20T08:02:15.377 回答
0
你使用它安装到某个点
mount image /mount/point -o loop,ro
并访问其中的文件。之后,您可以再次卸载。
但我不明白这与 C 或 C++ 有什么关系。
于 2011-08-20T08:01:38.933 回答