Datenträger im Terminal unter macOS formatieren

Ab und an, bietet es sich an einen Boot-Stick, z.B. für die Linux-Distribution seiner Wahl zu erstellen. Problematisch wird es, wenn versucht wird diesen über das Festplattendienstprogramm unter macOS wieder zu formatieren. Dann kann es durchaus zu Fällen kommen, in denen dies nicht mehr möglich ist. Hier bietet es sich dann an den Datenträger im Terminal zu formatieren. Im ersten Schritt muss dazu ermittelt werden, wie der konkrete Datenträger angesprochen werden muss:

diskutil list

Im Normalfall wird ein Gerät mit den Attributen external und physical gesucht:

/dev/disk14 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *62.9 GB    disk14
   1:       Microsoft Basic Data                         6.3 GB     disk14s1
   2:                        EFI ESP                     5.2 MB     disk14s2
   3:       Microsoft Basic Data                         307.2 KB   disk14s3
   4:           Linux Filesystem                         56.6 GB    disk14s4

Wurde das Gerät gefunden, kann der Datenträger ausgehängt werden:

diskutil unmountDisk /dev/disk14

Anschließend kann die eigentliche Formatierung gestartet werden:

diskutil eraseDisk ExFAT USB GPT /dev/disk14

Mit ExFAT wird in diesem Fall das Dateisystem, mit USB der Name und mit GPT das Partitionsschema definiert. Nach einer kurzen Wartezeit sollte die Formatierung dann abgeschlossen sein:

Started erase on disk14
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk14s2 as ExFAT with name USB
Volume name      : USB
Partition offset : 411648 sectors (210763776 bytes)
Volume size      : 122466304 sectors (62702747648 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset       : 2048 sectors (1048576 bytes)
# FAT sectors    : 4096
Number of FATs   : 1
Cluster offset   : 6144 sectors (3145728 bytes)
# Clusters       : 478360
Volume Serial #  : 697b38bb
Bitmap start     : 2
Bitmap file size : 59795
Upcase start     : 3
Upcase file size : 5836
Root start       : 4
Mounting disk
Finished erase on disk14

Datenträger mittels diskpart bereinigen

Ist ein Datenträger seltsam partitioniert, kann dies zu Problemen führen. Unter Umständen kann er dann auch nicht mehr über etwaige grafische Werkzeuge des Betriebssystems formatiert werden. Unter Windows kann sich bei einem solchen Problem mit der Kommandozeile und dem Werkzeug diskpart beholfen werden.

diskpart bereinigt den Datenträger

Nachdem die Kommandozeile geöffnet wurde, kann diskpart über den gleichnamigen Befehl gestartet werden. Über den Befehl:

list disk

können die aktiven Datenträger eingesehen und anschließend mittels:

select disk 1

ein Datenträger ausgewählt werden. Mittels des Befehls:

clean

kann der Datenträger nun bereinigt werden. Anschließend kann der Datenträger über die Befehle:

format fs=exfat quick
assign

formatiert und einem Laufwerksbuchstaben zugewiesen werden.

Punkt-Dateien unter macOS löschen

Unter macOS werden Dateien mit beginnend einem Punkt angelegt, welche z. B. auf USB-Datenträgern bestimmte Metadaten enthalten, welche von macOS genutzt werden. Das Problem ist, das sie unter Umständen störend sein können und für die Nutzung unter anderen Betriebssystemen entfernt werden sollen. Dazu gibt es unter macOS den Befehl dot_clean. Dieser kann im Terminal ausgeführt werden:

dot_clean -m /Volumes/Data

Nachdem der Vorgang beendet ist, würden alle entsprechenden Punkt- / Unterstrich-Dateien, für welche der aktuelle Nutzer über Berechtigungen verfügt, entfernt.

Problematische USB-Sticks unter Windows formatieren

Manchmal kann ein USB-Stick unter Windows nicht mit den grafischen Bordmitteln formatiert werden. Dies kann auftreten, wenn auf dem USB-Stick mehrere Partitionen vorhanden sind. In einem solchen Fall kann auf die Kommandozeile und das Werkzeug diskpart zurückgegriffen werden.

Die Kommandozeile unter Windows

Mithilfe dieses Werkzeuges können bestehende Partitionen gelöscht und der USB-Stick neu initialisiert werden. Dazu muss die Kommandozeile gestartet werden und der Befehl diskpart eingegeben werden. Anschließend müssen die vorhandenen Datenträger ermittelt werden:

list disk

Das Kommando listet dabei die angeschlossenen Datenträger auf:

  Datenträger ###  Status         Größe    Frei     Dyn  GPT
  ---------------  -------------  -------  -------  ---  ---
  Datenträger 0    Online         3953 GB    12 MB        *
  Datenträger 1    Online         7450 MB  3263 MB        *

Mithilfe der Auflistung kann der korrekte Datenträger ausgewählt werden:

select disk 1

Im letzten Schritt muss der Datenträger bereinigt und mit einer neuen Partition versehen werden:

clean
create partition primary

Nachdem der Vorgang abgeschlossen wurde, kann diskpart mittels exit verlassen werden und der Stick normal formatiert werden.

Partitionierung auf dem Terminal unter macOS

Für macOS war ich auf der Suche nach einem Tool für die Partitionierung von Datenträgern, welches sich für die Nutzung im Terminal eignete. Am liebsten wäre mir eine Variante von cfdisk gewesen, welches durch die einfache Bedienung glänzt. fdisk auf dem Terminal ist in vielen Fällen doch etwas zu spartanisch. Fündig geworden bin ich schlussendlich bei gptfdisk, welches über den Paketmanager Homebrew installiert werden kann:

brew install gptfdisk

Mit diesem Paket werden drei Anwendungen installiert: gdisk, sgdisk und cgdisk. Während die ersten beiden Anwendungen reine Kommandozeilentools sind, verfügt cgdisk über eine interaktive Oberfläche.

cgdisk ist ein Clone von cfdisk

Nach dem Aufruf der Anwendung mit dem passenden Laufwerk:

sudo cgdisk /dev/disk4

können die entsprechenden Operationen und Aktion über das Menü vorgenommen werden. Nach dem Abschluss der Operationen kann der Nutzer die Änderungen über das Write-Kommando auf die Festplatte schreiben und anschließend das Programm beenden.