
Partitionierungssuite für GPT- und MBR-Festplatten, die interaktive und skriptbare Werkzeuge zum Erstellen, Ändern und Reparieren von Partitionstabellen bietet, einschließlich der Behebung beschädigter MBR-Strukturen.
GPT fdisk (auch bekannt als gdisk, cgdisk und sgdisk) und FixParts von Roderick W. Smith, [email protected]
Dieses Paket enthält den Quellcode für vier verwandte Festplattenpartitionierungsprogramme:
gdisk – Dieses Programm ist nach dem Vorbild von Linux fdisk gestaltet, arbeitet jedoch mit GUID-Partitionstabellen (GPT) anstelle der Master Boot Record (MBR)-Festplatten, die fdisk bearbeitet. Als solches ist gdisk ein interaktives textbasiertes Werkzeug zum Manipulieren von Partitionen, greift aber nicht auf den Inhalt dieser Partitionen zu (normalerweise Dateisysteme, manchmal aber auch Swap-Speicher oder andere Daten).
cgdisk – Dieses Programm ist nach dem Vorbild von Linux cfdisk gestaltet, arbeitet jedoch mit GPT-Festplatten anstelle der MBR-Festplatten, die cfdisk bearbeitet. Als solches ist cgdisk ein curses-basiertes Textmodus-Werkzeug zum Manipulieren von Partitionen, das eine Benutzeroberfläche verwendet, die auf Pfeiltasten und einer dynamischen Anzeige beruht, anstatt auf Befehlstasten und einer bildlaufenden Anzeige wie gdisk.
sgdisk – Dieses Programm ist vom Konzept her ähnlich wie das Linux-sfdisk- und das FreeBSD-gpt-Programm, unterscheidet sich jedoch in den operativen Details. Es ermöglicht die Manipulation von GPT-Festplatten über Kommandozeilenoptionen und eignet sich daher für den Einsatz in Skripten oder für Experten, um spezifische Aufgaben auszuführen, die in gdisk mehrere Befehle erfordern würden.
fixparts – Dieses Programm arbeitet im Gegensatz zu den vorgenannten drei auf MBR-Festplatten. Es soll bestimmte Probleme beheben, die durch verschiedene Dienstprogramme verursacht werden können. Insbesondere kann es falsch dimensionierte erweiterte Partitionen und primäre Partitionen korrigieren, die sich in der Mitte von erweiterten Partitionen befinden. Es ermöglicht auch die Änderung des Status primär/logisch (innerhalb der im MBR-Schema zulässigen Grenzen) und einige andere kleinere Änderungen. Es unterstützt NICHT das Erstellen neuer Partitionen; dafür sollten Sie fdisk, parted oder ein anderes Werkzeug verwenden.
Weitere Details zu den Fähigkeiten dieser Werkzeuge folgen.
Alle vier Programme basieren auf demselben zugrunde liegenden Code; sie unterscheiden sich nur in ihren Steuerschnittstellen (definiert in gdisk.cc, cgdisk.cc, sgdisk.cc bzw. fixparts.cc) und darin, welchen unterstützenden Code sie verwenden.
Das Programm gdisk ist als (einigermaßen) fdisk-ähnliches Programm für GPT-partitionierte Festplatten gedacht, cgdisk ist ähnlich ein Pendant zu cfdisk, und sgdisk bietet die meisten Funktionen von gdisk in einem skriptfreundlicheren Programm. Obwohl libparted und Programme, die es verwenden (GNU Parted, gparted usw.), die Möglichkeit bieten, GPT-Festplatten zu verwalten, haben sie bestimmte Einschränkungen, die gdisk überwindet. Spezifische Vorteile von gdisk, cgdisk und sgdisk sind:
Die Möglichkeit, MBR-partitionierte Festplatten ohne Datenverlust vor Ort in das GPT-Format zu konvertieren
Die Möglichkeit, BSD-Festplattenlabels vor Ort zu konvertieren, um GPT-Partitionen zu erstellen, ohne Datenverlust
Die Möglichkeit, ohne Datenverlust vom GPT-Format in das MBR-Format zu konvertieren (nur gdisk und sgdisk)
Flexiblere Angabe von Dateisystemtyp-Code-GUIDs, die GNU Parted oft beschädigt
Klare Identifizierung der Anzahl nicht zugewiesener Sektoren auf einer Festplatte
Eine Benutzeroberfläche, die langjährigen Benutzern von Linux fdisk und cfdisk vertraut ist (nur gdisk und cgdisk)
Der MBR-Bootloader-Code bleibt unberührt
Die Möglichkeit, einen hybriden MBR zu erstellen, der GPT-unbewussten Betriebssystemen den Zugriff auf bis zu drei GPT-Partitionen auf der Festplatte ermöglicht (nur gdisk und sgdisk)
Natürlich hat GPT fdisk auch seine Grenzen. Am auffälligsten ist das Fehlen der Dateisystemkenntnis und der dateisystembezogenen Funktionen von GParted. Sie können beispielsweise weder ein Dateisystem einer Partition vergrößern/verkleinern noch eine Partition mit einem bereits vorhandenen Dateisystem mit gdisk erstellen. Es gibt keine GUI-Version von gdisk.
Das Paket GPT fdisk enthält drei Programmdateien: das interaktive textbasierte gdisk, das curses-basierte interaktive cgdisk und das kommandozeilengesteuerte sgdisk. Die ersten beiden sind für die manuelle Partitionierung von Festplatten oder zur Änderung von Partitionsdetails gedacht; sgdisk ist für den Einsatz in Skripten vorgesehen, um Aufgaben wie das Klonen von Festplatten oder die Vorbereitung mehrerer Festplatten für die Linux-Installation zu automatisieren.
Die Erstellung dieses Programms wurde durch Hilferufe motiviert, die ich in Online-Foren von Benutzern gesehen habe, deren Partitionstabellen durch verschiedene fehlerhafte Partitionierungswerkzeuge beschädigt wurden. Obwohl die meisten Betriebssysteme die betroffenen Festplatten problemlos behandeln können, neigen libparted-basierte Werkzeuge (GParted, parted, die meisten Linux-Installationsprogramme usw.) dazu, bei solchen Festplatten zu versagen. Typischerweise zeigt sich das Symptom als eine Festplatte, die scheinbar keine Partitionen enthält; manchmal präsentiert das libparted-Werkzeug jedoch andere Partitionen als die, die das Betriebssystem sieht.
Ich habe vier Ursachen für diese Symptome beobachtet, von denen FixParts drei korrigieren kann:
Alte GPT-Daten – Wenn eine Festplatte als GPT-Festplatte verwendet und dann als MBR-Festplatte wiederverwendet wird, können die GPT-Daten unvollständig gelöscht werden. Dies geschieht z. B., wenn die Festplatte mit fdisk oder dem Microsoft Windows-Installationsprogramm neu partitioniert wird. (Auf libparted basierende Werkzeuge entfernen die alten GPT-Daten korrekt bei der Umwandlung von GPT in das MBR-Format.) FixParts prüft beim Start auf dieses Problem und bietet an, es zu beheben. Wenn Sie sich für das Löschen der GPT-Daten entscheiden, erfolgt diese Löschung sofort, im Gegensatz zu anderen Änderungen, die das Programm vornimmt.
Falsch dimensionierte erweiterte Partitionen – Einige Werkzeuge erstellen eine erweiterte Partition, die zu groß ist, typischerweise endet sie nach dem letzten Sektor der Festplatte. FixParts korrigiert dieses Problem automatisch (wenn Sie die Option 'w' zum Speichern der Partitionstabelle verwenden).
Primäre Partitionen innerhalb einer erweiterten Partition – Einige Dienstprogramme erstellen oder verschieben primäre Partitionen in den Bereich, der von der erweiterten Partition abgedeckt wird. FixParts kann dieses Problem normalerweise beheben, indem es die primäre Partition in eine logische Partition umwandelt oder eine oder mehrere andere logische Partitionen in primäre umwandelt. Solche Korrekturen sind jedoch nicht immer möglich, zumindest nicht ohne Löschen oder Ändern der Größe anderer Partitionen.
Übriggebliebene RAID-Daten – Wenn eine Festplatte in einem RAID-Verbund verwendet und dann als Nicht-RAID-Festplatte wiederverwendet wird, können einige Dienstprogramme verwirrt werden und die Festplatte nicht erkennen. FixParts kann dieses Problem NICHT beheben. Sie müssen die alten RAID-Daten zerstören oder möglicherweise das dmraid-Paket vom System entfernen, um dieses Problem zu beheben.
Wenn FixParts ausgeführt wird, bietet es eine fdisk-ähnliche Oberfläche, mit der Sie Partitionstypen (primär, logisch oder weggelassen), Typecodes ändern, das bootfähige Flag setzen usw. können. Obwohl Sie eine Partition löschen können (indem Sie sie weglassen), können Sie mit dem Programm keine neuen Partitionen erstellen. Wenn Sie es gewohnt sind, Festplatten zu partitionieren, insbesondere mit Linux fdisk, erfordern zwei ungewöhnliche Eigenschaften von FixParts eine Erläuterung: