Mit MBR2GPT Windows ohne Neuinstallation für UEFI vorbereiten.

Windows von BIOS auf UEFI migrieren


Um Windows mit minimalem Aufwand von einer “Legacy”/BIOS-Installation auf UEFI zu konvertieren stellt Microsoft seit dem “Creators Update” (1703) das Tool MBR2GPT zur Verfügung. Es ist damit nicht mehr nötig, Windows für die Konvertierung BIOS-UEFI neu zu installieren!

Das Tool übernimmt wie der Name bereits andeutet die Konvertierung einer Disk von Master Boot Record (MBR) auf GUID Partition Table (GPT). Außerdem wird im Rahmen des Konvertierungsprozesses die Systempartition verkleinert und eine EFI Systempartition angelegt.

Der Vorgang kann entweder in einer Windows PE Umgebung oder direkt im laufenden OS durchgeführt werden. Da es sich um einen tiefgreifenden Eingriff ins System handelt empfehle ich vorher, kritische Daten zu sichern!

Video-Tutorial

Microsoft Mechanics hat den Prozess in ein Demo-Video verpackt:

Play

Ablauf

Der folgende Ablauf hat sich für mich bewährt:

  1. Prüfen, ob die zu konvertierende Disk tatsächlich unter MBR läuft.
  2. Sichern der BitLocker Recovery-Keys.
  3. BitLocker pausieren.
  4. MBR2GPT im “Validate” Modus ausführen und auf Fehler prüfen.
  5. Die MBR2GPT Konvertierung ausführen.
  6. Den Rechner rebooten und dabei von BIOS (Legacy) auf UEFI (Native) wechseln. Ggf. gleich Secure Boot aktivieren.
  7. Wenn BitLocker nicht automatisch wieder startet die Datei ReAgent.xml im Verzeichnis <C:\Windows\System32\Recovery> in .bak umbenennen und BitLocker manuell starten.

Der Prozess lässt sich nicht zu 100% automatisieren, da man beim Reboot die Firmware-Settings manuell anpassen muss. Die einzelnen Schritte lassen sich aber gut mit PowerShell durchführen.

Systempartition prüfen

Den PartitionStyle der Systempartition mit Get-Disk prüfen:

Get-Disk | select Number,FriendlyName,OperationalStatus,PartitionStyle

Number FriendlyName          OperationalStatus PartitionStyle
------ ------------          ----------------- --------------
     0 KINGSTON SH103S3240G  Online            MBR

Bitlocker Key sichern

Den BitLocker Recovery Key wahlweise ins Active Directory oder das AAD/Intune Gerätekonto sichern:

$BLV = Get-BitLockerVolume -MountPoint "C:"

# Local AD
Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId

# Azure AD / Intune
BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId

MBR2GPT Validierung

Die Systempartition mit MBR2GPT validieren. Um das Tool im laufenden OS zu nutzen muss man den Parameter “/AllowFullOS” angeben.

Anhand der Log-Ausgabe sieht man auch schnell, ob man zB. vergessen hat, BitLocker vorher zu deaktivieren. ;)

C:\WINDOWS\system32> MBR2GPT.EXE /validate /allowfullos
MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Validation completed successfully

Partition konvertieren

Den MBR2GPT Konvertierungsvorgang durchführen:

C:\WINDOWS\system32> MBR2GPT.EXE /convert /allowfullos

MBR2GPT will now attempt to convert the default book disk.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!

MBR2GPT: Attempting to convert disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Trying to shrink the OS partition
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Adding recovery boot entry
MBR2GPT: Fixing drive letter mapping
MBR2GPT: Conversion completed successfully
Call WinReReapir to repair WinRE
MBR2GPT: Failed to update ReAgent.xml, please try to  manually disable and enable WinRE.
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!

Bitlocker Recovery Agent fixen

MBR2GPT versucht bei der Konvertierung grundsätzlich, die BitLocker Recovery Agents zu aktualisieren, funktioniert hat das bei meinen Clients jedoch nicht. Es ist daher nach dem Reboot nötig, die Datei ReAgent.xml umzubenennen und BitLocker manuell wieder zu starten.

Rename-Item -Path C:\Windows\System32\Recovery\ReAgent.xml -NewName ReAgent.bak
Resume-BitLocker -MountPoint "C:"