gdisk

Achtung!

Veränderungen an einer GPT können das System unbrauchbar machen und sollten nie ohne eine vorherige Datensicherung durchgeführt werden.

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Archive entpacken, optional

  3. Root-Rechte erlangen

  4. Ein Terminal benutzen

  5. Wie heißen die Datenträger

  6. Welche Datenträger sind angeschlossen

Inhaltsverzeichnis
  1. Installation
    1. Manuell
  2. gdisk
    1. Syntax
    2. Hauptmenü
    3. Expertenmenüs
      1. Rettungs- und Transformationsmenü
      2. Zusätzliche Funktionen
      3. Partitionsattribute
    4. Beispiele
  3. sgdisk
    1. Syntax
    2. Optionen
    3. Beispiele
      1. Partitionen-Informationen
      2. Anlegen einer Partition
      3. Partitions-Information (detailliert)
      4. Partitionstabelle sichern
      5. Partitionstabelle zurückladen
      6. Partitiontabelle übertragen
      7. Partitionsnamen ändern
  4. cgdisk
    1. Syntax
  5. Links
    1. Intern
    2. Extern

Wiki/Icons/terminal.png 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.

Für die Bearbeitung der Partitionstabelle des älteren Master Boot Records (MBR) steht das Programmpaket fdisk zur Verfügung.

Installation

Das Programmpaket kann direkt aus den offiziellen Paketquellen installiert werden [1]:

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gdisk 

sudo aptitude install gdisk 

Im Paket sind folgende Komponenten enthalten:

Manuell

Um das Programm aus dem Quellcode zu kompilieren, müssen vorher die folgenden Pakete installiert werden:

Wiki/Vorlagen/Installbutton/button.png 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

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].

Syntax

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:

  1. M "Hauptmenü" - main menu

  2. R "Rettungs- und Transformationsmenü" - recovery and transformation options (experts only)

  3. X "Zusätzliche Funktionen" - extra functionality (experts only)

Hinweis:

  • 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.

Hauptmenü

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

Expertenmenüs

Rettungs- und Transformationsmenü

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

Zusätzliche Funktionen

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"

Partitionsattribute

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)

Beispiele

Hinweis:

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

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.

Achtung!

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.

Syntax

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.

Optionen

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

Beispiele

Hinweis:

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.
***************************************************************

Partitionen-Informationen

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

Anlegen einer Partition

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  

Partitions-Information (detailliert)

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'

Partitionstabelle sichern

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  

Partitionstabelle zurückladen

Hinweis:

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  

Partitiontabelle übertragen

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  

Partitionsnamen ändern

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

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.

Syntax

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.

Intern

Extern