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
disk2vhd
konvertieren (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-image
in 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
lsbkl
den Namen herauszufinden.)Sobald das System bootet, die Esc -Taste drücken um in das Boot-Menü zu gelangen. Sollte das System nach
grub rescue
booten, 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 Befehlbootrec
zur Verfügung hat. Sollte das nicht der Fall sein, bitte den folgenden Schritt überspringen.Jetzt wird eine original Windows-7-DVD benötigt (
bootrec.exe
wird nicht auf der Microsoft-Webseite zur Verfügung gestellt, ist aber in jedem Windows-7-ISO enthalten): Im QEMU-Monitor SuperGRUB-CD/DVD auswerfen undchange
zur Windows-DVD. Auf der DVD\sources\boot.wim
mit 7Zip öffnen (oder einem anderen Tool, das WIM-Dateien lesen kann).bootrec.exe
befindet sich im Verzeichnis\1\Windows\System32
-bootrec.exe
extrahieren und speichern auf C:.Nun nacheinander die Befehle
bootrec /fixmbr
undbootrec /fixboot
ausführen. Bitte weiterhin darauf achten, dass weitere Windows-Treiber-Installationen erfolgreich beendet werden bevor das System mitshutdown /s /t 0
heruntergefahren 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