Veränderungen an einer GPT können das System unbrauchbar machen und sollten nie ohne eine vorherige Datensicherung durchgeführt werden.
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
gdisk (fdisk für GPT) ist ein Kommandozeilen-Programm zur Partitionierung von Datenträgern mit GUID Partitionstabelle (kurz GPT). Dabei werden eigenständige Programm-Module eingesetzt, die nicht auf libparted aufsetzen. In den meisten Fällen wird nur das Modul sgdisk zum Auflisten und Analysieren der GPT-Partitionen sowie zum Erzeugen einer externen Backup-Datei der GPT benötigt.
GPTs können auch im BIOS-Modus, d.h. ohne (U)EFI eingesetzt werden.
Anm.: Windows verlangt beim Einsatz einer GPT auf dem Systemdatenträger immer auch die Nutzung von (U)EFI.
GRUB 2 kann auch mit BIOS-GPT umgehen, sofern eine "BIOS Boot-Partition" bereitgestellt wird.
Für die Bearbeitung der Partitionstabelle des älteren Master Boot Records (MBR) steht das Programmpaket fdisk zur Verfügung.
Das Programmpaket kann direkt aus den offiziellen Paketquellen installiert werden [1]:
gdisk (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gdisk
sudo aptitude install gdisk
Ab Ubuntu 12.04 sind im Paket folgende Komponenten enthalten:
gdisk - zur interaktiven Nutzung auf der Kommandozeile
sgdisk - skripting-fähige Variante
fixparts - gesondertes Reparaturprogramm für den MBR-Bereich
Um das Programm aus dem Quellcode zu kompilieren, müssen vorher die folgenden Pakete installiert werden:
build-essential
libicu-dev
libncurses5-dev
libpopt-dev
mit apturl
Paketliste zum Kopieren:
sudo apt-get install build-essential libicu-dev libncurses5-dev libpopt-dev
sudo aptitude install build-essential libicu-dev libncurses5-dev libpopt-dev
Anschließend lädt man sich von SourceForge den aktuellen Quelltext herunter, entpackt [2] ihn in einen beliebigen Ordner und führt make
aus.
cd /Pfad/zum/entpackten/Quelltext sudo make
Die erzeugten Programme sowie die Dokumentationen müssen nur noch an einen ausführbaren Ort verschoben werden, z.B.:
sudo cp gdisk sgdisk cgdisk fixparts /usr/local/sbin/ sudo cp gdisk.8 sgdisk.8 cgdisk.8 fixparts.8 /usr/local/share/man/man8/
gdisk legt GPT-Partititonen an, löscht, manipuliert oder listet sie. Es ist interaktiv und erwartet Kommandoeingaben. Die Ausführung und Benutzung erfolgt mit Root-Rechten [3] im Terminal [4].
Beim Aufruf muss immer ein zu bearbeitender Datenträger[5] angegeben werden:
sudo gdisk DEVICE
Die drei Menüs können im interaktiven Modus, auf allen Menü-Ebenen, direkt durch die folgenden Buchstaben angesteuert werden:
M "Hauptmenü" - main menu
R "Rettungs- und Transformationsmenü" - recovery and transformation options (experts only)
X "Zusätzliche Funktionen" - extra functionality (experts only)
Je nach angewählter Menü-Ebene haben die Kommandos von gdisk zum Teil unterschiedliche Funktionen.
Beim interaktiven Gebrauch werden alle Änderungen erst vorgemerkt. Das Programm kann jederzeit mit Q verlassen werden, ohne Veränderungen am Datenträger vorzunehmen. Erst mit dem Kommando W werden alle Informationen unwiderruflich festgeschrieben.
Eine Erklärung aller Kommandos und Optionen mit ausführlicher Information liefert die Manpage sowie die Links zur Programmierer-Seite.
Auswahl von Kommandos im Hauptmenü M (main menu) ohne Veränderungen an einer GPT | |
Kommando | Beschreibung |
? | Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos - je Menü-Ebene möglich |
i | Detaillierte Informationen zu einer GPT-Partition - die Partitionsnummer (1-128) wird anschließend abgefragt |
L | Bekannte GPT-Partitionstypen (ID) und deren Bezeichnung (Name) auflisten. |
p | Auflisten der Informationen zu GPT-Partitionen |
q | Verlassen des Programms, ohne Veränderungen auf den Datenträger zu schreiben |
r | Aufruf des Expertenmenüs R (recovery and transformation options) |
x | Aufruf des Expertenmenüs X (extra functionality) |
Auswahl von Kommandos im Hauptmenü M (main menu) mit Veränderungen an einer GPT | |
Kommando | Beschreibung |
c | Ändern des frei wählbaren Namens einer GPT-Partition (mehr Infos: Partitionsnamen ändern) |
d | Löschen einer GPT-Partition |
n | Neuanlage einer GPT-Partition |
s | Sortieren aller Einträge zu GPT-Partitionen, aufsteigend nach Sektoren - dabei werden auch die Partitions-Nummern neu vergeben (gegebenenfalls fstab und grub.cfg prüfen) |
t | Ändern des GPT-Partitionstyps (ID) (siehe dazu auch Kommando L) |
w | Abspeichern aller Änderungen in die GPT-Bereiche eines Datenträgers |
Auswahl von Kommandos im Expertenmenü R (recovery and transformation options) | |
Kommando | Beschreibung |
b | Neuaufbau GPT-Header - aus Sicherungs-GPT (Secondary-GPT) eines Datenträgers |
c | Neuaufbau GPT-Einträge zu den Partitionen - aus Sicherungs-GPT (Secondary-GPT) eines Datenträgers |
d | Neuaufbau Sicherungs-Header (Secondary-GPT) - aus GPT-Header eines Datenträgers |
e | Neuaufbau Sicherungs-Einträge zu den Partitionen (Secondary-GPT) - aus GPT-Einträgen zu den Partitionen eines Datenträgers |
Auswahl von Kommandos im Expertenmenü X (extra functionality) | |
Kommando | Beschreibung |
a | Setzen der Partitions-Attribute |
d | Anzeige des Sektor-Allignment-Wertes bezüglich der Partitionen eines Datenträger |
e | Sicherungs-GPT (Secondary-GPT) vollständig neu am Ende eines Datenträgers erstellen und platzieren |
l | Einstellen des Sektor-Allignment-Wertes bezüglich der Partitionen eines Datenträgers |
o | Anzeige des sog. "Protectiv MBR" |
Den Partitionen können bestimmte Attribute zugewiesen werden, wie z.B. das Bootfähig-Flag unter Windows. Interessant wird dies z.B. bei einem System, dass sowohl im BIOS- als auch im EFI-Modus betrieben werden soll. GRUB 2 nutzt dabei unterschiedliche Partitionen für die Bootloader-Infos, wobei die BIOS Boot Partition vor EFI versteckt werden muss.
Liste der z.Zt. bekannten Attribute | |
Wert | Beschreibung |
0 | Systempartition (system partition) |
1 | Verstecke die Partition vor EFI (hide from EFI) |
2 | Legacy Bootflag (legacy BIOS bootable) |
60 | Nur lesen (read-only) |
62 | Versteckt (hidden) |
63 | Nicht Einhängen (do not automount) |
In allen Beispielen wird als Datenträgerbezeichnung /dev/sdX genutzt. Diese muss auf das eigene System angepasst werden!
Der Start beinhaltet immer eine Kurzanalyse des angegebenen Datenträgers:
sudo gdisk /dev/sdX
GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help):
Generelle Informationen der GPT-Partitionen anzeigen:
Command (? for help): p
Disk /dev/sdX: 7913471 sectors, 3.8 GiB Logical sector size: 512 bytes Disk identifier (GUID): 5E49BB87-03F4-4FB4-9D3C-D8A28E5ADB85 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 7913437 Partitions will be aligned on 2-sector boundaries Total free space is 0 sectors (0 bytes) Number Start (sector) End (sector) Size Code Name 1 34 2047 1007.0 KiB EF02 BIOS Grub-Partition 2 2048 7913437 3.8 GiB 0700 VFAT 32 Pendrive Command (? for help):
Detaillierte GPT-Informationen zur Partition 1 anzeigen:
Command (? for help): i
Bei mehreren vorhandenen GPT-Einträgen wird die Partitionsnummer zusätzlich abgefragt:
Partition number (1-4): 1
Partition GUID code: 21686148-6449-6E6F-744E-656564454649 (BIOS boot partition) Partition unique GUID: 9E39F351-4D0F-48C7-8402-93A0AF35A0B4 First sector: 34 (at 17.0 KiB) Last sector: 2047 (at 1023.5 KiB) Partition size: 2014 sectors (1007.0 KiB) Attribute flags: c000000000000001 Partition name: 'BIOS Grub-Partition' Command (? for help):
Überprüfen der kompl. GPT, incl. kleinerer Fehlerbehebung:
Command (? for help): v
No problems found. 0 free sectors (0 bytes) available in 0 segments, the largest of which is 0 (0 bytes) in size. Command (? for help):
Beenden ohne Abspeichern der evtl. vorgenommenen Veränderungen auf den Datenträger[3]:
Command (? for help): q
sgdisk führt die gleichen Aufgaben wie gdisk durch, wird aber komplett über mitgegebene Optionen gesteuert und ist daher für Skripte geeignet. Es übernimmt bei GPT u.a. die Auflistung der Datenträger-Informationen, die beim Legacy-MBR mittels des Befehls sudo fdisk -l
erzeugt werden.
Wird sgdisk mit Optionen aufgerufen, die eine Veränderung an einer GPT herbeiführen, so werden diese Änderungen unmittelbar auf den Datenträger geschrieben und bei falschem Einsatz wird dieser evtl. unbenutzbar. Der Einsatz dieser Optionen in Skripte sollte gut überlegt werden.
Beim Aufruf muss immer ein zu bearbeitender Datenträger angegeben werden:
sudo sgdisk OPTIONEN DEVICE
Eine Erklärung aller Optionen und ausführliche Informationen liefert die Manpage sowie die Links zur Programmierer-Seite.
Auswahl von Optionen ohne Veränderungen an einer GPT | |
Option | Beschreibung |
-? | Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos |
-a wert /device | Einstellen des Alignment-Wertes, z.B. 1024, 2048 etc. |
-b /pfad/dateiname /device | Erzeugt eine externe, binäre Backup-Datei eines Datenträgers[3] - Inhalt: Protectiv-MBR, Primary-Header, 1x Partitionen-Einträge sowie Secondary-Header |
-i partitionsnr /device | Detaillierte GPT-Informationen zu einer Partition |
-L | Bekannte GPT-Partitionstypen (ID) und deren Bezeichnung (Name) auflisten |
-p /device | Auflisten der Informationen zu GPT-Partitionen |
Auswahl von Optionen mit Veränderungen an einer GPT | |
Option | Beschreibung |
-c partitionsnr:name /device | Ändern des frei wählbaren Namens einer GPT-Partition eines Datenträgers (mehr Infos: Partitionsnamen ändern) |
-G /device | Neue eindeutige GUID eines Datenträgers erzeugen |
-l /pfad/dateiname /device | Zurückladen der externen, binären Backup-Datei in die GPT-Bereiche eines Datenträgers. |
-R /device-aus /device-ein | Übertragen der GPT auf einen anderen, neuen Datenträger (z.B. Austausch einer defekten Platte bei RAID) |
-s /device | Sortieren aller Einträge zu GPT-Partitionen, aufsteigend nach Sektoren - dabei werden auch die Partitions-Nummern neu vergeben (gegebenenfalls fstab und grub.cfg prüfen) |
-t partitionsnr:ID /device | Ändern des GPT-Partitionstyps (ID) (siehe dazu auch Option -L) |
-v /device | Überprüfen einer kompl. GPT - inkl. Behebung kleinerer Fehler |
In allen Beispielen wird als Datenträgerbezeichnung /dev/sdX genutzt. Diese muss auf das eigene System angepasst werden!
sgdisk kann auch "Legacy-MBR"-Einträge auflisten, aber nicht manipulieren. Auf diesen Umstand weist das Programm mit folgender Meldung hin:
*************************************************************** Found invalid GPT and valid MBR; converting MBR to GPT format. ***************************************************************
Listen aller Einträge zu GPT-Partitionen des Datenträgers:
sudo sgdisk -p /dev/sdX
Disk /dev/sdX: 7913471 sectors, 3.8 GiB Logical sector size: 512 bytes Disk identifier (GUID): 5E49BB87-03F4-4FB4-9D3C-D8A28E5ADB85 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 7913437 Partitions will be aligned on 2-sector boundaries Total free space is 0 sectors (0 bytes) Number Start (sector) End (sector) Size Code Name 1 34 2047 1007.0 KiB EF02 BIOS Grub-Partition 2 2048 7913437 3.8 GiB 0700 VFAT 32 Pendrive
Im folgenden Beispiel wird eine neue Partition mit der Nummer 1
angelegt:
Das Alignment wird auf 1024
Bytes eingestellt (-a 1024
)
Die neue Partition erhält die Nummer 1
, wird 1024
Bytes groß und vor die anderen Partitionen in den Bereich von 1024-2048
Bytes gelegt (-n 1:1024:2048
)
Der interne Name der 1.Partition wird geändert (-c 1:"BIOS Boot Partition"
)
Der GPT-Partitionstyp wird auf ef02
eingestellt und bekommt dadurch die GUID 21686148-6449-6E6F-744E-656564454649
zugeteilt (Die GUID erzeugt im lesbaren Format, z.B. mit hexdump -C
, den Text Hah!IdontNeedEFI
).
sudo sgdisk -a 1024 -n 1:1024:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/sdX
Detaillierte Informationen zur GPT-Partition 1 des Datenträgers:
sudo sgdisk -i1 /dev/sdX
Partition GUID code: 21686148-6449-6E6F-744E-656564454649 (BIOS boot partition) Partition unique GUID: 9E39F351-4D0F-48C7-8402-93A0AF35A0B4 First sector: 34 (at 17.0 KiB) Last sector: 2047 (at 1023.5 KiB) Partition size: 2014 sectors (1007.0 KiB) Attribute flags: C000000000000001 Partition name: 'BIOS Grub-Partition'
Beinhaltet den "Protective MBR", den "Primary Header", die Partitionstabelle und den "Secondary Header".
Eingabe: GPT-Bereiche des Datenträgers sdX
Ausgabe: Backup_sdX.GPT im eigenen Homeverzeichnis
sudo sgdisk -b ${HOME}/Backup_sdX.GPT /dev/sdX
Eine GPT sollte nur auf den gleichen Datenträger zurückgeladen werden.
Eingabe: Backup_sdX.GPT aus dem Verzeichnis /backup
Ausgabe: GPT-Bereiche auf dem Datenträger sdX
sudo sgdisk -l /backup/sdX_Backup.GPT /dev/sdX
Die Partitionstabelle von Datenträger[4] sdX nach sdZ übertragen:
sudo sgdisk -R /dev/sdZ /dev/sdX
Anschließend wird dem neuen Datenträger sdZ noch eine neue, eindeutige Datenträger-GUID zugewiesen:
sudo sgdisk -G /dev/sdZ
In einer GPT kann zu der Partitions-ID ein frei wählbarer Name vergeben werden, um eine bessere Identifizierung der einzelnen Partitionen zu ermöglichen. Dieser Eintrag ist vergleichbar mit dem Label einer Partition, ist aber davon völlig unabhängig. Bei der Neuanlage einer Partition wird dazu die Bezeichnung der programminternen ID-Namens-Tabelle herangezogen.
Im folgenden Beispiel werden die Namen von 3 Partitionen (1, 2, 5
) in der GPT des Datenträgers sdX geändert. Anmerkung: Bei Leerzeichen im Namen muss dieser in Hochkommata "" gesetzt werden:
sudo sgdisk -c 1:BIOS-Grub /dev/sdX # Partition 1 - Name: BIOS-Grub sudo sgdisk -c 2:Standard_Lucid /dev/sdX # Partition 2 - Name: Standard_Lucid sudo sgdisk -c 5:"Precise Pangolin" /dev/sdX # Partition 5 - Name: "Precise Pangolin" sudo sgdisk -p /dev/sdX # Listen der neuen Partitionen-Informationen
cgdisk ist eine Textoberfläche zu gdisk, welche die wichtigsten Aufgaben über eine Menüsteuerung bereitstellt und selbsterklärend ist. Die Steuerung erfolgt über die Pfeilstasten und Enter.
Beim Aufruf muss immer ein zu bearbeitender Datenträger angegeben werden:
sudo cgdisk DEVICE
Ausführliche Informationen liefert die Manpage sowie die Links zur Programmierer-Seite.
Partitionstabellen sichern - Skript zum Sichern aller Partitionstabellen (MPT+GPT)
Partitionierung Übersichtsartikel
GUID Partition Table - (GPT) inkl. Protectiv-MBR
(U)EFI - Unified Extensible Firmware Interface
Master-Boot-Record - (MBR) Legacy-MBR
Partitionstabelle - (MPT) des Master-Boot-Record
Diese Revision wurde am 8. Februar 2017 23:31 von aasche erstellt.