「USBパススルー| Edubuntu wikiのこのページの「Libvirt」セクションを使用します。詳細はこちらとこちら。
ゲストの実行中にUSBドライブをホットプラグ/アンプラグする予定がない場合は、次のようなセクションを追加することもできます。
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
</disk>
VMのxml定義ファイルに追加します。USBがプラグインされたときにUSBに割り当てられたものと一致するようにソースDEVを変更するだけです。ただし、他のデバイスが追加または削除された場合、USBのDEV割り当てが再起動後も存続することは保証できないため、代わりに上記の最初のリンク。
リンクが消えた場合、リンクされたドキュメントの関連するUSBパススルーセクションは次のとおりです。
Libvirtの使用
既存のVMを起動しました
virsh start maverick2
USBドライブにプラグインを
使用してUSBアドレス見つかったlsusb
私を与えました、
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}
デバイス情報を含むxmlファイルを定義しました:
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x1058'/>
<product id='0x1023'/>
</source>
</hostdev>
USBドライブをVMに渡しました
sudo virsh attach-device maverick2 /tmp/a.xml
ただし、これはapparmorが有効になっている場合は機能しません。apparmorを無効にするか、追加する必要があります
/dev/bus/usb/*/[0-9]* rw,
いずれかの/etc/apparmor.d/libvirt-qemu
(全てのお客様に、物理ホスト・デバイスへのフルアクセスを与える)、またはそれに
/etc/apparmor.d/libvirt/libvirt-<uuid>
これにより、アクセスするゲストは1人だけになります。(jdstrandに感謝します)。
address
要素を使用しました。ベンダーと製品を使用すると、同じUSBドライブを2つマウントできませんでした。最初のものだけを通過します。