ubuntuusers.de

ubuntuusers.deWikigdisk

gdisk

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

Wiki/Icons/terminal.png gdisk {en} (fdisk für GPT) ist ein Kommandozeilen-Programm[1] 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 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 Legacy-MBR steht das Programmpaket fdisk zur Verfügung.

Hinweis:

Alle hier aufgeführten Befehle im Terminal[1] greifen auf systemrelevante Bereiche zu und müssen immer mit Rootrechten[2] ausgeführt werden.

Installation

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

  • gdisk (universe)

Wiki/Vorlagen/Installbutton/button.png 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 - skriptingfähige Variante

  • cgdisk - grafischer ncurses-Oberfläche zu gdisk

  • fixparts - ein gesondertes Reparaturprogramm für den MBR-Bereich

Bei älteren Ubuntu-Versionen wird evtl. nur gdisk bereitgestellt. Um dort alle Komponenten nutzen zu können, müssen diese manuell aus dem Quelltext kompiliert werden.

Manuell

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

  • build-essential

  • libicu-dev

  • libncurses5-dev

  • libpopt-dev

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.net den aktuellen Quelltext herunter, entpackt[6] ihn in einen beliebigen Ordner und führt einfach 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/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 im Terminal.[1] Für die MBR-Partitionstabellen gibt es das Programmpaket fdisk.

Achtung!

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

Syntax

Beim Aufruf muss immer ein zu bearbeitender Datenträger[4] mit übergeben werden.

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.

Kommandos

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[3] 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[3]

Expertenmenüs

Experten-Info:

Protective-MBR=LBA 0, CHS=0x000100/0xFEFFFF; Primary-/Secondary-GPT-Header=LBA 1 / LBA -1; Primary-/Secondary-GPT-Entries 1-4=LBA 2 / LBA -33; Primary-Entries 5-128=LBA 3 bis 33 /Secondary-Entries=LBA -32 bis -2.

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[3]
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[3]
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[3] genutzt. Diese muss auf das eigene System angepasst werden!

Der Start beinhaltet immer eine Kurzanalyse des übergebenen Datenträgers[4]:

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 fdisk -l erzeugt werden. Für die MBR-Partitionstabellen gibt es das Programm sfdisk.

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[4] mit übergeben werden.

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 (analog zu fdisk -l für MBR-Partitionstabellen).

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[3] (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 [3] 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[4]:

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[4]:

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[4] 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[4] 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[4] 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 die grafische Oberfläche (ncurses) zu gdisk, welche die wichtigsten Aufgaben über eine Menüsteuerung bereitstellt und ist selbsterklärend. Die Steuerung erfolg über die Pfeilstasten und Enter. Für die MBR-Partitionstabellen gibt es das Programm cfdisk.

Syntax

Beim Aufruf muss immer ein zu bearbeitender Datenträger[4] mit übergeben werden.

cgdisk DEVICE 

Ausführliche Informationen liefert die Manpage sowie die Links zur Programmierer-Seite.

Diese Revision wurde am 3. April 2013 11:46 von sony-qs erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Partitionierung, System