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>
としても
与えられた値のそのような属性が存在しないと言います。
だから、
- usb-hostが有効なデバイスではないかどうか心配する必要がありますか?
usb-storage
デバイスIDが機能するにはどうすればよいですか?- 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ファイルがロードされます。
答え2
グラフィックフロントエンドが利用可能な場合は、 virt-manager
USBパススルーも問題ありません。
情報セクションをクリックしadd Hardware
て選択しますUSB Host Device
。
私はこれをWindows 10ゲストにペンドライブを渡すために使用しましたが、これまで問題はありませんでした。
USBデバイスを追加した場合、デバイスが検出されないとマシンは起動しません。つまり、仮想マシンを起動するにはペンドライブを接続する必要があります。
答え3
私はこのプラットフォームを初めて使用しますので、フォーマットを指定することをご了承ください。前述したように、すべては次のように始まります。
lsusb
バスとデバイス番号(あなたの場合は1と18)を取得します。次に、次を含む jetflash.xml ファイルを作成します。
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<address bus='1' device='18'/>
</source>
</hostdev>
数字がどこに行くのかわかります!これで、実行中のvmIDに接続/分離します。
virsh attach-device vmID /path/to/jetflash.xml
virsh detach-device vmID /path/to/jetflash.xml
これが役に立つことを願っています。
答え4
私は非常に似た問題がありましたが、virtマネージャを使用していて、問題が何であるかを調べるために数時間を費やしました。最初は私のxmlファイルに問題があると思いました。ところで実行してみるとこんな問題が発生しましたね。sudo pacman -Syu
何らかの理由で、qemu-hw-usb-hostが見つからないため、USBホストが有効なデバイス名として認識されなくなりました。
私の解決策はlibusbを再インストールすることでした
sudo pacman -S libusb
(必要かどうかわからない)sudo pacman -S qemu-hw-usb-host
この問題が発生しているすべての人にとって、これが簡単で便利な解決策になることを願っています。