it-swarm.com.de

Wie verbinde ich ein CD-ROM-Gerät mit einer kvm / qemu-Domäne (mithilfe von Befehlszeilentools)?

Ich habe eine virtuelle Maschine eingerichtet, auf der Windows XP auf meinem Ubuntu-Laptop) ausgeführt wird. Mit der GUI-Anwendung virt-manager Kann ich eine CD in mein Laufwerk einlegen und zu Details → IDE-CD-ROM wechseln 1 und klicken Sie auf die Schaltfläche Connect. Dann wird die CD in meiner virtuellen Maschine verfügbar.

Wie kann ich dasselbe über die Befehlszeile tun? Natürlich möchte ich auch die Verbindung zur Befehlszeile trennen können.

Hinweis: Ich kann die VM über die Befehlszeile mit virsh start testbed Starten (Testbed ist der Name der Domäne/VM).

22

Wenn Sie beim Erstellen Ihrer virtuellen Maschine keine CD-ROM definiert haben, können Sie das Gerät auch an eine laufende Domäne (virtuelle Maschine) anschließen, indem Sie den folgenden Befehl ausführen:

virsh attach-disk testbed /dev/sr0 hdc --type cdrom

Wenn Sie bereits eine CD-ROM definiert haben, diese jedoch auf ein ISO-Image verweist, können Sie meiner Erfahrung nach immer noch denselben Befehl ausführen. Der Teil hdc muss mit dem Blockgerät übereinstimmen, das Sie in der virtuellen Maschine testbed haben.

Wenn Sie erneut auf ein ISO-Image verweisen möchten, ersetzen Sie /dev/sr0 zum Dateinamen auf dem Host, so etwas wie

virsh attach-disk testbed ~/virtio-win-0.1-22.iso hdc --type cdrom

In der Dokumentation wird die Verwendung von virsh update-device, aber es ist mehr Arbeit, eine XML-Definition zu erstellen, wie:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sr0'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
</disk>

Wenn Sie auf diese Weise sind, speichern Sie so etwas in einer Datei (sagen Sie ~/cdrom-real.xml) und dann feuern:

virsh update-device testbed ~/cdrom-real.xml
23
wigy

Verwenden Sie den qemu-monitor-Befehl von virsh, um die Auswurf- und Änderungsbefehle an qemu weiterzugeben.

Verwenden Sie zuerst "info block", um den Gerätenamen von qemu für Ihr CD-ROM abzurufen.

virsh # qemu-monitor-command mirage --hmp --cmd "info block"
drive-virtio-disk0: type=hd removable=0 file=/home/daoist/mirage/mirage.qcow2 ro=0 drv=raw encrypted=0
drive-ide0-0-0: type=cdrom removable=1 locked=0 file=/home/daoist/iso/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso ro=1 drv=raw encrypted=0

In meinem Fall interessiert mich also drive-ide0-0-. Gehen Sie folgendermaßen vor, um die Festplatte zu wechseln:

virsh # qemu-monitor-command mirage --hmp --cmd "eject drive-ide0-0-0"
virsh # qemu-monitor-command mirage --hmp --cmd "change drive-ide0-0-0 /path/to/new.iso"
virsh #
4
Keith Twombley

In Bezug auf den obigen Befehl "Infoblock" ist die richtige Art, ihn aufzurufen:

 virsh qemu-monitor-command <domain> --hmp --cmd "info block"

dh

 virsh qemu-monitor-command windows44407 --hmp --cmd "info block"
1
Joe Huss

Ich habe einen Blu-Ray-Player durchlaufen, der nur dann richtig funktioniert hat, wenn ich ihn auf eine andere Weise durchlaufen habe. Hier ist, wie ich es basierend auf diesem Artikel gemacht habe.

https://Lime-technology.com/forums/topic/33851-blu-ray-dvd-rom-passthrough/

Finden Sie die SCSI-Nummer:

lsscsi

[[email protected] ~]# lsscsi
[#:0:0:0]    cd/dvd  HL-DT-ST BD-RE  WH14NS40  1.03  /dev/sr0

Bearbeiten Sie Domain XML und fügen Sie Folgendes hinzu:

Hinweis: Ersetzen Sie scsi_Host # durch das in lssci gefundene #

<controller type='scsi' index='0' model='virtio-scsi'/>
    <hostdev mode='subsystem' type='scsi'>
      <source>
        <adapter name='scsi_Host#'/>
        <address type='scsi' bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>

Ich musste erzwingen, dass das XML akzeptiert wurde, da virsh edit Fehler verursachte. Drücken Sie einfach i und starten Sie vm neu, um es zu testen.

0