如何使用 qemu-kvm 从 liveusb 启动?

如何使用 qemu-kvm 从 liveusb 启动?

我正在尝试让 qemu-kvm 从我的实时 USB 记忆棒启动。这可能吗?

答案1

qemu-kvm -hdb <device><device>USB 记忆棒在哪里(例如/dev/sdb),应该可以做到(在 USB 记忆棒上使用 Ubuntu 12.04 进行测试,它可以工作)。

您将需要设备的写入权限(即成为root或更改其权限)。

答案2

qemu-kvm 已经消失。使用中的提示通过给qemu一个linux根目录的路径来启动qemu反而。这意味着

qemu-system-x86_64 -usb -usbdevice disk:/dev/sdb

其中 /dev/sdb 是您想要启动的 U 盘的原始设备(不是分区)。

(然而,截至 2014 年 12 月,它对我来说一直很不稳定。启动 ubuntu-gnome 14.10 最终会导致内核恐慌,经验证可以在金属上正常启动。)

/iaw

答案3

我不知道到底为什么,但雷南的回答对我来说不太有效。 KVM 对我说它找不到可启动驱动器(尽管 USB 分区被标记为这样)。

不过我找到了另一个解决方案。使用 lsusb 获取 USB 设备 VendorID:ProductID。例子:

$ lsusb
...
Bus 002 Device 007: ID 0781:5406 SanDisk Corp. Cruzer Micro U3

将其传递给 KVM,并询问启动菜单:

sudo  kvm -m 512 -smp 1 -drive file=/path/to/hardisk/file.img -usb \ 
-usbdevice host:0781:5406 -boot menu=on

按F12进入菜单,选择USB设备,就可以了。可能有一种方法可以命令 USB 启动而无需调用启动菜单,但我在 man kvm 中没有找到任何方法。

答案4

要模拟 USB 存储,连接到 USB 端口,可以插入和移除,并且将被视为 USB 设备而不是 SATA 硬盘(如 -hdb 那样),请使用:

$ qemu-system-x86_64                                      \
    -device piix3-usb-uhci                                \
    -drive id=pendrive,file=<disk.img>,format=raw,if=none \
    -device usb-storage,drive=pendrive                    \
    -boot menu=on

将 <disk.img> 替换为一些 USB 磁盘映像。然后,在运行 VM 时连接和断开笔式驱动器,在运行的 qemu 实例控制台上:

(qemu) device_del pendrive
(qemu) drive_add 0 id=pendrive2,if=none,file=<disk2.img>
(qemu) device_add usb-storage,drive=pendrive2

参考:https://www.linux-kvm.org/page/USB

相关内容