Aktuelles

[Guide] [mini Guide][VM][QEMU/KVM] Win10 mit BIOS zu Win11 mit UEFI

2Stoned

Enthusiast
Thread Starter
Mitglied seit
15.12.2006
Beiträge
230
Ort
Erde
Ich hatte Lust Windows 11 in einer VM auszuprobieren, wollte aber direkt meine Windows 10 VM nutzen und diese updaten. Hierzu gab es einige Steine aus dem Weg zu räumen. Im Folgenden kurz und knapp was ich hierfür zu tun hatte:

Ich arbeite mit dem Virtual Machine Manager mit QEMU/KVM auf manjaro (Arch). Meine Windows 10 VM hat eine 50 GB VirtIO Disk,
Code:
Q35
als Chipset und
Code:
BIOS
als Firmware. Um das Windows 11 Update anstossen zu können, waren ein paar Anpassungen nötig:
  • Mehr Speicherplatz
  • MBR -> GPT
  • UEFI Firmware
  • TPM
Zunächst habe ich die VM geklont, quasi als Backup. Alle weiteren Schritte, habe ich mit dem Klon durchgeführt.

Festplatte zu klein​

Der PC Health Check von Windows hat moniert, dass ich mindestens 64 GB Speicher haben müsste. Also musste ich mein disk.img der VM entsprechend vergrössern:

Bash:
qemu-img resize /media/files/VMs/Win10-clone.img +20G

Dies hat das Terminal freundlich mit
Bash:
Image resized.
quittiert.

In der Windows VM selbst, habe ich dann mit dem Disk Manager die Partition vergrössert.

Partition Table von MBR zu GPT ändern​

Da Windows 11 secure boot voraussetzt, muss UEFI statt legacy BIOS verwendet werden. Da UEFI GPT als Partitionierungsschema verlangt, musste dies in der Windows 10 VM geändert werden. Dazu habe ich
Code:
CMD
mit Admin-rechten gestartet. Und mit
Bash:
mbr2gpt /validate /allowFullOS
erst einmal geschaut, ob auch alles klappen würde. Da ich auch hier eine positive Rückmeldung erhalten habe, habe ich mit
Bash:
mbr2gpt /convert /allowFullOS
dann die Konvertierung durchgeführt. Nach Abschluss dieser Prozedur, kann diese VM nun nur noch mit UEFI booten!

UEFI Firmware​

Da man im Virt-Manager die Firmware nicht mehr nachträglich ändern kann, habe ich kurzerhand eine neue VM erstellt - aber keine Neuinstallation vorgenommen, sondern bei "Choose how you would like to install the operating system"
Code:
Import existing disk image
gewählt. Dort wähle ich jetzt natürlich mein
Code:
Win10-clone.img
So arbeitet man sozusagen mit der "selben Festplatte", wo ja schon das Windows darauf installiert ist. Bevor man "Install" anklickt, sollte man noch den Haken setzen, dass man noch weitere Anpassungen vornehmen will. Standard wäre nämlich ein legacy BIOS als Firmware. Dort wählen wir jetzt aber
Code:
UEFI x86_64: /usr/share/edk2-ovmf/x64/OVMF_CODE.secboot.fd
Sollte dies nicht zur Verfügung stehen, muss man schauen, dass man das Paket
Code:
edk2-ovmf
installiert hat.

TPM​

Da man sich ja noch gerade im Setup der VM befindet, kann man hier auch gleich noch ein TPM v2.0 Modul als zusätzliche Hardware hinzufügen. Um TPM zu virtualisieren, muss das
Swift:
swtpm
Paket installiert sein.

Nun kann man das Setup abschliessen und die neue VM generieren. Diese sollte nun mit tianocore booten. Unter Windows kann man nun den Installations Assistenten runterladen, falls das Update nicht über das Windows Update angeboten wird.

Ich hoffe dieses kurze und knappe Tutorial ist der einen oder anderen hilfreich. Bei mir läuft nun Windows 11 soweit sauber.

PS: Ich war mich nicht so sicher, ob ich dies unter Windows oder Linux oder Software posten soll, da ich meine VMs unter Linux am laufen habe, aber in QEMU/KVM, also einer Software. Schlussendlich geht es aber darum, eine Windows 10 VM auf Windows 11 upzudaten.
 
Oben Unten