USBデバイスをQemu KVMに転送

USBデバイスをQemu KVMに転送

Windows仮想マシンにUSBペンドライブにアクセスしようとしていますが、このUSBを仮想マシンに転送するのに問題があります。

私のLinuxホストでlsusbを実行し、私のデバイスは次のように識別されます。

Bus 001 Device 018 : ID 8564:1000 Transcend Information, Inc. Jetflash

いくつかのガイドを見て、次のコマンドを使ってこのUSBをkvmに渡してみました。

qemu-system-x86_64 -m 3G --enable-kvm "Windows 10.qcow2" -usb -device usb-host,hostbus=1,hostaddr=18

何を試しても、「usb-host」が有効なデバイスではないというエラーが発生します。

lsusb -tを実行すると表示されるデバイスクラスなので、usb-storageに変更してみましたが、デバイスIDに何を渡すべきかわかりません。空白のままにすると、「.drive」属性は期待どおりに欠落しているとマークされます。

私はいくつかの情報を印刷することを試みますls /sys/bus/usb/devices

1-0:10 1-1 1-1.1 ........usb1 usb2

しかし、どのIDをコマンドに渡そう qemu-system-x86_64 -m 3G --enable-kvm "Windows 10.qcow2" -usb -device usb-storage,drive=<one of the above>としても

与えられた値のそのような属性が存在しないと言います。

だから、

  1. usb-hostが有効なデバイスではないかどうか心配する必要がありますか?
  2. usb-storageデバイスIDが機能するにはどうすればよいですか?
  3. qemu-kvmはUSB 2、3、ストリーミングカメラをサポートしていますか?

私はそれを使用していますQEMU emulator version 4.1.0

ベストアンサー1

ただ、私は2セントを投げるべきだと思いました。仮想マシンにUSBプリンタを追加しようとし、完全な「qemu-kvm」コマンドパスを試しましたが、役に立ちませんでした。最後に、仮想マシンのドメインxmlにxmlエントリを手動で追加しました。ライブラリ仮想マシン協会。ホストシステムで実行:

lsusb

USBデバイスを表す行を探します。

Bus 001 Device 003: ID 03f0:1617 HP, Inc LaserJet 3015

「ID」は、コロンで区切られたプロバイダIDと製品IDを表します。次に、以下のxmlコードでデバイスベンダーと製品ID(16進数0xを含む)を置き換えて、VMの「デバイス」ブロックに要素として追加します。

<hostdev mode='subsystem' type='usb'>                                                            
  <source startupPolicy='optional'>                                                              
    <vendor id='0x03f0'/>                                                                        
    <product id='0x1617'/>                                                                       
  </source>                                                                                      
  <boot order='2'/>                                                                              
</hostdev>

幸運を祈り、これが役に立つことを願っています。参考までに、ドメインのxmlファイルを編集するには:

virsh dumpxml yourdomain

それから

virsh edit yourdomain

これにより、編集可能なxmlファイルがロードされます。

おすすめ記事