Windows 7 bootfähig virtualisieren
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Anmerkung: Der Support von Windows 7 endete am 14.1.2020, es gibt für Windows 7 keine Sicherheitsupdates mehr, siehe auch Blogeintrag von Microsoft 🇩🇪.
Achtung!
Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.
Problembeschreibung¶
Die folgenden Schritte beschreiben die Virtualisierung einer existierenden Windows-7-Installation. Es wird eine direkt bootfähige VM für QEMU erzeugt.
Auf diese Art und Weise ist es u. a. möglich ein komplettes System zu archivieren und jederzeit wieder zu aktivieren. Dies erspart eine Migration und Sicherung alter Datenbestände.
Anleitung¶
Die Anleitung geht von einem dual boot System mit GRUB2 aus. Auf der Festplatte des Systems koexistieren mehrere ?buntu-Derivate und LinuxMint, sowie eine alte Windows 7 Installation. Diese soll vollständig virtualisiert werden.
Voraussetzung¶
Windows 7 DVD (ein ISO-Image kann direkt bei Microsoft heruntergeladen werden, falls keinen DVD mehr zur Hand)
Windows-Lizenzschlüssel (wird später irgendwann zum erneuten Registrieren benötigt)
SuperGRUB2 auf CD/DVD oder USB-Stick (Download von supergrubdisk.org 🇬🇧 ⮷). In der Anleitung wird mit einem DVD-Laufwerk gearbeitet.
Kenntnisse von KVM/QEMU, QEMU-Monitor sowie Windows- und Linux-Befehlseingabe in "Eingabeaufforderung" und Terminal.
Vorgehen¶
System starten und altes Windows-7-System aus dem GRUB2-Menü heraus booten.
In Windows das offizielle Tool DISK2VHD von der Microsoft-Website herunterladen (hier 🇬🇧) und installieren. Vor dem nächsten Schritt empfiehlt es sich, das Windowssystem aufzuräumen und evtl. zu defragmentieren. Es ist ebenfalls eine gute Idee sicherzustellen, dass 7Zip o. ä. im Windows installiert ist bevor konvertiert wird (siehe vorletzten Punkt).
Das existierende System mit dem Befehl
disk2vhdkonvertieren (in einer "Eingabeaufforderung"). Es wird eine Datei mit der Endung .VHDX erzeugt (w7.vhdx in meinem Fall).Achtung: Dieses Image ist in etwa so groß wie die existierende Installation.
Anmerkung: Dieses Image kann schon mittels QEMU und der SuperGrub2-CD/DVD gestartet werden!
w7.vhdx mit
qemu-imagein das qcow2-Format konvertieren (oder ein anderes gewünschtes Format).Mit der SuperGRUB2-CD (DVD) im Laufwerk wird w7.qcow2 nun mit QEMU in einem Terminal gestartet:
qemu-system-x86_64 -enable-kvm -m 4G -drive file=w7.qcow2 -vga virtio -cdrom /dev/sr0 -boot menu=on(Dies setzt voraus, dass QEMU aus dem Verzeichnis mit w7.qcow2 gestartet wird; andernfalls den kompletten Pfad angeben z. B. /home/W7/w7.qcow2. Das CD/DVD-Laufwerk hat möglicherweise auch einen anderen Namen; dann hilft
lsbklden Namen herauszufinden.)Sobald das System bootet, die Esc -Taste drücken um in das Boot-Menü zu gelangen. Sollte das System nach
grub rescuebooten, bitte re-boot mit Strg + Alt + Entf und dann Esc rechtzeitig drücken.
Auswahl boot from DVD - das SuperGRUB-Menü wird geladen und nach der Auswahl des Menüpunkts discovery werden bootfähige Windows-System angezeigt (möglicherweise doppelter Eintrag, wie es hier der Fall war). Ein Windows-System auswählen und booten. Alles sollte nun wie gehabt funktionieren. Das erste Booten ist relativ langsam, weil Windows mehrere Treiber nachinstalliert. Bitte sicherstellen, dass dieser Vorgang komplett abgeschlossen ist, bevor das System heruntergefahren wird!
Die Auflösung im QEMU-Windows-Fenster ist wahrscheinlich grottenschlecht und muss im Windows nachjustiert werden. Als Nächstes den Befehl (Eingabeaufforderung)
bootrec.exe /?ausführen. Windows wird sich a. V. n. damit melden, dass es keinen Befehlbootreczur Verfügung hat. Sollte das nicht der Fall sein, bitte den folgenden Schritt überspringen.Jetzt wird eine original Windows-7-DVD benötigt (
bootrec.exewird nicht auf der Microsoft-Webseite zur Verfügung gestellt, ist aber in jedem Windows-7-ISO enthalten): Im QEMU-Monitor SuperGRUB-CD/DVD auswerfen undchangezur Windows-DVD. Auf der DVD\sources\boot.wimmit 7Zip öffnen (oder einem anderen Tool, das WIM-Dateien lesen kann).bootrec.exebefindet sich im Verzeichnis\1\Windows\System32-bootrec.exeextrahieren und speichern auf C:.Nun nacheinander die Befehle
bootrec /fixmbrundbootrec /fixbootausführen. Bitte weiterhin darauf achten, dass weitere Windows-Treiber-Installationen erfolgreich beendet werden bevor das System mitshutdown /s /t 0heruntergefahren wird.
Das war's.
Sinnvoll ist es auf jeden Fall ein QEMU Overlay Image anzulegen und zu nutzen, um das konvertierte System in seinem Zustand zu konservieren.
Links¶
QEMU - Übersicht über QEMU/KVM im Wiki
Dualboot-Windows virtualisieren - Virtualisierung mit Virtualbox