Vor längerer Zeit hatte ich das große Vergnügen mich mit den verschiedenen Linux Partitionierungstools zu beschäftigen. Die getestete Auswahl beschränkte sich dabei auf:

  • GNU Parted
  • fdisk
  • gdisk
Und bevor gefragt wird: Alle Versionen waren auf dem aktuellen Stand, Arch Linux sei Dank. Generell lässt sich die Erkenntnis aus diesem Artikel aber auch auf andere Distributionen oder Versionen übertragen.

Ausgangslage

Es wurden die Daten von einer SSD mit 256GB auf eine mit 250GB kopiert, das Dateisystem wurde vorher natürlich entsprechend verkleinert, sodass alle nützlichen Daten auch zur neuen Plattengröße passen.

Kurzfassung:

sudo -i
e2fsck -f /dev/sda3
resize2fs /dev/sda3 200G
dd if=/dev/sda of=/dev/sdb
Der naive Ansatz war jetzt einfach die Zielplatte bei der Partitionierung etwas anzupassen, doch hier hatten die unterschiedlichen Partitionierungsprogramme verschiedene Meinungen.

fdisk

Der erste Versuch war fdisk, dieser ging ordentlich in die Hose. Denn bedingt durch GPT wurde nur eine pseudo Partition erkannt, welche die komplette Platte umfasst.

An dieser Stelle möchte ich erwähnen: Das gute alte fdisk ist mittlerweile ein gefährliches Werkzeug geworden, es kann mit GPT Partitionstabellen die man heute (denkt hier an UEFI) oft vorfindet, nicht richtig umgehen. Wer hier an dem was er damit findet, rumspielt gefährdet somit seine Daten. Je nach fdisk Version kann das Ergebnis hier sehr unterschiedlich ausfallen.

Achtung: Auch cfdisk ist hier keine gute Idee, also Finger weg von Tools, die kein GPT kennen oder damit nicht richtig umgehen können.

parted

Auch parted wollte mit der Kopie der Platte nicht wirklich arbeiten, denn natürlich ging die GPT der alten Platte von einer anderen Plattengröße aus. Das brachte parted, welches ja als Allround Tool konzipiert ist, durcheinander.

gdisk

Das, wenn auch altmodische, da sehr fdisk ähnlich, gdisk macht seinen Job wie gewünscht. Unter Angabe der richtigen Zielplatte aufgerufen hat es sofort erkannt, was Sache ist. Konkret passte die GPT-Größe nicht mehr zur Plattengröße und die letzte Partition ragte etwas über das Ende der Platte hinaus.

Beides konnte gut behoben werden, anschließend die Änderungen speichern und alles ist wieder gut.

Fazit

Wer heute partitioniert, will mindestens parted, da dort zumindest (manchmal auch nur theoretisch) die Chance besteht, eine Partitionstabelle unabhängig vom Typ zu bearbeiten. Es fällt nicht sofort bei GPT auf die Nase und ist dank diverser Frontends recht frustrationsfrei benutzbar. Es lohnt sich bei Problemen mit der Partitionierung auch mal einen Blick auf andere Tools zu riskieren, vor allem wenn einem die Ausgabe komisch vorkommt.

Abgesehen davon warnt parted auch sehr brauchbar vor Partition misalignment, was für die Performance gerade bei SSDs sehr hilfreich ist.

Zuletzt gilt das alte Leitmotto: Das richtige Werkzeug für die richtige Arbeit, wer also GPT verwenden möchte, nimmt dafür auch bevorzugt gdisk, das spart Ärger, Zeit und rettet im Zweifelsfall deine Daten ;)