koloth
Chef-Hypochonder
[Windows XP] Systempartition kopieren
Problem:
Während das Kopieren der kompletten Startpartition (normalerweise Laufwerk C) auf eine neue Festplatte unter früheren Windows-Betriebssystemen kein Problem war, so kann das unter XP zu einem richtigen Problem werden.
Will man den PC nämlich nur noch mit der neuen Platte betreiben und von der neuen Platte booten, bleibt dieser in sehr vielen Fällen beim Startbildschirm von Windows XP hängen.
1. Lösung (weniger elegant):
Wenn man die alte Festplatte zusätzlich zu der neuen in den PC einbaut, klappt das Booten von der neuen Platte plötzlich wieder.
Warum ist das so?
NT-basierte Systeme arbeiten intern nicht mit Laufwerksbuchstaben sondern mit IDs. Ähnlich Linux mit den Mountpoints.
XP bezieht nun zusätzlich die Festplatte in diese ID auf irgendeine Weise mit ein.
Deswegen bekommt eine Partition auf einer neuen Festplatte plötzlich eine neue ID, während diese unter NT4 und 2000 unverändert blieb. Diese ID ist dem System bisher aber noch nicht bekannt, deshalb weist XP dann dieser automatisch den nächsten freien Laufwerksbuchstaben zu. Das gilt auch für weitere neu angelegte Partitionen.
Nach einem Festplattentausch stimmt jetzt die ID für C nicht mehr und trotz eigentlich korrekt kopierter Systempartition bleibt die Kiste stehen.
Zumindest, solange schon andere Software auf C installiert wurde. Wenn man XP direkt nach der Neuinstallation kopiert, klappt es weiterhin. Nur muss man dann in Zukunft mit der neuen Platte auf C verzichten, das gibt es dann nicht mehr.
Beispiel:
C: (Start-Partition auf alter HDD)
D: (Programm-Partition auf der alten HDD)
E: (DVD-ROM)
F: (DVD-RW)
Kopiert man nun die Start-Partition auf eine neue Festplatte, dann wird diese dort zu G (falls G vorher noch nicht vergeben wurde).
Und deswegen hängt es dann, wenn man die alte Platte wieder ausbaut. XP allein ist das egal, es benutzt ja keine Laufwerksbuchstaben. Aber normale Anwendungen scheitern genau an diesem Punkt.
Sobald vor der Kopieraktion eine Anwendung installiert wurde, die in der Registry Einträge nach C vorgenommen hat und später werden irgendwelche Daten von C:\Programmname\ geladen, hängt Windows beim starten. Das kann auch ein Treiber sein, der auf "C:\ATI" oder so liegt.
Also muss man XP dazu bringen, intern irgendwie aus dem "G" wieder ein "C" zu machen.
Ein Umbenennen der neuen Systempartition in C über die Datenträgerverwaltung (Systemsteuerung / Verwaltung / Computerverwaltung) klappt nicht. Das wird von XP verweigert.
2. Lösung:
Man muss die Zuordnung von Hand ändern.
In der Registry unter dem Schlüssel HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices findet man eine Auflistung, welcher DOS-Laufwerksbuchstabe welcher ID zugeordnet ist.
Man muss also die ID (den komplette Hex-Wert) von Laufwerk C mit der ID (kompletter Hex-Wert) der neuen Bootpartition (im oberen Beispiel also G) vertauschen bzw. umändern.
Vorsicht:
Das muss man unbedingt für alle vorhandenen Schlüssel MountedDevice1, 2, etc. machen.
Nach einem Neustart ist auf diese Weise aus dem internen G ein internes C geworden und nicht nur Windows sondern auch die Anwendungen können jetzt damit arbeiten.
Summary:
Während der kompletten Änderung (also dem Fummeln in der Registry) bleibt die alte Startpartition unangetastet, da XP ja von der neuen gebootet hat und man dort die Änderungen vorgenommen hat.
Falls also was schief gegangen ist, muss man es "nur" wiederholen, diesmal aber richtig.
Edit: Tappfuhler beseitigt
Edit: Diese Hinweise versucht einzuarbeiten.
Problem:
Während das Kopieren der kompletten Startpartition (normalerweise Laufwerk C) auf eine neue Festplatte unter früheren Windows-Betriebssystemen kein Problem war, so kann das unter XP zu einem richtigen Problem werden.
Will man den PC nämlich nur noch mit der neuen Platte betreiben und von der neuen Platte booten, bleibt dieser in sehr vielen Fällen beim Startbildschirm von Windows XP hängen.
1. Lösung (weniger elegant):
Wenn man die alte Festplatte zusätzlich zu der neuen in den PC einbaut, klappt das Booten von der neuen Platte plötzlich wieder.
Warum ist das so?
NT-basierte Systeme arbeiten intern nicht mit Laufwerksbuchstaben sondern mit IDs. Ähnlich Linux mit den Mountpoints.
XP bezieht nun zusätzlich die Festplatte in diese ID auf irgendeine Weise mit ein.
Deswegen bekommt eine Partition auf einer neuen Festplatte plötzlich eine neue ID, während diese unter NT4 und 2000 unverändert blieb. Diese ID ist dem System bisher aber noch nicht bekannt, deshalb weist XP dann dieser automatisch den nächsten freien Laufwerksbuchstaben zu. Das gilt auch für weitere neu angelegte Partitionen.
Nach einem Festplattentausch stimmt jetzt die ID für C nicht mehr und trotz eigentlich korrekt kopierter Systempartition bleibt die Kiste stehen.
Zumindest, solange schon andere Software auf C installiert wurde. Wenn man XP direkt nach der Neuinstallation kopiert, klappt es weiterhin. Nur muss man dann in Zukunft mit der neuen Platte auf C verzichten, das gibt es dann nicht mehr.
Beispiel:
C: (Start-Partition auf alter HDD)
D: (Programm-Partition auf der alten HDD)
E: (DVD-ROM)
F: (DVD-RW)
Kopiert man nun die Start-Partition auf eine neue Festplatte, dann wird diese dort zu G (falls G vorher noch nicht vergeben wurde).
Und deswegen hängt es dann, wenn man die alte Platte wieder ausbaut. XP allein ist das egal, es benutzt ja keine Laufwerksbuchstaben. Aber normale Anwendungen scheitern genau an diesem Punkt.
Sobald vor der Kopieraktion eine Anwendung installiert wurde, die in der Registry Einträge nach C vorgenommen hat und später werden irgendwelche Daten von C:\Programmname\ geladen, hängt Windows beim starten. Das kann auch ein Treiber sein, der auf "C:\ATI" oder so liegt.
Also muss man XP dazu bringen, intern irgendwie aus dem "G" wieder ein "C" zu machen.
Ein Umbenennen der neuen Systempartition in C über die Datenträgerverwaltung (Systemsteuerung / Verwaltung / Computerverwaltung) klappt nicht. Das wird von XP verweigert.
2. Lösung:
Man muss die Zuordnung von Hand ändern.
In der Registry unter dem Schlüssel HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices findet man eine Auflistung, welcher DOS-Laufwerksbuchstabe welcher ID zugeordnet ist.
Man muss also die ID (den komplette Hex-Wert) von Laufwerk C mit der ID (kompletter Hex-Wert) der neuen Bootpartition (im oberen Beispiel also G) vertauschen bzw. umändern.
Vorsicht:
Das muss man unbedingt für alle vorhandenen Schlüssel MountedDevice1, 2, etc. machen.
Nach einem Neustart ist auf diese Weise aus dem internen G ein internes C geworden und nicht nur Windows sondern auch die Anwendungen können jetzt damit arbeiten.
Summary:
- Systempartition kopieren (Ghost, Partition Magic, etc.)
- Von der neuen Platte booten, die alte muss aber noch angeschlossen sein.
- Nachschauen, welchen Buchstaben die neue Systempartition bekommen hat.
- In der Registry die IDs (Hex-Werte) tauschen.
- Rechner ausschalten.
- Alte Platte ausbauen (oder nicht, ist egal).
- Fun haben.
Während der kompletten Änderung (also dem Fummeln in der Registry) bleibt die alte Startpartition unangetastet, da XP ja von der neuen gebootet hat und man dort die Änderungen vorgenommen hat.
Falls also was schief gegangen ist, muss man es "nur" wiederholen, diesmal aber richtig.
Edit: Tappfuhler beseitigt
Edit: Diese Hinweise versucht einzuarbeiten.
Zuletzt bearbeitet: