Windows 10 Installation auf neue Hardware umziehen
Heute hatte ich das Vergnuegen, eine alte (wirklich alte) Windows 10 Installation auf neue Hardware umzuziehen und dann auf Windows 11 zu aktualisieren. War ein wenig kniffelig, aber immer noch schneller als alles neu zu installieren, zumal Software von Softwareanbietern installiert war, die nichts dokumentieren und sich selber eine goldene Nase daran verdienen, ihre Software umzuziehen.
Problemstellung⌗
Folgende Konstellation:
- alter Rechner: Fujitsu Tower mit Core-i 6.Gen, SATA-SSD mit MBR-Partitionierung
- neuer Rechner: Dell Pro mit Core-i 14.Gen, NVMe-SSD, keine Unterstuetzung fuer Start von MBR-Datentraegern
Zunaechst habe ich die Platte geklont. Das erspart mir ein zusaetzliches Backup und das late Geraet bleibt solange funktionsfaehig, bis der Umzug vollzogen ist. Wie man eine Platte klont, soll hier nicht naeher beschrieben werden, weil es da viele braucbare Wege gibt. Wichtig ist, dass die NVMe-SSD im neuen Rechner eine 1:1-Kopie der originalen SSD ist.
Nun gibt es einige Probleme zu loesen:
- Datentraeger nach GPT konvertieren
- Windows fuer den Start per UEFI vorzubereiten
- Treiber fuer die NVMe-SSD in das System einbauen
Datentraeger von MBR nach GPT konvertieren⌗
Die Umstellung des Datentraegers nach GPT ist eine einfache Sache. Man bemueht das Linux-Rettungssystem seines Vertrauens (z.B. https://www.grml.org). Dort verwenden wir gdisk:
gdisk /dev/nvme0n1
GPT fdisk (gdisk) version 1.0.10
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!
Warning: Invalid CRC on main header data; loaded backup partition table.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!
Warning! One or more CRCs don't match. You should repair the disk!
Main header: ERROR
Backup header: OK
Main partition table: ERROR
Backup partition table: OK
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer:
Die Antwort lautet hier (1). Danach kann man mit ‘w’ die Aenderungen speichern. Gdisk hat den Datentraeger konvertiert. Damit waere der erste Punkt erledigt. Danach starten wir das System von einem Windows-Installationsdatentraeger. Dabei ist es erstmal egal, ob Windows 10 oder Windows 11.
Treiber laden und in’s Windows Image injizieren⌗
Um die Treiber fuer die NVMe-SSd zu laden und in’s System zu integrieren, muessen selbige in entpackter Form vorliegen. Und natuerlich fuer die Version des Betriebssystems, die genutzt wird. Es ist also einfacher Windows 10 als Rettungssystem zu verwenden, dann benoetigt man auch erstmal nur die Windows 10 Treiber. Wenn man fuer das das Rettungssystem Windows 11 benutzt, benoetigt man halt beide Treiberversionen.
- Windows 10 vom USB-Stick oder einer DVD starten
- “Computerreparaturoptionen” auswaehlen
- “Problembehandlung” auswaehlen
- “Eingabeaufforderung auswaehlen”
X:\sources\> diskpart
DISKPART> list disk
Wenn hier nur ein Datentraeger angezeigt wird, ist das vermutlich das USB-Laufwerk von dem das Rettungssystem gestartet wurde. Hier muss jetzt der Treiber fuer das NVMe-Laufwerk geladen werden:
drvload <kompletter Pfad zur inf-Datei des Treibers>
Danach ist in diskpart auch der Datentraeger zu finden. Leider hat sich in meinem Fall der USB-Stick den Laufwerksbuchstaben C: geschnappt. Der muss erstmal verlegt werden:
X:\sources\> diskpart
DISKPART> list vol
Bei mir ist das Volume 1 das USB-Laufwerk. Wir entfernen den Laufwerksbuchstaben und weisen einen anderen zu:
DISKPART> sel vol 1
DISKPART> remove letter=c:
DISKPART> assign letter=T:
Dann suchen wir uns das Windows-Volume raus:
X:\sources\> diskpart
DISKPART> list vol
Bei mir Volume 4. Wir entfernen den Laufwerksbuchstaben und weise Laufwerk C: fuer das Windows-Laufwerk zu:
X:\sources\> diskpart
DISKPART> sel vol 4
DISKPART> remove letter=F:
DISKPART> assign letter=C:
Jetzt erzeugen wir eine EFI-Partition. Unter Umstaenden, muss die Windows Partition verkleinert werden, fuer den Fall, dass nicht genug Platz auf der neuen Platte ist (weil sie exakt die gleiche Groesse wie das Original hat). Diesen Schritt kann man auslassen, wenn die neue Platte (wie in meinem Fall) etwas groesser ist, wie das Original.
DISKPART> sel vol 4
DISKPART> shrink minimum=500 desired=500
Danach erzeugen wir eine EFI-Partition:
DISKPART> create partition efi size=500
DISKPART> select part <Nummer der EFI-Partition>
DISKPART> format fs=fat32
DISKPART> assign letter=b:
DISKPART> exit
In der Windows-Eingabeaufforderung erzeugen wir dann die Startdateien:
mkdir b:\EFI
mkdir b:\EFI\Microsoft
cd /d b:\EFI\Microsoft
bcdboot c:\windows /l de-de /s b: /f ALL
Und den Laufwerksbuchstaben wieder von der EFI-Partition entfernen:
DISKPART> sel disk <Systemlaufwerk>
DISKPART> sel <Nummer der EFI-Partition>
DISKPART> remove letter=b:
Windows-Treiber in die Installation einbauen⌗
Zu guter Letzt muessen die Treiber, insbesondere fuer den NVMe-Datentraeger, in das Windows-System eingebaut werden, weil es sonst nicht starten kann. Wenn man die Treiberdateien fuer den neuen Rechner ausgepackt hat, kann man auch alle mit einmal einpflegen:
DISM /Image:C:\ /Add-Driver:t:\driverpacks\dell_pro_qcs1250\win10\unpacked /recurse
Das funktioniert nicht wenn man die Treiber in ein laufendendes System installieren will.
Das dauert einen Moment und installiert bei mir ca. 260 Pakete. Dabei sind dann auch alle anderen Treiber, sodass das Geraet nach dem Neustart direkt einsatzbereit ist.
abschliessende Arbeiten⌗
Unter Umstaenden muss man im BIOS jetzt noch einen Eintrag fuer den Windows-Bootmanager erstellen:
Dazu erstellt man einen Eintrag, der direkt in der EFI-Partition das File \EFI\BOOT\BOOTX64.efi startet. Je nach BIOS muss man schauen, wo das geht.
Danach startet das Geraet ganz normal in Windows 10. Man wirft jetzt einfach wie gewohnt das Windows 11 Update an. Ggf. noch Software, die spezifisch fuer das alte System ist, deinstallieren und Dell Command Update installieren.