Umstellung VMWare auf QEMU

Achtung - das ist eine Baustelle!

Für diese Anleitung wird ein funktionierendes Umfeld mit qemu, libvirt und virt-manager benötigt (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:

  • In erster Linie können zum Booten notwendige (Massenspeicher-)Treiber Probleme bereiten:
    • Die unter qemu/libvirt sehr vorteilhaften viostor-Treiber können zwar vor der Konvertierung installiert werden, dennoch macht Windows gern Ärger, diese beim Booten auch zu benutzen.
    • Im Windows vorhandene IDE- bzw. SATA-Treiber können benutzt werden, sind aber mit Leistungseinbußen gegenüber virtio ('virt-IO') verbunden.
  • 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

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.

Windows

Benötigt werden die virtio-Treiber und die Gastwerkzeuge. Beides ist in einer .iso-Datei zu finden hier zu finden. (Einzelne Treiber bzw. Gastwerkzeuge hier)

Umstellung

Vorbereitungen unter VMPlayer

Es ist vorteilhaft, noch unter VMware/VMware Player einige Dinge auszuführen:

Windows

Die „VMware Tools“ sollten nach Möglichkeit rückstandsfrei deinstalliert werden. Aus 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ückstandsfrei. Hä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

Anschließend (oder als ersten Schritt, falls Vorbereitungen unter VMware nicht möglich oder darauf verzeichtet wurde) kann die virtuelle Festplatte konvertiert werden:

# für vmplayer.vmdk die zu konvertierende .vmdk einsetzen, geeigneten Namen für qemu.qcow2 wählen:
qemu-img convert -p -f vmdk -O qcow2 [vmplayer.vmdk] [qemu.qcow2]

Die ausgegebene qcow2-Datei kann gleich koprimiert werden:

qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [qemu.qcow2] [temp_qemu.qcow2]
mv [temp_qemu.qcow2] [qemu.qcow2]

xml-Datei erstellen

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.

xml-Vorlagendatei (Ausklappen)

Folgende Einträge müssen angepaßt werden:

Import nach libvirt

Importieren Sie die xml-Datei mit

virsh -c qemu:///system define [xml-Datei.xml]

. Mehr dazu unter QEMU: Download und Import.

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.

Erststart virt-manager

Falls dieses die erste überhaupt gestartete VM in diesem Umfeld ist, werden Sie nun vermutlich eine mittlere Freude erleben:

  • „Fehler beim Starten … network 'default ist not active'“: Vergl. qemu: Netzwerk
  • „Fehler bei Verbindung mit grafischer Konsole … Namespace SpiceClientGtk not available“: Vergl. qemu: Grafische Konsole.
  • „Fehler beim Starten … Cannot access storage file '/dev/sr0'“ - falls Ihr Rechner kein CDROM/DVD-Laufwerk hat. Vergl. qemu: Laufwerke.

Keine Sorge - vom schnell entfernten CDROM abgesehen bleiben diese Fehler in Zukunft weg.

Erststart VM

  • 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.

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“. Wahlen Sie eine, 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, und gehen in der Liste links ganz unten auf „Gerät hinzufügen“, Gerätetyp „CDROM-Gerät“, Bustyp „SATA“. Klicken Sie dann auf das links erscheinende Gerät „SATA CDROM“, rechts „Durchsuchen“, unten mittig auf „Lokal durchsuchen“. Suchen Sie die virtio-win-iso-Datei und wählen diese aus. Klicken Sie abschließend unten rechts auf „Übernehmen“. Starten Sie die

„“

„“ „“

xdfghdfg

  • 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

nachträgliche Umstellung

Wird sicher kommen, daher mal testen.

Virtio-Treiber

Aus <os> <os firmware=„efi“>, wenn nicht booten will.

Virtio-Treiber

Testfall: Einfach vmdk nach qcow2 konvertiert, Standard-xml angepaßt. Importiert + gebootet, liefert Bluescreen mit INACCESSIBLE_BOOT_DEVICE. Dann nichts getan, Reboot erfolgt automatisch. Das Ganze zwei Mal, bis 'Reparatur' und 'Diagnose wird ausgeführt'. Liefert Bild „Automatische Reparatur“ als Überschrift, Auswahl „Neu starten“ und „Erweiterte Optionen“: dir c:

  • Erweiterte Optionen gewählt, „Problembehandlung“, „Erweiterte Optionen“, „Eingabeaufforderung“, 'root', Paßwort rein → Kommandozeile.
  • Bei VM-Details .iso einhängen (akt. virtio-win-0.1.285.iso)
  • Mit 'dir c:', 'dir d:' uswdir. durchtesten, bis:
  • Systemlaufwerk (:\Windows) angezeigt wird, Buchstabe merken (aus Poolsystem meistens d:),
    • Oder: diskpart, list disk, list volumequit
  • CD angezeigt wird, Buchstabe merken (aus Poolsystem gern f:).
  • rauf auf Laufwerk (f:), dann Treiber suchen:
  • cd viostor, cd Windowsversion (w10, w11), cd Architektur (amd64) bis viostor.inf.
  • Dann Treiber rein: dism /Image:d:\ /Add-Driver:f:\viostor\w10\amd64\viostor.inf

… funktioniert tatsächlich.

VMWare-Tools

Wenn VMWare-Tools Zicken beim Deinstallieren machen: Skript unter https://itsimple.info/?p=3161, Powershell/root. Wird vermutlich Zicken machen a la „Ausführung von Skripten auf diesem System deaktiviert“. Dann:

  • Zum Anzeigen:Get-ExecutionPolicy -list
  • Policy ändern: Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
  • Zurücksetzen: Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

Reboot nötig.

VMWare-Dienste

  • Dienste abstellen:
  • Taskman als Admin starten, in 'Autostart' alles mit 'vmware' im Namen deaktivieren, unter 'Dienste' ebenso.
  • 'Services' als Admin starten, ebenfalls alles mit 'vmware' im Namen abmurksen: Rechtsklick, Eigenschaften, bei Dienststatus Beenden, Starttyp auf Deaktiviert setzen.

Reboot schadet nicht.

hier

qemu-Guest-additions

Von CD virtio-win-gt-x86.msi oder gleich virtio-win-guest-tools.exe nachinstallieren.

dsgsdfgsdfg

(devmgmt.msc → Hardware)

Festplatte nach SATA geht direkt.

Drucken/exportieren