我想使用QEMU中的.qcow2函数从bdrv_pread(...)图像读取内容。
说,我图像的完整路径是/path/to/myimage.qcow2,我希望能够以特定偏移量从该图像读取n字节数据。现在bdrv_pread函数采用了这些参数'BlockDriverState *bs, int64_t offset, void *buf, int count1',我如何从图像的路径中准确初始化BlockDriverState(设备?)。除了BlockDriverState以外的所有其他参数对我来说都是清楚的。

谢谢。

最佳答案

如果您的目标是从自己的程序访问qcow2文件,则建议不要尝试使用QEMU功能。这些将具有许多与QEMU相关的状态,如果您只想读取qcow2文件的内容,则不需要这样做。相反,您可以查看qcow2 specification,或者如果您想在更高的抽象水平上工作,则可以查看libguestfs库,该库指出它具有用于访问支持的VM磁盘格式的API(尽管我自己从未使用过) 。有一些示例代码here可以帮助您入门。

08-16 10:21