从 qemu-kvm 中的虚拟 USB 驱动器启动

从 qemu-kvm 中的虚拟 USB 驱动器启动

我想使用 GRUB2 创建多重可启动 USB。但我不想使用物理 USB 记忆棒进行实验。

我怎样才能创建虚拟USB来玩它,因为它是使用qemu的真实设备?我想从它启动来宾机器,从来宾操作系统设置 GRUB 等等。

后来,我希望能够获取虚拟映像并将其复制到我真正的 USB 记忆棒上。我怎么能这么做呢?也许与if=usb_image.vmdk of=/dev/sdx

答案1

您是否使用抽象层,例如libvirt?如果是这样,只需将磁盘映像文件添加为 USB 磁盘即可。

如果您直接运行kvm/ qemu,则手册页(man kvmman qemu)会提供答案:

USB 选项:

-usb 启用 → USB 驱动程序(很快将成为默认值)

-usbdevice devname → 添加USB 设备devname。

disk:[format=format]:file → 基于文件的大容量存储设备。将使用可选的格式参数而不是检测格式。可用于指定“format=raw”以避免解释不受信任的格式标头。

所以,这样的事情应该有效

dd if=/dev/zero bs=1M count=8000 of=usb.img    # Create the usb disk image
kvm ... -usb -usbdevice disk:raw:usb.img      # Start kvm/qemu

稍后就可以运行了dd if=usb.img bs=1M of=/dev/sdX,但是要确保你的/dev/sdX确实是USB设备!您还需要使虚拟图像与棒的大小相同(或更小)。请记住,1GB 棒只有 10^9 字节,而不是 2^31 字节。

相关内容