Wenn man versucht, ein älteres System auf neue Hardware zu klonen, stellt man oft fest, dass Windows anschließend nicht mehr bootet. Dies liegt daran, dass die neue Hardware eine andere Firmware verwendet.
Moderne PCs sind heutzutage alle mit UEFI-Firmware ausgestattet, während ältere Modelle ein klassisches BIOS (Legacy) verwenden. Zudem unterstützen neuere PCs oft kein CSM mehr, das zur Ausführung von Legacy-Bootloadern erforderlich ist. Die einzig zukunftssichere Lösung ist daher die Nutzung des UEFI-Standards.
Je nach Windows-Version kann sich das Partitionsschema abweichen. Zunächst müssen wir rausfinden, wo liegt eigentlich was. Im Grunde gibt es 3 Konfigurationen:
Wie der Name schon verrät werden hier alle Informationen auf eine Partition gespeichert. Diese Konfiguration findet man z.B. bei Windows XP.
Diese Konfiguration ähnelt der ersten, jedoch ist hier der Bootloader getrennt von der Windows-Partition.
Dies ist die wohl bekannteste Konfiguration. Hier wird der Bootloader, sowie das Recovery Environment von der Windows-Partition getrennt.
In diesem Szenario gehen wir davon aus, dass das alte Betriebssystem bereits auf das neue Gerät geklont wurde. Alle weiteren Schritte müssen aus einem Live-System erfolgen (z.B. Windows PE).
Benötigte Software:
Unser Ziel ist es, die Multi Partition
-Konfiguration anzuwenden. Starte hierfür das Partitionstool (hier nutze ich MiniTool).
Mache ein Rechtsklick auf den Datenträger und wähle MBR zu GPT konvertieren
aus.
Nun lege die Partitionen so an, sodass es dem Multi Partition
-Schema von oben gleicht. Die Legacy-Boot-Partition kann ohne Probleme gelöscht werden. Die EFI-Partition muss als FAT32
formatiert werden. Bei der MSR-Partition lässt du die unformatiert. Windows- sowie die Recovery-Partition müssen als NTFS
formatiert sein.
Sollte bereits eine Recovery-Partition existieren, dann lasse diese unberührt.
Nun müssen wir die Partitionstypen ändern. Hierfür verwenden wir Diskpart. Öffne CMD und gebe ein: diskpart
.
Zunächst müssen wir die Datenträger-ID herausfinden. Gebe hierzu list disk
ein und notiere dir den Wert.
Gebe nun select disk #
ein (ersetze # mit der ID) und anschließend list part
. Nun sollten alle Partitionen erscheinen.
Hier müssen wir nun die Partition-ID ändern. Für jede Partition gibt es eine eigene GUID.
Partition | GUID |
---|---|
EFI | c12a7328-f81f-11d2-ba4b-00a0c93ec93b |
MSR | e3c9e316-0b5c-4db8-817d-f92df00215ae |
Recovery | de94bba4-06d1-4d40-a16a-bfd50179d6ac |
Makiere die Partition mit select part #
und ändere die ID mit set id=#
. Anschließend kannst du Diskpart beenden.
Nun kommt BCDBoot in Einsatz. Öffne CMD und gebe den folgenden Befehl ein:
bcdboot C:\Windows /s D: /f UEFI
Ändere C:\Windows
zu dem Pfad zum Windows-Ordner und D:
zum Pfad zur EFI-Partition.
Ignoriere diesen Teil, wenn du am Anfang keine Wiederherstellungspartition erstellt oder modifiziert hast.
Zunächst benötigen wir das Windows-RE Abbild. Je nachdem wie die Partitionen im Auslieferungszustand erstellt wurden, liegt das Abbild an einer anderen Stelle.
Bei einer Single Partition oder Separate Boot Partition liegt die Datei unter C:\Windows\System32\Recovery\Winre.wim
.
Wenn es eine separate Wiederherstellungspartition gibt, dann liegt diese Datei unter <Recovery-Partition>:\Recovery\WindowsRE\Winre.wim
.
Existiert das Abbild nicht mehr? Im Zweifel kannst du auch aus einer Windows-ISO das Abbild extrahieren.
Nutze dafür 7-Zip (oder ein anderes Archivierungsprogramm) und öffne folgenden Pfad:
\Sources\install.wim\<Index>\Windows\System32\Recovery\Winre.wim
\Recovery\WindowsRE
.WindowsRE
.:: Ersetze <Recovery-Partition> mit dem Laufwerksbuchstaben der Wiederherstellungspartition.
attrib +s +h <Recovery-Partition>:\Recovery
attrib +s +h <Recovery-Partition>:\Recovery\WindowsRE
attrib +s +h <Recovery-Partition>:\Recovery\WindowsRE\Winre.wim
reagentc /setreimage /path <Recovery-Partition>:\Recovery\WindowsRE\Winre.wim /target <Windows-Partition>:\Windows
reagentc /enable
.reagentc /info
.