Debian

從 qemu-kvm 中的虛擬 USB 驅動器啟動

  • March 26, 2015

我想用 GRUB2 創建多引導 USB。但我不想使用物理 U 盤進行實驗。

我如何創建虛擬 USB 來使用它,因為它是使用 qemu 的真實設備?我想從它啟動客戶機,從客戶機作業系統設置 GRUB 等等。

稍後,我希望能夠獲取虛擬映像並將其複製到我的真實 U 盤中。我怎麼能那樣做?也許與if=usb_image.vmdk of=/dev/sdx

您是否使用抽象層,例如libvirt?如果是這樣,那麼只需將磁碟映像文件添加為 USB 磁碟。

如果您正在執行kvm/qemu直接,那麼手冊頁(man kvmman qemu)會提供答案:

USB 選項:

-usb Enable → USB 驅動程序(很快就會成為預設設置)

-usbdevice devname → 添加 USB 設備 devname。

磁碟:

$$ 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 字節。

引用自:https://unix.stackexchange.com/questions/192624