2008-06-19

Festplatte mit pdisk partitionieren

Festplattendienstprogramm-Symbol

Mac OS 10.4.2: Man verliert den Inhalt aller Partitionen einer Platte, wenn man mit dem Festplattendienstprogramm (engl. Disk Utility) etwas an der Partionionierung einer Platte ändert. Ein entsprecheneder Warnhinweis wird vom Disk Utility ausgegeben. Dies schmälert der Nutzen von Partitionen auf dem Mac leider ganz enorm.

Wer die Kommandozeile (also das Programm Terminal) nicht scheut, kann sich mit dem Kommando pdisk von der Installations-DVD helfen. Dazu bootet man die Installations-DVD entweder direkt in den Single-User-Mode (Apfel+S) beim booten oder wartet bis der OS X Installer erscheint. Wird der Installer angezeigt kann man aus den Menüs das Festplattendienstprogramm und das Terminal starten.

Wählt man den Weg ohne Single-User-Mode muss man zusätzlich folgende Schritte vornehmen:

  1. Das Festplattendienstprogramm starten.
  2. Vorhandene Partitionen auf der zu formatierenden Platte zu deaktivieren (engl. unmount).
  3. Festplattendienstprogramm schließen => Installer wird wieder angezeigt
  4. Terminal aus dem Menu des Installers starten.

Jetzt kann man pdisk in die Kommandozeile eingeben, um es zu starten. ... Fortsetzung folgt.

"Laufwerke konfigurien" und das "Festplattendienstprogramm" bzw. "Disk Utility" löschen beim ändern der Partitionierung die gesamte Platte. Man muss also vorher alle Daten sichern, die man behalten will.

Das Terminal-Kommado pdisk erlaubt hingegen weniger destruktive "chirugische" Eingriffe. Dazu startet man den Mac am besten von einer möglichst neuen Mac OS X Installations CD im Single-User-Modus (Apfel-S beim booten gedrückt halten). Zum Üben reicht aber auch die Eingabe von "sudo pdisk" im Terminal — nur kann man dann noch nichts dauerhaft verändern. Nach Eingabe von pdisk kann man dann durch Eingabe von ? dann eine Liste der verfügbaren pdisk-Kommandos anzeigen lassen:

Commands are:
h
L
e
q
print help
list all devices' maps
edit device's map
quit the program
... (gekürzt)

Am besten lässt man sich jetzt mit L eine Liste aller Partitionstabellen (maps) ausgeben, um die richtige Platte zu finden:

/dev/rdisk0 map block size=512
#:type namelength base ( size )
1: Apple_partition_map Apple63@ 1
2:Apple_Driver43*Macintosh56@ 64
3:Apple_Driver43*Macintosh56@ 120
4:Apple_Driver_ATA*Macintosh56@ 176
5:Apple_Driver_ATA*Macintosh56@ 232
6:Apple_FWDriver Macintosh512@ 288
7:Apple_Driver_IOKit Macintosh512@ 800
8:Apple_Patches Patch Partition512@ 1312
9:Apple_HFS Swap11572864@ 1824 (768.0M)
10:Apple_HFS Macintosh HD16777216@ 1574688 ( 8.0G)
...
pdisk: can't open file '/dev/rdisk1' (No such file or directory)
pdisk: can't open file '/dev/rdisk2' (No such file or directory)
pdisk: can't open file '/dev/rdisk3' (No such file or directory)
... (gekürzt)

Anhand der Spalte name kann man sehr gut sehen welches die zu bearbeitende Platte ist. Freier Platz wird als Apple_Free angezeigt. In diesem Beispiel wird nur eine (die interne Platte) angezeigt. Sie hat den Gerätenamen /dev/rdisk0.

Um die Partitionstabelle dieser Platte zu editieren gibt man e /dev/rdisk0 ein. Wenn man jetzt wieder ? eingibt erhält man eine Liste der im Editier-Modus zulässigen Kommandos:

Commands are:
h print help
p print the partition table
i initialize partition map
C (create with type also specified)
d delete a partition
w write the partition table
q quit editing (don't save changes)
...
(gekürzt)

Jetzt könnte man zum Beispiel die Partition 10 (Macintosh HD) durch Eingabe von d 10 löschen und durch zwei halb so große Partitionen ersetzen. Beim Erstellen einer neuen Partition mit gross C werden die benötigten Daten abgefragt:

First block: 10p
Length in blocks: 4G
Name of partition: HD-Eins
Type: Apple_HFS
10p steht für den Anfang der ehemaligen Partition "Macintosh HD" (jetzt Apple_Free).
4G steht für 4 GB (Gigabyte). Wenn man genau bis zum Ende des freien Bereichs (Apple_Free) gehen will listet man am besten die Partitionstabelle mit p und gibt die in der Spalte length bei Apple_Free angegebene Länge in Blöcken ein (z.B. 8388608).
HD-Eins ist einfach irgend ein Name (label) für die Partition (muss nicht den Volumnenamen entsprechen der beim Initialisieren/Formatieren vergeben wird).
Apple_HFS steht für die Art der Partition und erleichert das Initialisieren

Dann überprüft man mit p, ob alles stimmt und schreibt die neue Partitionstabelle mit w. Erst nach dem schreiben mit w gehen die Daten auf der gelöschten Partition verloren. Bis dahin kann man durch drücken von q immer wieder zurück. Zum verlassen von pdisk gibt man 2-mal q ein.

Dannach kann man dann die Platte dann mit dem entsprechenden Menüpunkt im Aktualisierer einer Installation-CD formatieren (Volume löschen). Hat man noch eine andere bootbare Partition/Platte kann man natürlich auch das Festplattendienstprogramm (Disk Utility) oder Laufwerke konfigurieren direkt verwenden.

Keine Kommentare: