Windows-Boot Camp Partition umziehen bzw. clonen
So eine Boot Camp Partition kann ungeheuer praktisch sein. Natürlich werden die meisten Mac Benutzer nicht zugeben wollen, dass sie eine Windows Installation auf Ihrem Mac haben! Ich oute mich hier mal, als jemand mit Windows auf dem Mac. Zugegeben: oft verwende ich es nicht, aber für die Steuererklärung (jaja, dafür würde eine VM auch ausreichen) oder den gelegentlichen Spieleabend und die ist Boot Camp die einfachste Möglichkeit. Neulich habe ich mir eine neue SSD zugelegt, die alte war mir zu klein und außerdem sind die neuen Modelle noch mal ein Stückchen schneller. Mein OS X konnte ich sehr einfach via TimeMachine Backup auf die neue SSD bringen und gleich loslegen. Die Windowsinstallation aber wird vom TimeMachine Backup nicht eingeschlossen - schon gar nicht so, dass sie wiederherstellbar wäre.
Nun gibt es da das Programm Winclone der der Firma TwoCanoes, welches sich dem Umzug der Windowspartition auf einen anderen Mac annimmt. Ich selbst habe dieses Programm nicht versucht, man hört aber wenig schlechtes und viel gutes über das Programm und würde es daher empfehlen! Für zur Zeit 20 (Basic-Edition) bzw. 50 (Standard-Edition) Dollar kann der unbedarfte Anwender wenig falsch machen. Im folgenden zeige ich, wie der Umzug auch ohne Winclone klappen kann.
Aber Achtung: Wenn du noch nie auf der Unix-Kommandozeile gearbeitet hast und zumindest Grundlegend verstehst, was du tun sollst, wirst du sehr wahrscheinlich irgendwann nicht mehr weiter kommen. Oder schlimmt noch: dein System unbrauchbar machen. Ich gebe aus diesem Grund auch nur Stichpunkte, wie so ein Umzug bewerkstelligt werden kann und keine Schritt-für-Schritt Anleitung.
Bevor du beginnst, erstelle Unbedingt ein Backup deiner Daten!
Die benötigten Werkzeuge installieren
Du benötigst zwei Werkzeuge: die ntfsprogs als Bestandteil von ntfs-3g und das Tool gptsync. Anstatt der NTFS-Tools kannst du auch das im System bereits installierte dd
verwenden, die neue Partition muss dann aber gleich groß oder größer als die alte Partition (siehe unten) sein. Auch dauert das kopieren via dd
länger als mit ntfsclone
. gptsync
ist nicht zwingend notwendig, du kannst dir die benötigten Informationen auch via gpt show /dev/diskOLD
ermitteln und via fdisk
einen MBR analog zur GPT erstellen, jedoch ist gptsync um Welten einfacher und schneller. Zu guter letzt sei Angemerkt, dass auch der Boot Camp Assistent einen MBR analog zur GPT erstellt, jedoch später (etwa bei Änderungen am Partitionslayout) nicht aktualisiert.
ntfsprogs
Die Sammlung der ntfsprogs
ist Bestandteil von ntfs-3g. Ich habe ntfs-3g einfach via macports.org installiert, es gibt aber auch einen Installer aus 2010, der die Tools enthält.
gptsync
Ich habe mir den Source Code von GitHub geholt und das Tool via XCode selbst gebaut. Letztlich ist schon alles vorbereitet, man muss nur den Play-Button drücken und dann das binary links via Show in Finder anzeigen lassen und wegkopieren. Es gibt auch fertige binaries für OS X im Internet. Weg mag, kann sicherlich auch die nutzen.
NTFS Partition kopieren
Wenn alle Tools bereit sind, kann das kopieren beginnen. Wichtig: ich gehe im folgenden davon aus, dass Windows auf Slice 4 installiert ist. Bitte unbedingt vorher mit diskutil list
prüfen!
Zunächst bietet es sich an, das NTFS-Dateisystem soweit zu verkleinern wie möglich. Dadurch muss später weniger Übertragen werden. Die minimalgröße kann mit ntfsresize --info /dev/diskNs4
ermittelt werden, das verkleinern geschieht via ntfsresize --size xG|xM /dev/diskNs4
. Anschließend wird mit ntfsclone --force --overwrite /dev/diskOLDs4 /dev/diskNEWs4
das NTFS übertragen. So kann die neue Partition auch eine andere größe haben, als die ursprüngliche. Da Windows in einer Boot Camp Umgebung mit einem simuliertem BIOS ausgeführt wird und daher auf der Bootfestplatte nur das MBR-Partitionsschema akzeptiert, muss mit gptsync /dev/diskNEW
das bestehende GPT Partitionsschema als MBR Pendant angelegt werden. Werden später Partitionen verändert, sollte gptsync
erneut aufgerufen werden. Nun müssen wir noch den Bootblock der alten auf die Neue Festplatte kopieren dd if=/dev/diskOLD of=/dev/diskNEW bs=1 count=512
und die neue Windowspartition noch als active markieren:
fdisk -y -e /dev/diskNEW
flag 4
write
quit
Nun kann das Dateisystem auf die volle größe der neuen Partiton ausgeweitet werden ntfsresize -f /dev/diskNEW
und die Partition als legacy Bootpartition markiert werden:
bless --device /dev/diskNEWs4 --setBoot --nextonly
Theoretisch sollte sich Windows jetzt schon booten lassen, bei mir hat es aber noch nicht geklappt. Ich habe nun die Windows-Installations-DVD gestartet und alle per Kommandozeile Reparaturmaßnahmen ausgeführt (siehe Bootprobleme lösen).
Bootprobleme lösen
Microsoft stellt zum Glück ein paar Werkzeuge bereit, mit denen ein System wieder bootfähig gemacht werden kann. Es gibt auch einen machs-einfach-richtig-Knopf aber der scheitert z.B. daran, die Partition als aktiv zu markieren. Der Installer auf der Windows DVD lässt aber auch eine Kommandozeile öffnen, mit der die Reparatur manuell erfolgen kann.
Operating System not found
MBR fehlt/fehlerhaft. Neu schreiben mit Bootrec /fixMbr
ein blinkender Cursor erscheint
MBR wurde korrekt geschrieben, kann aber keine aktive Partition finden, um davon Stage2 zu laden.
1. Partition als aktiv markieren:
diskpart
list disk
select disk n
list partition
select partition n
active
exit
2. Bootblock der Partition aktualisieren:
Bootrec /fixBoot
Windows Bootloader erscheint, kein Windows wird geladen
BCD beschädigt oder nicht zum aktuellen Partitionslayout passend:
Bootrec /RebuildBcd
Hilft auch dies nicht, BCD löschen und komplett neu anlegen:
bcdedit /export C:\BCD_Backup
attrib c:\boot\bcd -s -h -r
ren c:\boot\bcd bcd.old
bootrec /RebuildBcd
Hinweis:
DeployStudio aktualisiert auch noch die NTFS Disk Geometrie. Ich glaube, das ist unnötig. Falls nicht mal einen Blick in deren Skript ntfsrestore.sh
werfen. Dort kann man nachvollziehen, wie das geht.
Author: oliver