我正在尝试让 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