1

给定一个数据块(文件系统认为是整个驱动器)和文件系统的类型(fat32、ntfs、ext3),我想知道如何从该数据块中提取文件。关于如何做到这一点的任何想法?

4

2 回答 2

2

你最终有两个选择:

  1. 在主机上挂载虚拟磁盘映像中包含的文件系统。像这样的工具losetup可以帮助实现这一点。
  2. 找到一个合适的库,让您可以在用户空间中查看卷。基本上,您需要一个用户模式文件系统驱动程序,它可以让程序检查目录结构并提取文件。您也许可以重新利用 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 回答