Überprüfen Sie die 'USB Passthrough | Verwenden des Libvirt-Abschnitts dieser Seite aus dem Edubuntu-Wiki. Mehr Infos hier und hier .
Wenn Sie nicht vorhaben, das USB-Laufwerk während des Betriebs des Gastes im laufenden Betrieb zu verbinden oder zu entfernen, können Sie auch versuchen, einen Abschnitt wie hinzuzufügen
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
</disk>
in die XML-Definitionsdatei Ihrer VM. Ändern Sie einfach den Quellentwickler so, dass er mit dem übereinstimmt, der Ihrem USB beim Anschließen zugewiesen wurde. Sie können jedoch nicht garantieren, dass die Entwicklerzuweisung des USB den Neustart überlebt, wenn andere Geräte hinzugefügt oder entfernt werden erster Link oben stattdessen.
Falls die Verknüpfung verschwindet, finden Sie hier den entsprechenden Abschnitt zum USB-Passthrough in den verknüpften Dokumenten:
Verwenden von Libvirt
hat eine bereits vorhandene VM ausgelöst
virsh start maverick2
Ein USB-Laufwerk angeschlossen
fand die USB-Adresse mit lsusb
, was mir gab
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}
definierte eine XML-Datei mit den Geräteinformationen:
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x1058'/>
<product id='0x1023'/>
</source>
</hostdev>
passierte das USB-Laufwerk an die VM
sudo virsh attach-device maverick2 /tmp/a.xml
Dies funktioniert jedoch nicht mit aktiviertem Apparmor. Sie müssen entweder Apparmor deaktivieren oder hinzufügen
/dev/bus/usb/*/[0-9]* rw,
entweder zu /etc/apparmor.d/libvirt-qemu
(was allen Gästen vollen Zugriff auf physische Hostgeräte gibt) oder zu
/etc/apparmor.d/libvirt/libvirt-<uuid>
Dadurch erhält nur der eine Gast Zugriff. (Danke an jdstrand für die Hilfe, die das klarstellt.)
address
Element verwendet. Bei Verwendung von Hersteller und Produkt konnte ich nicht zwei USB-Laufwerke anbringen, die gleich waren. Es würde nur durch den ersten gehen.