Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
client:vmware_zu_qemu [2026/07/27 16:05 CEST] chrclient:vmware_zu_qemu [2026/09/11 17:16 CEST] (aktuell) chr
Zeile 1: Zeile 1:
-===== Umstellung VMWare auf QEMU =====+====== Umstellung VMWare auf QEMU ======
  
 <note important>Achtung - das ist eine Baustelle!</note> <note important>Achtung - das ist eine Baustelle!</note>
  
-==== Caveat ====+Für diese Anleitung wird ein funktionierendes Umfeld mit qemu, libvirt und virt-manager benötigt ([[client:qemu|ausführliche Anleitung]]). 
 + 
 +===== Caveat =====
  
 Es ist prinzipiell möglich, virtuelle Maschinen von VMWare (VMPlayer, VMWare Workstation) auf QEMU umzustellen. Dabei sind jedoch einige Dinge zu beachten: Es ist prinzipiell möglich, virtuelle Maschinen von VMWare (VMPlayer, VMWare Workstation) auf QEMU umzustellen. Dabei sind jedoch einige Dinge zu beachten:
Zeile 13: Zeile 15:
   * VMware ist nicht direkt für rückstandsfrei entfernbare Software bekannt. Die 'VMware Tools' machen da keine Ausnahme und sollten nach Möglichkeit noch unter VMware/VMplayer entfernt werden.   * VMware ist nicht direkt für rückstandsfrei entfernbare Software bekannt. Die 'VMware Tools' machen da keine Ausnahme und sollten nach Möglichkeit noch unter VMware/VMplayer entfernt werden.
  
-==== Vorbereitungen ====+===== Vorbereitungen =====
  
-=== Linux ===+==== Linux ====
  
 Benötigt werden für Linux die qemu-Gastwerkzeuge ("qemu-guest-agent") und für die virt-IO-Treiber ein Kernel >= 2.6.25 (was sehr vermutlich sowieso der Fall ist). Die qemu-Gastwerkzeuge sollten in den Repositorien der betreffenden Distribution enthalten sein.  Benötigt werden für Linux die qemu-Gastwerkzeuge ("qemu-guest-agent") und für die virt-IO-Treiber ein Kernel >= 2.6.25 (was sehr vermutlich sowieso der Fall ist). Die qemu-Gastwerkzeuge sollten in den Repositorien der betreffenden Distribution enthalten sein. 
  
-=== Windows ===+==== Windows ====
  
 Benötigt werden die virtio-Treiber und die Gastwerkzeuge. Beides ist in einer .iso-Datei zu finden [[https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md|hier]] zu finden. (Einzelne Treiber bzw. Gastwerkzeuge [[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/|hier]]) Benötigt werden die virtio-Treiber und die Gastwerkzeuge. Beides ist in einer .iso-Datei zu finden [[https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md|hier]] zu finden. (Einzelne Treiber bzw. Gastwerkzeuge [[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/|hier]])
 +
 +
 +===== Umstellung =====
 +
 +==== Vorbereitungen unter VMPlayer ====
  
 Es ist vorteilhaft, noch unter VMware/VMware Player einige Dinge auszuführen: Es ist vorteilhaft, noch unter VMware/VMware Player einige Dinge auszuführen:
  
-  * "VMware Tools" nach Möglichkeit möglichst rückstandsfrei deinstallierenFalls diese… nicht so ganz freiwillig sind, siehe hier. **Achtung**: Das kann zu Mausproblemen führen: Dann Windows mit Tastatur (Windows-TasteTabulator- und Cursortastenherunterfahren. +=== Windows === 
-    * Wer gründlich sein willkann alle vmware-Dateileichen und Rückstände in der Registry entfernen. + 
-  * Treiber-CD-iso einhängen und die virtio-Treiber sowie die 'guest toolsinstallieren (virtio-win-guest-tools.exe bzw. virtio-win-gt-x64.msi).+Die "VMware Tools" sollten nach Möglichkeit rückstandsfrei deinstalliert werdenAus irgendeinem Grund funktioniert dies auf dem unter Windows üblichen Weg (Einstellungen"Apps"oft nur dann, wenn die betreffende VM unter VMWare / VMPlayer läuft, und selbst dann oft nicht rückstandsfreiHängen Sie die Treiber-CD-iso ein und installieren Sie die virtio-Treiber sowie die 'Guest Tools' (virtio-win-guest-tools.exe bzw. virtio-win-gt-x64.msi). 
 + 
 +**Achtung**: Die Entfernung der VMWare-Tools kann zu Mausproblemen führen: Fahren Sie dann das Windows mit der Tastatur runter: Windows-Taste, Tabulator, bis Marke auf Usernamen rechts unten (verm. "student") ruht, Cursor nach rechts, [Eingabe und 'Herunterfahren' wählen. 
 + 
 +  * Wer gründlich sein will, kann jetzt oder später alle vmware-Dateileichen und Rückstände in der Registry entfernen. 
 + 
 + 
 +=== Linux ===
  
 +Deinstallieren Sie die open-vm-tools und, wenn vorhanden, die open-vm-tools-desktop.
  
-==== Konvertierung virtuelle Festplatte ====+===== Konvertierung virtuelle Festplatte =====
  
 Anschließend (oder als ersten Schritt, falls Vorbereitungen unter VMware nicht möglich oder darauf verzeichtet wurde) kann die virtuelle Festplatte konvertiert werden: Anschließend (oder als ersten Schritt, falls Vorbereitungen unter VMware nicht möglich oder darauf verzeichtet wurde) kann die virtuelle Festplatte konvertiert werden:
Zeile 39: Zeile 54:
 </code> </code>
  
-Auf Wunsch kann die ausgegebene qcow2-Datei gleich konvertiert werden:+Die ausgegebene qcow2-Datei kann gleich koprimiert werden:
 <code> <code>
 qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [qemu.qcow2] [temp_qemu.qcow2] qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [qemu.qcow2] [temp_qemu.qcow2]
Zeile 45: Zeile 60:
 </code> </code>
  
-Festplatte nach SATA geht direkt.+===== xml-Datei erstellen =====
  
-==== xdfghdfg ====+Als nächstes ist eine xml-Datei zum Ersatz der unter VMWare verwendeten .vmx nötig. Diese kann leider nicht automatisch aus einer .vmx-Datei generiert werden (jedenfalls derzeit noch nicht). In untenstehender Vorlage müssen aber nur an wenigen Stellen Anpassungen getroffen werden. Es ist sicher keine schlechte Idee, der .xml- und .qcow2-Datei den gleichen Namen zu geben.
  
-  vmware-tools deinstallieren+++++xml-Vorlagendatei (Ausklappen)| 
 +<code> 
 +<domain type="kvm"> 
 +  <name>*** Hier Name der VM eintragen ***</name> 
 +  <uuid></uuid> 
 +  <metadata> 
 +    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> 
 +      <libosinfo:os id="*** Art des Betriebssystems ein ***"/> 
 +    </libosinfo:libosinfo> 
 +  </metadata> 
 +  <memory unit="KiB">8388608</memory> 
 +  <currentMemory unit="KiB">8388608</currentMemory> 
 +  <vcpu placement="static">1</vcpu> 
 +  <os> 
 +    <type arch="x86_64" machine="pc-q35-5.2">hvm</type> 
 +  </os> 
 +  <features> 
 +    <acpi/> 
 +    <apic/> 
 +    <hyperv mode="custom"> 
 +      <relaxed state="on"/> 
 +      <vapic state="on"/> 
 +      <spinlocks state="on" retries="8191"/> 
 +    </hyperv> 
 +    <vmport state="off"/> 
 +  </features> 
 +  <cpu mode="host-model" check="partial"/> 
 +  <clock offset="localtime"> 
 +    <timer name="rtc" tickpolicy="catchup"/> 
 +    <timer name="pit" tickpolicy="delay"/> 
 +    <timer name="hpet" present="no"/> 
 +    <timer name="hypervclock" present="yes"/> 
 +  </clock> 
 +  <on_poweroff>destroy</on_poweroff> 
 +  <on_reboot>restart</on_reboot> 
 +  <on_crash>destroy</on_crash> 
 +  <pm> 
 +    <suspend-to-mem enabled="no"/> 
 +    <suspend-to-disk enabled="no"/> 
 +  </pm> 
 +  <devices> 
 +    <emulator>/usr/bin/qemu-system-x86_64</emulator> 
 +    <disk type="file" device="disk"> 
 +      <driver name="qemu" type="qcow2"/> 
 +      <source file="*** Hier bitte Dateinamen der VM mit vollem Pfad eintragen ***"/> 
 +      <target dev="vda" bus="virtio"/> 
 +      <boot order="1"/> 
 +      <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/> 
 +    </disk> 
 +    <disk type="file" device="cdrom"> 
 +      <driver name="qemu" type="raw"/> 
 +      <source file="/home/chr/isos/virtio-win-0.1.285.iso"/> 
 +      <target dev="sdb" bus="sata"/> 
 +      <readonly/> 
 +      <address type="drive" controller="0" bus="0" target="0" unit="1"/> 
 +    </disk> 
 +    <disk type="file" device="floppy"> 
 +      <driver name="qemu" type="raw"/> 
 +      <target dev="fda" bus="fdc"/> 
 +      <readonly/> 
 +      <address type="drive" controller="0" bus="0" target="0" unit="0"/> 
 +    </disk> 
 +    <disk type="file" device="floppy"> 
 +      <driver name="qemu" type="raw"/> 
 +      <target dev="fdb" bus="fdc"/> 
 +      <readonly/> 
 +      <address type="drive" controller="0" bus="0" target="0" unit="1"/> 
 +    </disk> 
 +    <controller type="usb" index="0" model="qemu-xhci" ports="15"> 
 +      <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/> 
 +    </controller> 
 +    <controller type="sata" index="0"> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/> 
 +    </controller> 
 +    <controller type="pci" index="0" model="pcie-root"/> 
 +    <controller type="pci" index="1" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="1" port="0x10"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/> 
 +    </controller> 
 +    <controller type="pci" index="2" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="2" port="0x11"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/> 
 +    </controller> 
 +    <controller type="pci" index="3" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="3" port="0x12"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/> 
 +    </controller> 
 +    <controller type="pci" index="4" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="4" port="0x13"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/> 
 +    </controller> 
 +    <controller type="pci" index="5" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="5" port="0x14"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/> 
 +    </controller> 
 +    <controller type="pci" index="6" model="pcie-root-port"> 
 +      <model name="pcie-root-port"/> 
 +      <target chassis="6" port="0x15"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/> 
 +    </controller> 
 +    <controller type="virtio-serial" index="0"> 
 +      <address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/> 
 +    </controller> 
 +    <controller type="fdc" index="0"/> 
 +    <interface type="network"> 
 +      <mac address="52:54:00:b4:da:3e"/> 
 +      <source network="default"/> 
 +      <model type="e1000e"/> 
 +      <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/> 
 +    </interface> 
 +    <serial type="pty"> 
 +      <target type="isa-serial" port="0"> 
 +        <model name="isa-serial"/> 
 +      </target> 
 +    </serial> 
 +    <console type="pty"> 
 +      <target type="serial" port="0"/> 
 +    </console> 
 +    <channel type="spicevmc"> 
 +      <target type="virtio" name="com.redhat.spice.0"/> 
 +      <address type="virtio-serial" controller="0" bus="0" port="1"/> 
 +    </channel> 
 +    <input type="tablet" bus="usb"> 
 +      <address type="usb" bus="0" port="1"/> 
 +    </input> 
 +    <input type="mouse" bus="ps2"/> 
 +    <input type="keyboard" bus="ps2"/> 
 +    <graphics type="spice" autoport="yes"> 
 +      <listen type="address"/> 
 +      <image compression="off"/> 
 +    </graphics> 
 +    <sound model="ich9"> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/> 
 +    </sound> 
 +    <audio id="1" type="spice"/> 
 +    <video> 
 +      <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/> 
 +      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/> 
 +    </video> 
 +    <redirdev bus="usb" type="spicevmc"> 
 +      <address type="usb" bus="0" port="2"/> 
 +    </redirdev> 
 +    <redirdev bus="usb" type="spicevmc"> 
 +      <address type="usb" bus="0" port="3"/> 
 +    </redirdev> 
 +    <watchdog model="itco" action="reset"/> 
 +    <memballoon model="virtio"> 
 +      <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/> 
 +    </memballoon> 
 +  </devices> 
 +</domain> 
 +</code> 
 +++++
  
-Wenn VMWare-Tools Zicken beim Deinstallieren machenhttps://itsimple.info/?p=3161 +Folgende Einträge müssen angepaßt werden: 
-  Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine +  * <name>*** Hier den Namen der VM eintragen (muß nicht der vorherige sein) ***</name> 
-  * Set-ExecutionPolicy -ExecutionPolicy Unrestricted+  * <libosinfo:os id="*** ID des virtualisierten Betriebssystems ***"/> 
 +    * Beispiele wären (genauso eingeben, hier als Wert, nicht als Link zum Klicken gemeint): 
 +    * "http://microsoft.com/win/10", "http://microsoft.com/win/11" 
 +    "http://ubuntu.com/ubuntu/24.04", "http://opensuse.org/opensuse/15.6" 
 +    * Wenn Sie sich bzgl. einer Linuxversion unsicher sind, verwenden Sie für den Anfang einfach "http://libosinfo.org/linux/2024". Das läßt sich später mit virt-manager genauer einstellen. 
 +  * <source file="*** Hier  Dateinamen der VM mit vollem Pfad eintragen ***"/> 
 +  * Anm.: Der uuid-Wert ist absichtlich leer. libvirt trägt beim Import eine ein.
  
-virtio-win-0.1.285.iso: 
-  * virtio-win-gt-x86.msi 
-  * virtio-win-guest-tools.exe 
  
-==== virt. Festplatte konvertieren ====+===== Import nach libvirt =====
  
-qemu-img convert --f vmdk -O qcow2 rein.vmdk raus.qcow2 +Importieren Sie die xml-Datei mit <code>virsh -c qemu:///system define [xml-Datei.xml]</code>Mehr dazu unter [[https://bwlehrpool.de/wiki/doku.php/client/qemu#download_und_import|QEMUDownload und Import]].
--pFortschritt anzeigen, -fEingabeformat, -O: Ausgabeformat+
  
-qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [Datei.qcow2] [temp_Datei.qcow2] 
-mv [temp_Datei.qcow2] [Datei.qcow2] 
  
-Festplatte nach SATA geht direkt.+===== Erststart =====
  
 +Starten Sie den virt-manager. Bei den meisten Oberflächen geht das am schnellsten mit [Alt]+[F2], 'virt-manager' eingeben. Ihre übertragene VM sollte nun in Liste der verfügbaren VMs enthalten sein. Markieren Sie diese und klicken auf das 'Öffnen'-Symbol (oder rechtsklick, 'Öffnen'). Das Monitorsymbol links zeigt dann die laufende VM; das Informationssymbol die dazugehörigen xml-Daten.
  
-==== nachträgliche Umstellung ====+==== Erststart virt-manager ====
  
-Wird sicher kommendaher mal testen.+Falls dieses die erste überhaupt gestartete VM in diesem Umfeld istwerden Sie nun vermutlich eine mittlere Freude erleben:
  
-=== Virtio-Treiber ===+  * „Fehler beim Starten … network 'default ist not active'“: Vergl. [[https://bwlehrpool.de/wiki/doku.php/client/qemu#netzwerk|qemu: Netzwerk]] 
 +  * „Fehler bei Verbindung mit grafischer Konsole … Namespace SpiceClientGtk not available“: Vergl. [[https://bwlehrpool.de/wiki/doku.php/client/qemu#grafische_konsole|qemu: Grafische Konsole]]. 
 +  * „Fehler beim Starten … Cannot access storage file '/dev/sr0'“ - falls Ihr Rechner kein CDROM/DVD-Laufwerk hat. Vergl. [[https://bwlehrpool.de/wiki/doku.php/client/qemu#laufwerke|qemu: Laufwerke]]. 
 + 
 +Keine Sorge - vom schnell entfernten CDROM abgesehen bleiben diese Fehler in Zukunft weg. 
 + 
 +==== Erststart VM ====
  
-Aus <os>  <os firmware="efi">, wenn nicht booten will.+  * VM zeigt eine Konsole mit „**Booting from Hard Disk… No bootable device**“: Schalten Sie die VM aus (Dreieckssymbol rechts neben Ausschaltesymbol, „Ausschalten erzwingen“). Wechseln Sie dann zur xml-Ansicht (Informationssymbol), dort dann links in der Liste zu „OS-Information“. Ändern Sie den Eintrag <os> zu <os firmware="efi">. Wechseln Sie zur VM-Ansicht (Monitorsymbol)und starten neu.
  
 === Virtio-Treiber === === Virtio-Treiber ===
Zeile 93: Zeile 272:
  
 … funktioniert tatsächlich. … funktioniert tatsächlich.
 +
 +  * Falls es Probleme mit den virtio-Treibern geben sollte oder Sie diese absichtlich nicht installiert haben, erscheint der beliebte **Bluescreen** „An diesem Gerät ist ein Problem ausgetreten … es wird ein Neustart ausgeführt“: Lassen Sie in Ruhe automatisch neustarten; es sollte dann eine Anzeige „Tastaturlayout auswählen“ erscheinen:
 +    * Wählen Sie eine Tastaturbelegung, und gehen dann auf „Problembehandlung“ gefolgt von „Eingabeaufforderung“. Wechseln Sie zur xml-Ansicht und klicken in der linken Liste auf das CDROM.
 +      * Sollte kein CDROM vorhanden sein, fügen Sie eins hinzu: Schalten Sie die VM aus, gehen in der Liste links ganz unten auf „Gerät hinzufügen“, Gerätetyp „CDROM-Gerät“, Bustyp „SATA“. , dann auf das links erscheinende Gerät „SATA CDROM“, rechts „Durchsuchen“, unten mittig auf „Lokal durchsuchen“.
 +    * Suchen Sie in jedem Fall die virtio-win-iso-Datei und wählen diese aus, klicken Sie abschließend unten rechts auf „Übernehmen“.
 +
 +
 +„“
 +
 +==== VMWare-Tools ====
 +
 +
 +  * vmware-tools deinstallieren
 +
 +Wenn VMWare-Tools Zicken beim Deinstallieren machen: https://itsimple.info/?p=3161
 +  * Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
 +  * Set-ExecutionPolicy -ExecutionPolicy Unrestricted
 +
 +virtio-win-0.1.285.iso:
 +  * virtio-win-gt-x86.msi
 +  * virtio-win-guest-tools.exe
 +
 +
  
 === VMWare-Tools === === VMWare-Tools ===
Zeile 122: Zeile 324:
 (devmgmt.msc -> Hardware) (devmgmt.msc -> Hardware)
  
 +Festplatte nach SATA geht direkt.
Drucken/exportieren