如何解决“明确指定“原始”格式以消除限制。” 在qemu?

Lin*_*ive 3 macos qemu

我正在尝试在MACBOOK Pro上运行helloos.img,即使程序运行正常,它也显示

Specify the 'raw' format explicitly to remove the restrictions.
Run Code Online (Sandbox Code Playgroud)

该如何处理?这重要吗?在此处输入图片说明

Pet*_*ell 7

发出此警告的原因是QEMU会自动将磁盘映像的格式猜测为原始格式。这样做的问题在于,如果您的来宾能够写入整个原始映像,则可能会恶意地将QCOW2磁盘标头写入(例如)原始映像的开头,这意味着在VM重新启动QEMU时会错误地猜测图像类型,可能会导致不良结果。为避免这种情况,QEMU拒绝允许来宾写入所探查的原始格式图像的开头。通常,这不会有什么坏处,但是如果您尝试从来宾内部重新分区磁盘,它将失败。

要解决此问题,您需要明确告知QEMU该映像为原始格式,但是您不能使用便捷的简短选项或“仅传递假定为硬盘的磁盘映像文件名”方法来做到这一点,重新使用。您需要使用“长格式”选项来指定磁盘映像,以便可以将其传递为format = raw。在这种情况下,将是
-drive file=helloos.img,format=raw,index=0,media=disk
这样(在QEMU联机帮助页中对此进行了说明,其中“使用-代替-hda,-hdb,-hdc,-hdd可以使用:”和等效的长格式作为短选项。)

另请参阅https://unix.stackexchange.com/questions/276480/booting-a-raw-disk-image-in-qemu,这是类似的查询。

PS:如果您给出正在运行的命令行以及问题文本中的完整错误消息,而不仅仅是在窗口重叠的屏幕截图中,您的问题将更容易回答。