ubuntuusers.de

VM von VirtualBox nach QEMU/KVM portieren

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Ohje... das ist wirklich seltsam:

  • Dass Nicht-Laufen dieser einen Win7-Installation muss wohl an dieser selbst liegen (das ist hier dann eher Off-Topic)

  • Aber was wirklich seltsam ist: Die VM scheint beim Start von einer Windows-Installations-DVD (Win7 oder Win10) USB-Maus und -Tastatur nicht zu erkennen.

  • Kann das wirklich sein? Ist das ein Windows-Problem oder eines von QEMU/KVM?

  • Ein einfaches "Weiterleiten" dieses USB-Ports hilft nicht, denn damit habe ich gerade meinen Host "gelähmt" 😉=

Das Problem scheint aber nicht nur meines zu sein... ich lese mal nach und werde dann berichten.

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16656

Hallo Emma2,

Wurden in den VMs die Gasterweiterungen installiert ?

Gruss Lidux

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Ja, wurden sie, guter Punkt. Ich meine zwar, die schon deinstalliert zu haben, werde das aber nochmal prüfen.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Hallo.

Tatsächlich sind die Gasterweiterungen schon deinstalliert.

Für meine Win11-VM konnte ich das Problem jetzt lösen, und es war "hausgemacht" (oder: "saß vor dem Bildschirm"), denn die VM war unter VirtualBox mit BIOS-Firmware installiert, und KVM verwendet standardmäßig UEFI. Nach der "Umstellung" startet die Maschine problemlos. (Frage am Rande: "Umstellen" kann man da nix, zumindest nicht im virt-manager, oder? Oder könnte ich die XML editieren? Wenn ja: Gibt es da eine Doku für? Oder könnte ich mit virsh umstellen von UEFI auf BIOS?)

Mit meiner Win7-VM bin ich noch nicht weitergekommen: Die startet nach wie vor in die "Reparatur", aber sobald ich hier weitermache, haben Maus und Tastatur keine Wirkung mehr in der VM, so dass ich also auch keine "Reparaturinstallation" durchführen kann. Das scheint mir aber eher ein KVM-Problem zu sein, oder? (NB: Das Problem tritt auf mit einer Win7-ISO und mit einer Win10-ISO, es tritt nicht auf mit einer Mint-ISO oder einer Ubuntu-ISO.) ... aber falls das hier zu sehr off-Topic-und-uninteressant wird, sagt es mir, dann frage ich nicht weiter...

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Nee, zu früh gefreut für meine Win11-VM: Wenn ich die (auf einem Desktop-Rechner) funktionierende QCOW2 auf den Ubuntu-Host kopiere und die VM genau gleich einrichte, dann startet sie auf dem Ubuntu-Host trotzdem nicht. Tatsächlich läuft die Kiste los, aber dann passiert "INACCESSIBLE BOOT DEVICE", das wird zwei Mal gemeldet, und dann geht Win11 in die Reparatur - dort passiert jedoch das Gleiche wie unter Win7: Weder Maus- noch Tastatureingaben werden entgegengenommen. Habt Ihr dafür irgend eine Erklärung? (Der einzige Unterschied zwischen den Hosts ist: Auf Mint, wo's läuft, habe ich einen AMD, auf Ubuntu, wo der Fehler auftritt, arbeitet ein Intel.) Da bin ich jetzt echt ratlos, bzw. weiß gar nicht mehr, wie und wo ich da noch suchen könnte.

Update: Oh, offensichtlich "merkt" sich Windows irgend etwas auf der Platte. Nachdem ich von den verschiedenen Prozessoren geschrieben habe, habe ich in den Einstellungen der VM unter "Anzahl der CPUs" das Modell "CPU-Konfiguration löschen" gewählt, woraufhin diese auf "qemu64" gesprungen ist - und schon läuft die VM.
(NB: Zurückstellen auf "host-passthrough" bringt sie verlässlich wieder zum Scheitern. Aber das ist offenbar nur bei Win11 ein Problem, bei Win81 und Win10 klappte es ohne weiteres Zutun.)

p.s.: Bei der Win7 hat diese Einstellung keine Auswirkungen, da muss ich noch weiter suchen...

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Ja, Emma2 schrieb:

(NB: Zurückstellen auf "host-passthrough" bringt sie verlässlich wieder zum Scheitern. Aber das ist offenbar nur bei Win11 ein Problem,

Windows 11 ist da wohl ein bisschen heikel, zumindest findet man Beiträge zu genau diesem Thema, z.B. https://www.reddit.com/r/kvm/comments/1f1s4xg/moved_win11_vm_from_amd_to_intel_now_bsods_with/. Das muss ich mir definitiv einmal ansehen, denn mit "qemu64" ist die VM gefühlt sehr, sehr träge...

adelaar

Anmeldungsdatum:
23. November 2024

Beiträge: 411

Emma2 schrieb:

Windows 11 ist da wohl ein bisschen heikel

könnte das evtl. am Secure Boot liegen? Windoof 11 setzt das ja voraus und mit dem Umzug auf einen anderen KVM-Hosts könnte sich da doch etwas relevantes verändern.

Für meine Win11-VM konnte ich das Problem jetzt lösen, und es war "hausgemacht" (oder: "saß vor dem Bildschirm"), denn die VM war unter VirtualBox mit BIOS-Firmware installiert, und KVM verwendet standardmäßig UEFI.

Der "Standard" richtet sich nach dem zu installierenden OS. Installiert man in KVM eine Linux-VM wird nach wie vor BIOS vorgeschlagen. Kann man aber ändern, wenn man während der Einrichtung das Häkchen bei vor dem Start editieren setzt.

Man kann auch die *.xml editieren. Die Machine sollte dann aber heruntergefahren sein und virt-manager beendet. Zudem sollte man wissen was man da macht und immer eine Kopie der zu verändernden *.xml vor der Veränderung sicher abspeichern.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

adelaar schrieb:

könnte das evtl. am Secure Boot liegen? Windoof 11 setzt das ja voraus

Hatte ich auch vermutet bzw. bei Thomas Krenn gefunden, aber das hat nicht geholfen. Das Problem ist wohl wirklich der Umzug von AMD auf Intel. Ich werde mal den Tip aus meiner Fundstelle mit dem entsprechenden Registry-Key ausprobieren - melde mich dann mit dem Ergebnis. Muss jetzt aber erst einmal die VDI nach QCOW2 konvertieren.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Hmm, jetzt ist es doch "spannender", als ich dachte:

Es ist reproduzierbar so, dass auf einem Host (Ubuntu 24.04) mit AMD-Prozessor der Start mit einer Windows-Setup-ISO die Kiste zum Hängen bringt, und das gilt sowohl für eine QCOW2, die auf einem Host mit Intel läuft, als auch, wenn ich auf dem AMD-Host eine neue QCOW2 anlege oder sogar gar keine "Festplatte" habe, sondern nur die Setup-ISO.

Das Setup startet bis zur Auswahl der Tatstatur (das ist der erste Schritt, der eine Eingabe verlangt), und dann tut sich nichts mehr. Dabei bin nicht sicher, ob die VM wirklich einfriert, ich habe sogar eher den Eindruck, dass sie weder Tastatur- noch Maus-Eingaben entgegennimmt. Indiz hierfür: Wenn ich ins Fenster der Verbindung (virt-manager) klicke, dann verschwindet der Mauszeiger. Das Gleiche gilt für eine Verbindung über den remote-viewer: Keine Reaktion auf Maus oder Tastatur.

Ist das nun ein Windows-Problem oder eines von QEMU/KVM? Wie kann ich das herausfinden oder am besten sogar beheben?

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Update/Nachtrag: Wenn ich eine Linux-ISO einlege (hier Mint, weil es eine GUI hat), dann startet die VM ganz normal, ich kann das Linux installieren und kann auch auf die Windows-Platte/Partition zugreifen. Windows selbst startet aber auch aus dem GRUB heraus nicht, sondern meldet "INACCESSIBLE BOOT DEVICE". Das "Umbauen" der Platte von SATA auf VirtIO bringt keine Änderung. Nach mehreren erfolglosen Starts geht Windows in die "Automatische Reparatur", und dann hänge ich wieder im Bildschirm "Tastaturlayout" fest.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 601

Ohje, das war jetzt doch ein bisschen mühsam und "von hinten durchs Auge", aber mein Problem ließ sich lösen.

Und auch wenn es hier natürlich off-topic ist, will ich das kurz beschreiben... vielleicht nutzt es ja jemandem, der mal die gleichen Schwierigkeiten hat:

  • Ich hatte mehrere VMs, Win7, Win8.1, Win10 und Win11, erfolgreich von VirtualBox nach QEMU/KVM auf einem Ubuntu-Host mit Intel-CPU portiert.

  • Dabei war die Schwierigkeit, dass die VBox-VMs teilweise IDE-Platten hatten, die älteren Windows-Installationen aber per Default keine SATA-Treiber.

  • In QEMU/KVM gibt es andererseits nur noch SATA und nicht mehr IDE (dachte ich zunächst, s.u.).

  • Dies ließ sich lösen, indem ich - noch in VBox - jeweils einen SATA-Controller dazusetzte, die VM startete, dort den Treiber installierte, und dann konnte ich auch die Platte von IDE auf SATA umsetzen.

  • Bei der Win11-VM war es zusätzlich notwendig, den CPU-Modus von host-passthrough auf qemu64 umzustellen (weil der Host einen anderen Prozessor hatte und das wohl in der Windows-Registry vermekrt wird: HKLM/SYSTEM/CurrentControlSet/Services/intelppm/Start = 3 für AMD und = 4 für Intel).

  • Damit starteten dann aber alle vier Windows-VMs auch in QEMU/KVM,und das sogar mit SATA-Platten (praktisch, weil es in QEMU/KVM kein IDE mehr gibt... dachte ich, s.u.).

  • Danach habe ich die VMs auf einen Ubuntu-Host mit AMD-Prozessor portiert, und sie wollten nicht mehr laufen, zeigten entweder einen Bluescreen (zu schnell zum Lesen) oder blieben stehen mit "INACCESSIBLE BOOT DEVICE".

  • Noch schlimmer war dabei, dass sowohl in der Reparatur als auch mit Setup-DVD-ISO Maus und Tastatur nicht mehr angenommen wurden (nur auf dem AMD-Host, nicht auf Intel!).

  • Parallelinstallation eines Linux (hier: Mint 19.3) half ebenfalls nicht, denn auch aus dessen Grub heraus ließ sich von der Windows-Platte nicht booten.

  • (Disclaimer: Für die Win11-VM funktionierte es plötzlich, und ich habe das leider nicht dokumentiert, nehme aber an, dass der nachstehende Ansatz da auch funktionieren würde.)

  • Das Umstellen der CPU von host-passthrough auf eine Emulation wie qemu32 hat nicht geholfen.

  • Letztlich lag es für Win7, Win8.1 und Win10 am "Chipsatz", aber den umzustellen von Q35 auf i440FX war, zumindest mit dem virt-manager, nicht ganz einfach. (Mit virsh wird es vermutlich vielleicht sogar einfacher funktionieren, aber dazu bin ich lange noch nicht firm genug damit.)

  • Das Erstellen einer neuen VM mit diesem Chipsatz führte zu einem Fehler, weil dann die PCI-Settings nicht zueinander passten

  • Der in der untenstehenden Quelle angegebene Workaround führte jedoch zum Ziel.

  • Man musste als Betriebssystem eine alte Windows-Version auswählen, z.B. Windows 3.1, dann wurde anstatt des PCIe- ein PCI-Controller "eingebaut".

  • Von der daran angeschlossenen Virtuellen Disk konnte Windows dann starten, Win7 und Win8.1. von IDE oder SATA, Win10 war wieder etwas zickiger und wollte unbedingt SATA.

Auf alle Fälle bedanke ich mich nochmals für Eure Hilfe, Tipps und die Diskussion. Für mich ist dieser Thread jetzt erledigt, und ich habe ihn als gelöst gekennzeichnet.

Quelle: https://github.com/virt-manager/virt-manager/issues/398

Antworten |