qemu-kvmの仮想USBドライブから起動

qemu-kvmの仮想USBドライブから起動

GRUB2を使用して複数の起動可能なUSBを作成したいと思います。しかし、実験のために物理的なUSBスティックを使用したくありません。

Qemuを使用して、実際のデバイスのように使用する仮想USBをどのように作成できますか?ゲストマシンを起動し、ゲストOSでGRUBを設定したいと思います。

後で仮想イメージをインポートして実際のUSBスティックにコピーできるようにしたいです。どうすればいいですか?おそらくif=usb_image.vmdk of=/dev/sdx

答え1

たとえば、抽象化レイヤを使用しますかlibvirt?その場合は、ディスクイメージファイルをUSBディスクとして追加できます。

kvm/ を直接実行すると、qemuマニュアルページ(man kvmまたはman 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

しばらくすると動作しますが、実際にUSBデバイスであることをdd if=usb.img bs=1M of=/dev/sdX確認してください!/dev/sdXまた、ダミー画像をスティックと同じサイズ(またはより小さく)する必要があります。 1GBスティックは2^31バイトではなく、10^9バイトにすぎないことを覚えておいてください。

関連情報