我收到了一个服务器的 .img 文件,该服务器是在 KVM 环境中运行的虚拟机。该虚拟机安装了 Ubuntu。
我现在想使用这个 .img 文件并在 VirtualBox 中“模拟”服务器。因此,我使用 qemu-img 将 .img 文件从 raw 转换为 vdi,转换为 .vdi 文件,但是 VirtualBox 实例启动时只显示:
FATAL: No bootable medium found! System halted.
我不知道是否必须在 VirtualBox 中安装 KVM,然后将其配置为在我的 .img 文件中运行 VM,或者是否能够将图像从 KVM 转换为 VDI,然后直接在 VirtualBox 中运行服务器。
我已经尝试使用 qemu 将 .img 原始文件转换为 .vdi,但产生了上述错误。
我也读过答案关于此服务器故障问题,但这个问题略有不同,因为它谈论的是将 Windows VM 从 KVM 移动到 VirtualBox。
我也尝试使用 qemu-img Linux 包从 qcow2 转换为 vdi,但是我不断收到以下错误消息:
#> qemu-img convert -f qcow2 original.img -O vdi converted.vdi
qemu-img: Could not open './duketest.img': Invalid argument
qemu-img: Could not open './duketest.img'
我也尝试使用 VBoxManage 命令进行转换,如下页所示:
http://funcptr.net/2012/04/01/converting-kvm-virtual-machines-to-virtualbox/
这也提供了我最初提到的错误消息:
FATAL: No bootable medium found! System halted.
提前致谢!
答案1
您的转换节存在一些小问题。
qemu-img convert -f qcow2 original.img -O vdi converted.vdi
告诉您将 qcow2 文件明确转换为 VDI,并且您有一个原始图像文件。您实际上是告诉您的计算机使用西班牙语翻译器将法语文本翻译成英语。
你最好qemu-img convert -O vdi original.img original.vdi
让 qemu 决定输入的格式隐含地。 如果你必须,我相信 img 的正确输入格式是 raw,而不是 qcow。
我已经测试过从 qcow2 到 VDI 以及从原始文件到 VDI 的转换中使用的命令,它可以正常工作。(有趣的是,从 qcow2 到原始文件再到 VDI 则不行。)
只是为了确认我做了什么
- 使用 libvirt-manager 和 qcow 或 img 磁盘映像创建虚拟机
- 安装 Ubuntu Minimal
- 检查系统是否启动
- 对两个文件使用 qemu-image 和 qemu-img convert -O vdi original.ext original.vdi
- 将文件移至 Windows/VirtualBox 系统
- 检查它是否可以启动。