fdisk

Aus Foxwiki

fdisk - manipuliert die Festplatten-Partitionstabelle

Beschreibung

fdisk ist ein menügesteuertes Programm für die Erzeugung und Manipulation von Partitionstabellen. Es kann DOS-Partitionstabellen in den Formaten GPT, MBR, Sun, SGI und BSD verarbeiten.

Blockorientierte Geräte können in eine oder mehrere logische Platten (Partitionen) unterteilt werden. Diese Unterteilung wird in der Partitionstabelle notiert, die sich auf dem Sektor 0 der Platte befindet. (In der BSD-Welt spricht man von »disk slices« und einem »disklabel«.)

In der Voreinstellung werden jegliche Partitionierungsvorgänge durch die E/A-Grenzen (die Topologie) des Gerätes bestimmt. fdisk ist in der Lage, das Platten-Layout für eine 4K-Sektorengröße zu optimieren und den Ausrichtungsversatz auf modernen Geräten für MBR und GPT zu nutzen. Es ist immer eine gute Wahl, den Voreinstellungen von fdisk zum Beispiel im Hinblick auf den jeweils ersten und letzten Sektor einer Partition zu folgen, und die durch die +/-<Größe>{M,G,…}-Notation angegebenen Partitionen werden stets entsprechend den Gegebenheiten des Gerätes ausgerichtet sein.

Die CHS-Adressierung (»Cylinder-Head-Sector«, Zylinder-Kopf-Sektor) gilt als veraltet und wird standardmäßig nicht verwendet. Bitte folgen Sie keinen veralteten Artikeln und Empfehlungen wie fdisk -S <n> -H <n> für SSD-Geräte oder solche mit 4k-Sektoren.

Beachten Sie, dass partx(8) eine leistungsfähige Schnittstelle für Skripte zum Ausgeben von Platten-Layouts bietet, während fdisk eher für Normalbenutzer entworfen wurde. Abwärtskompatibilität in der Ausgabe von fdisk kann nicht garantiert werden. Die Eingabe (die Befehle) dagegen sollten immer abwärtskompatibel sein.

Option Beschreibung
Interaktiver Modus
  • Wird über Kommandos gesteuert
  • Alle Änderungen werden erst vorgemerkt
  • Kann jederzeit mit Q (quit) verlassen werden, ohne Veränderungen am Datenträger vorzunehmen
  • Erst mit W (write) werden alle Informationen unwiderruflich festgeschrieben
Nicht-interaktiver Modus
  • Wird über Optionen gesteuert
  • Ist geeignet, um in Scripten verwendet zu werden. Im Gegensatz zum interaktiven Modus

Installation

Der Befehl fdisk ist Teil des Pakets util-linux, welches heruntergeladen werden kann von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

Syntax

# fdisk [Optionen] DATENTRAEGER
# fdisk [Optionen] Gerät
# fdisk -l [Gerät …]

Optionen

Unix GNU Beschreibung
-b --sector-size SEKTORGROESSE Ändern der Sektorgröße. Gültige Werte: 512, 1024, 2048 oder 4096. fdisk unterscheidet zwischen logischer und physischer Sektorgröße. Option ändert beide Sektorgrößen auf SEKTORGROESSE.
-B --protect-boot Verhindert das Löschen des 1. Sektors des Datenträgers, wenn eine neue Festplattenbezeichnung erzeugt wird.
-c --compatibility[=MODUS] Legt den Kompatibilitätsmodus fest (dos oder nondos). Für Abwärtskompatibilität, kann die Option ohne MODUS-Argument verwendet werden, dann wird der Standardwert nondos verwendet. Beachten: Optionales MODUS-Argument darf nicht durch ein Leerzeichen von der -c-Option getrennt werden => -c=dos.
-h --help Zeigt Hilfe an und beendet Programm.
-L --color[=WANN] Stellt Ausgabe farbig dar. Optionales WANN-Argument kann auto, never oder always sein. Ohne Angabe des WANN-Arguments, ist auto der Standardwert. Farben können deaktiviert werden.
-l --list Gibt Partitionstabellen für angegebene Datenträger aus u. beendet das Programm. Ohne Angabe eines Datenträgers, werden die Datenträger aus /proc/partitions verwendet.
-o --output SPALTE Gibt an, welche Spalten in der Ausgabe angezeigt werden sollen. Mit --help erhalten Sie eine Liste aller unterstützten Spalten. -l, --list muss ebenfalls angegeben werden. Die voreingestellte Liste der Spalten kann erweitert werden, indem man die Liste im Format +SPALTE angibt (z.B. -o +UUID).
-t --type TYP Aktiviert die Unterstützung für Plattenbezeichnungen des angegebenen TYPs, z.B. gpt od. dos und deaktiviert die Unterstützung für alle anderen Typen.
-u --units[=EINHEIT] Legt fest, ob bei der Ausgabe von Partitionstabellen die Größe in Sektoren oder Zylindern angegeben wird. Ohne das EINHEIT-Argument wird als Standard die Größe in Sektoren ausgegeben. Beachten: Optionales EINHEIT-Argument darf nicht durch ein Leerzeichen von der -u-Option => -u=cylinders.
-H --heads ZAHL Legt die Anzahl der Köpfe der Festplatte, die für Partitionstabellen verwendet werden sollen fest, nicht die physikalische Anzahl. Vernünftige Werte sind 255 und 16.
-S --sectors ZAHL Legt fest, wie viele Sektoren sich auf einer Spur der Platte befinden, die für Partitionstabellen verwendete, nicht die physikalische Anzahl. Ein sinnvoller Wert ist 63.
-w --wipe WANN Löscht Dateisystem-, RAID- und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden. Mögliche WANN-Argumente: auto, never oder always. Ohne das WANN-Argument wird als Standard auto verwendet, d.h. die Signaturen werden nur im interaktiven Modus gelöscht.
-V --version Zeigt Versionsinformationen an und beendet das Programm.


Unix GNU Beschreibung
-b --sector-size Sektorgröße gibt die Sektorgröße der Festplatte an. Gültige Werte sind 512, 1024, 2048 oder 4096. (Neuere Kernel kennen die Sektorgröße. Verwenden Sie diese Option nur mit alten Kerneln oder um die Sicht des Kernels außer Kraft zu setzen.) Seit util-linux-2.17 unterscheidet fdisk zwischen logischer und physischer Sektorgröße. Diese Option ändert beide Sektorgrößen auf Sektorgröße.
-B --protect-boot verhindert das Löschen des ersten Sektors des Geräts, wenn eine neue Festplattenbezeichnung erzeugt wird. Dieses Funktionsmerkmal wird für GPT

und MBR unterstützt.

-c --compatibility[=Modus] legt den Kompatibilitätsmodus (»dos« oder »nondos«) fest. Der Standardwert ist »nondos«. Um Abwärtskompatibilität zu gewährleisten, kann die Option ohne Modus-Argument verwendet werden. In diesem Fall wird der Standardwert verwendet. Beachten Sie, dass das optionale Modus-Argument nicht durch ein Leerzeichen von der -c-Option getrennt werden darf, die korrekte Form ist beispielsweise -c=dos.
-h --help zeigt einen Hilfetext an und beendet das Programm.
-V --version zeigt die Versionsnummer an und beendet das Programm.
-L --color[=WANN] stellt die Ausgabe farbig dar. Das optionale Argument wann kann auto, never oder always sein. Falls wann nicht angegeben ist, ist auto die Voreinstellung. Die Farben können deaktiviert werden. Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an. Siehe auch den Abschnitt FARBEN.
-l --list gibt Partitionstabellen für die angegebenen Geräte aus und beendet das Programm. Wurden keine Geräte angegeben, werden bei Existenz von /proc/partitions die dort erwähnten Geräte verwendet. Die Geräte werden stets in der Reihenfolge aufgelistet, wie sie in der Befehlszeile angegeben werden, oder wie sie der Kernel in /proc/partitions auflistet.
-x --list-details erzeugt eine Ausgabe wie mit --list, aber detailreicher.
--lock[=Modus] verwendet eine exklusive BSD-Sperre für das Gerät oder die Datei, auf dem/der es agiert. Das optionale Argument Modus kann yes, no (oder 1 und 0) oder nonblock sein. Falls das Argument Modus weggelassen wird, wird standardmäßig yes angenommen. Diese Option setzt die Umgebungsvariable $LOCK_BLOCK_DEVICE außer Kraft. Standardmäßig wird überhaupt keine Sperre gesetzt, dies wird aber empfohlen, um Kollisionen mit systemd-udevd(8) oder anderen Werkzeugen zu vermeiden.
-n --noauto-pt erstellt auf einem leeren Gerät nicht automatisch eine neue Standard-Partitionstabelle. Die Partitionstabelle muss explizit vom Benutzer erstellt werden (mit einem Befehl wie »o«, »g« usw.).
-o --output Liste gibt die anzuzeigenden Spalten an. Mit --help erhalten Sie eine Liste aller unterstützten Spalten. Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID).
-s --getsz gibt die Größe jedes der angegebenen blockorientierten Geräte in 512-Byte-Sektoren aus. Diese Option ist veraltet, verwenden Sie stattdessen blockdev(8).
-t --type Typ aktiviert die Unterstützung für Plattenbezeichnungen des angegebenen Typs und deaktiviert die Unterstützung für alle anderen Typen.
-u --units[=Einheit] legt fest, ob bei der Ausgabe von Partitionstabellen die Größe in »Sektoren« oder »Zylindern« angegeben wird. Standardmäßig wird die Größe in Sektoren angezeigt. Um Abwärtskompatibilität zu gewährleisten, kann die Option ohne das Einheit-Argument verwendet werden. In diesem Fall wird der Standardwert verwendet. Beachten Sie, dass das optionale Einheit-Argument nicht von der -u-Option durch ein Leerzeichen getrennt werden kann, die korrekte Form ist beispielsweise »-u=cylinders«.
-C --cylinders Zahl gibt die Zylinderzahl der Platte an. Und wozu soll das jemand verwenden wollen?
-H --heads Zahl legt die Anzahl der Köpfe der Festplatte fest. (Natürlich nicht die physikalische Anzahl, sondern die für Partitionstabellen verwendete). Vernünftige Werte sind 255 und 16.
-S --sectors Zahl legt fest, wie viele Sektoren sich auf einer Spur der Platte befinden, allerdings nicht die physikalische Anzahl, sondern die für Partitionstabellen verwendete. Ein sinnvoller Wert ist 63.
-w --wipe WANN entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden. Das Argument WANN kann auto, never oder always lauten. Wenn diese Option nicht angegeben ist, ist die Vorgabe auto. In diesem Fall werden die Signaturen nur im interaktiven Modus entfernt. In allen Fällen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird. Siehe auch den Befehl wipefs(8).
-W --wipe-partitions WANN Löscht Dateisystem-, RAID- und Partitionstabellensignaturen von einer new erstellten Partition, um mögliche Kollisionen zu vermeiden. Das Argument WANN kann auto, never oder always lauten. Wenn diese Option nicht angegeben ist, ist die Vorgabe auto. In diesem Fall werden die Signaturen nur im interaktiven Modus und nach Bestätigung durch den Benutzer gelöscht. In allen Fällen werden die erkannten Signaturen durch Warnmeldungen berichtet, bevor eine neue Partition erstellt wird. Siehe auch den Befehl wipefs(8).
-V --version zeigt Versionsinformationen an und beendet das Programm.

Kommandos

Hauptmenü

Auswahl von Kommandos ohne Veränderungen an einer MBR-Partitionstabelle

Kommando Beschreibung
m Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos.
p Anzeige der Informationen zu MBR-Partitionen eines Datenträgers.
u Umschalten der Einheiten-Anzeige.
x Aufruf der Menü-Ebene 2 (zusätzliche Funktionen - nur für Experten).
q Verlassen des Programms ohne Veränderungen auf den Datenträger zu schreiben.

Auswahl von Kommandos mit Veränderungen an einer MBR-Partitionstabelle

Kommando Beschreibung
a (De)Aktivieren des "bootfähig"-Flag einer MBR-Partition eines Datenträgers.
c (De)Aktivieren des DOS-Kompatibilitätsflags.
d Löschen einer MBR-Partition.
n Neuanlage einer MBR-Partition.
o Neuanlage einer leeren DOS-Partitionstabelle (Typ msdos)
t Änderung des Dateisystemtyps (ID) einer Partition.
w Abspeichern aller Änderungen in die MBR-Partitionstabelle eines Datenträgers.

Expertenmenü

Auswahl von zusätzlichen Funktionen mit/ohne Veränderungen

Kommando Beschreibung
b Datenanfang einer Partition eines Datenträgers verschieben.
f Einträge in einer MBR-Partitionstabelle in Reihenfolge bringen.
r Zurückwechseln zur Menüebene 1 (Hauptmenü).
v Überprüfen einer MBR-Partitionstabelle.

Parameter

Das Gerät ist normalerweise /dev/sda, /dev/sdb oder so. Ein Gerätename gilt für die ganze Platte. Alte Systeme ohne libata (eine im Linux-Kernel verwendete Bibliothek für ATA-Controller und -Geräte) unterscheiden zwischen IDE- und SCSI-Platten. Dort ist der Gerätename /dev/hd* (IDE) oder /dev/sd* (SCSI).

Die Partition besteht aus einem Gerätenamen und einer folgenden Partitionsnummer. Beispielsweise ist /dev/sda1 die erste Partition auf der ersten Festplatte des Systems (siehe auch in der Dokumentation des Linux-Kernels die Datei Documentation/admin-guide/devices.txt).

Größe

Im »Letzter Sektor«-Dialog können Partitionsgrößen als Anzahl der Sektoren oder in der Notation +/-<Größe>{K,B,M,G,…} angegeben werden.

Wird der Größenangabe ein »+« vorangestellt, so wird diese als Anzahl der Bytes relativ zum ersten Sektor der Partition interpretiert. Falls der Größenangabe ein »-« vorangestellt wird, dann wird sie als relativ zu der Größenbegrenzung (dem letzten verfügbaren Sektor für die Partition) interpretiert.

Falls die Größe in Byte angegeben ist, dann kann eines der multiplikativen Suffixe KiB=1024, MiB=1024*1024 usw. für GiB, TiB, PiB, EiB, ZiB und YiB folgen. Dabei ist »iB« optional, beispielsweise ist »K« gleichbedeutend mit »KiB«.

Die relativen Größenangaben sind stets auf die E/A-Grenzen des Gerätes ausgerichtet. Die Notation +/-<Größe>{K,B,M,G,…} wird daher empfohlen.

Aus Gründen der Abwärtskompatibilität akzeptiert fdisk auch die Suffixe KB=1000, MB=1000*1000 usw. für GB, TB, PB, EB, ZB und YB. Diese Dezimalsuffixe gelten jedoch als veraltet und sollten nicht mehr verwendet werden.

Umgebungsvariablen

Option Beschreibung
FDISK_DEBUG=all aktiviert die Debug-Ausgabe für fdisk
LIBFDISK_DEBUG=all aktiviert die Debug-Ausgabe für libfdisk
LIBBLKID_DEBUG=all aktiviert die Debug-Ausgabe für libblkid
LIBSMARTCOLS_DEBUG=all aktiviert die Debug-Ausgabe für libsmartcols
LIBSMARTCOLS_DEBUG_PADDING=on verwendet sichtbare Auffüllzeichen
LOCK_BLOCK_DEVICE=<Modus> verwendet eine exklusive BSD-Sperre. Der Modus ist »1« oder »0«. Siehe --lock für weitere Details

Exit-Status

Anwendung

Anzeigen der Partitionstabellen aller Datenträger

# fdisk -l
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: SAMSUNG HD103SJ
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5bbfa64b
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 39063551 39061504 18,6G fd Linux raid autodetect
/dev/sda2 39065598 1949218815 1910153218 910,9G 5 Extended
/dev/sda5 39065600 50782207 11716608 5,6G 82 Linux swap / Solaris
/dev/sda6 50784256 1949218815 1898434560 905,3G fd Linux raid autodetect


Disk /dev/sdc: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xc54dca74
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 3907020976 3907018929 1,8T fd Linux raid autodetect


Disk /dev/sde: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: TOSHIBA HDWD120
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9d878eda
Device Boot Start End Sectors Size Id Type
/dev/sde1 2048 3907020976 3907018929 1,8T fd Linux raid autodetect


Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Hitachi HDS72202
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1c13a897
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3907020976 3907018929 1,8T fd Linux raid autodetect

Anzeigen der Partitionstabelle eines bestimmten Datenträgers

# fdisk -l /dev/sde
Disk /dev/sde: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: TOSHIBA HDWD120
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9d878eda
Device Boot Start End Sectors Size Id Type
/dev/sde1 2048 3907020976 3907018929 1,8T fd Linux raid autodetect

Anzeige in der Größeneinheit cylinders

  • Die Standardgrößeneinheit ist sectors (Sektoren).
# fdisk -l /dev/sda1
Disk /dev/sda1: 18,6 GiB, 19999490048 bytes, 39061504 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  • Änderung der Größeneinheit von sectors auf cylinders (Zylinder).
# fdisk -lu=cylinders /dev/sda1
Disk /dev/sda1: 18,6 GiB, 19999490048 bytes, 39061504 sectors
Units: cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Wechsel in den interaktiven Modus

# fdisk /dev/sdd
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):

Kommandoübersicht anzeigen lassen

# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xdfca4904.
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table

Nummernindex der Partitionstypen anzeigen lassen

# fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): L
1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F
3 Intel Fast Flash D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
4 BIOS boot 21686148-6449-6E6F-744E-656564454649
5 Sony boot partition F4019732-066E-4E12-8273-346C5641494F
6 Lenovo boot partition BFBFAFE7-A34F-448A-9A5B-6213EB736C22
7 PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B
8 ONIE boot 7412F7D5-A156-4B13-81DC-867174929325
9 ONIE config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
10 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE
11 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
12 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
13 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD
14 Windows recovery environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
15 IBM General Parallel Fs 37AFFC90-EF7D-4E96-91C3-2D7AE055B174
16 Microsoft Storage Spaces E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
17 HP-UX data 75894C1E-3AEB-11D3-B7C1-7B03A0000000
18 HP-UX service E2A1E728-32E3-11D6-A682-7B03A0000000
19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4
21 Linux server data 3B8F8425-20E0-4F3B-907F-1A25A76F98E8
22 Linux root (x86) 44479540-F297-41B2-9AF7-D131D5F0458A
23 Linux root (ARM) 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
24 Linux root (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
25 Linux root (ARM-64) B921B045-1DF0-41C3-AF44-4C6F280D3FAE
26 Linux root (IA-64) 993D8D3D-F80E-4225-855A-9DAF8ED7EA97
27 Linux reserved 8DA63339-0007-60C0-C436-083AC8230908
28 Linux home 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
29 Linux RAID A19D880F-05FC-4D3B-A006-743F0F84911E
30 Linux extended boot BC13C2FF-59E6-4262-A352-B275FD6F7172
31 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928
32 FreeBSD data 516E7CB4-6ECF-11D6-8FF8-00022D09712B
33 FreeBSD boot 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
34 FreeBSD swap 516E7CB5-6ECF-11D6-8FF8-00022D09712B
35 FreeBSD UFS 516E7CB6-6ECF-11D6-8FF8-00022D09712B
36 FreeBSD ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B
37 FreeBSD Vinum 516E7CB8-6ECF-11D6-8FF8-00022D09712B
38 Apple HFS/HFS+ 48465300-0000-11AA-AA11-00306543ECAC
  • Hier werden die ersten 38 Partitionstypen angezeigt.
  • Durch Drücken der Enter-Taste wird jeweils der nächste mögliche Partitionstyp angezeigt.
39 Apple UFS 55465300-0000-11AA-AA11-00306543ECAC
40 Apple RAID 52414944-0000-11AA-AA11-00306543ECAC
41 Apple RAID offline 52414944-5F4F-11AA-AA11-00306543ECAC
42 Apple boot 426F6F74-0000-11AA-AA11-00306543ECAC
43 Apple label 4C616265-6C00-11AA-AA11-00306543ECAC
44 Apple TV recovery 5265636F-7665-11AA-AA11-00306543ECAC
45 Apple Core storage 53746F72-6167-11AA-AA11-00306543ECAC
46 Solaris boot 6A82CB45-1DD2-11B2-99A6-080020736631
47 Solaris root 6A85CF4D-1DD2-11B2-99A6-080020736631
48 Solaris /usr & Apple ZFS 6A898CC3-1DD2-11B2-99A6-080020736631
49 Solaris swap 6A87C46F-1DD2-11B2-99A6-080020736631
50 Solaris backup 6A8B642B-1DD2-11B2-99A6-080020736631
51 Solaris /var 6A8EF2E9-1DD2-11B2-99A6-080020736631
52 Solaris /home 6A90BA39-1DD2-11B2-99A6-080020736631
53 Solaris alternate sector 6A9283A5-1DD2-11B2-99A6-080020736631
54 Solaris reserved 1 6A945A3B-1DD2-11B2-99A6-080020736631
55 Solaris reserved 2 6A9630D1-1DD2-11B2-99A6-080020736631
56 Solaris reserved 3 6A980767-1DD2-11B2-99A6-080020736631
57 Solaris reserved 4 6A96237F-1DD2-11B2-99A6-080020736631
58 Solaris reserved 5 6A8D2AC7-1DD2-11B2-99A6-080020736631
59 NetBSD swap 49F48D32-B10E-11DC-B99B-0019D1879648
60 NetBSD FFS 49F48D5A-B10E-11DC-B99B-0019D1879648
61 NetBSD LFS 49F48D82-B10E-11DC-B99B-0019D1879648
62 NetBSD concatenated 2DB519C4-B10E-11DC-B99B-0019D1879648
63 NetBSD encrypted 2DB519EC-B10E-11DC-B99B-0019D1879648
64 NetBSD RAID 49F48DAA-B10E-11DC-B99B-0019D1879648
65 ChromeOS kernel FE3A2A5D-4F32-41A7-B725-ACCC3285A309
66 ChromeOS root fs 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
67 ChromeOS reserved 2E0A753D-9E48-43B0-8337-B15192CB1B5E
68 MidnightBSD data 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
69 MidnightBSD boot 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
70 MidnightBSD swap 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
71 MidnightBSD UFS 0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7
72 MidnightBSD ZFS 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
73 MidnightBSD Vinum 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
74 Ceph Journal 45B0969E-9B03-4F30-B4C6-B4B80CEFF106
75 Ceph Encrypted Journal 45B0969E-9B03-4F30-B4C6-5EC00CEFF106
76 Ceph OSD 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
77 Ceph crypt OSD 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D
78 Ceph disk in creation 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE
79 Ceph crypt disk in creation 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE
80 VMware VMFS AA31E02A-400F-11DB-9590-000C2911D1B8
81 VMware Diagnostic 9D275380-40AD-11DB-BF97-000C2911D1B8
82 VMware Virtual SAN 381CFCCC-7288-11E0-92EE-000C2911D0B2
83 VMware Virsto 77719A0C-A4A0-11E3-A47E-000C29745A24
84 VMware Reserved 9198EFFC-31C0-11DB-8F78-000C2911D1B8
85 OpenBSD data 824CC7A0-36A8-11E3-890A-952519AD3F61
86 QNX6 file system CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
87 Plan 9 partition C91818F9-8025-47AF-89D2-F030D7000C2C
(END)
  • In diesem Fall sind noch weitere 49 Partitionstypen möglich.
  • Durch Eingabe des Buchstaben q schließt sich die Liste und der Partitionstyp kann durch Eingabe der Partitionsnummer geändert werden.

Neue primäre Partition anlegen

Auswählen

# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xdfca4904.
Command (m for help): g
Created a new GPT disklabel (GUID: 748568BC-EC8C-F34A-B822-45C2E267CFFB).
  • Als Disklabel wurde GPT festgelegt.
    • g steht für gpt
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-3907029134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029134, default 3907029134): +1842G
Created a new partition 1 of type 'Linux filesystem' and of size 1,8 TiB.
  • Neue Partitionstabelle wurde (vor)angelegt (siehe Kommando w).
    • n steht für new
  • Soll als primäre Partition angelegt werden.
    • 1 oder einfach "Enter" drücken, dann wird der Standardwert (default) genommen.
  • Am Anfang des Datenträgers werden 2048 Sektoren ungenutzt gelassen, um ein optimales Alignment zu ermöglichen.
  • Der erste Sektor der Partition soll bei Sektor 2048 beginnen.
    • 2048 oder einfach "Enter" drücken, dann wird der Standardwert (default) genommen.
  • Am Ende des Datenträgers werden auch Sektoren ungenutzt gelassen, denn falls nach Jahren ein Datenträger ausfällt und keine baugleiche Festplatte mehr beschafft werden kann, wird das RAID zum Datengrab.
  • Werden Sektoren am Ende ungenutzt gelassen, kann ein Datenträger, der einige Sektoren weniger hat, problemlos verwendet werden.
  • Hier sollen sicherheitshalber 1,2 GiB frei bleiben.
    • 1,8 TiB = 1843,2 GiB => +1842G
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 29
Changed type of partition 'Linux filesystem' to 'Linux RAID'.
  • Der Partitionstyp wurde auf "Linux RAID" geändert.
    • t steht für type
  • Die Nummer für den Partitionstyp "Linux RAID" ist die 29 (siehe Nummernindex der Partitionstypen).
    • 29

Kontrolle

Command (m for help): p
Disk /dev/sdc: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 748568BC-EC8C-F34A-B822-45C2E267CFFB
Device Start End Sectors Size Type
/dev/sdc1 2048 3862956031 3862953984 1,8T Linux RAID
  • Vor dem tatsächlichen Schreiben der Partitionstabelle bzw. Änderungen daran, sollte alles nochmal kontrolliert werden.
    • p steht für print

Schreiben

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
  • Partitionstabelle wurde tatsächlich geschrieben.
    • w steht für write

Partitionstyp ändern

# fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'.

SKRIPTDATEIEN

fdisk kann (mit dem Befehl »I«) sfdisk(8)-kompatible Skriptdateien verarbeiten. Das Skript wird auf die im Speicher vorgehaltene Partitionstabelle angewendet, wodurch es möglich ist, die Partitionstabelle vor dem eigentlichen Speichern auf dem Laufwerk zu verändern.

Umgekehrt können Sie mit dem Befehl »O« die im Speicher vorgehaltene Partitionsaufteilung in eine Skriptdatei schreiben.

Die Skriptdateien sind zu cfdisk(8), sfdisk(8), fdisk und weiteren libfdisk-Anwendungen kompatibel. Weitere Details finden Sie in sfdisk(8).


Fehlerbehebung

FARBEN

Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert. Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:

/etc/terminal-colors.d/fdisk.disable

Dies gilt für den Befehl fdisk. Die farbige Darstellung bei allen Werkzeugen erreichen Sie mit

/etc/terminal-colors.d/disable

Die benutzerspezifischen $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung außer Kraft.

Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen.

Folgende logische Farbnamen werden von fdisk unterstützt:

Option Beschreibung
header Die Kopfzeilen der ausgegebenen Tabellen.
help-title Die Titel des Hilfebereichs.
warn Die Warnmeldungen.
welcome Die Begrüßungsnachricht.

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Einzelnachweise
Projekt
Weblinks
  1. https://linux.die.net/man/8/fdisk
  2. https://manpages.debian.org/stretch/manpages-de/fdisk.8.de.html
  3. https://wiki.ubuntuusers.de/fdisk/


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


TMP

DISKLABEL

GPT (GUID-Partitionstabelle) GPT ist ein moderner Standard für das Layout der Partitionstabelle. GPT verwendet logische 64-Bit-Blockadressen, Prüfsummen, UUIDs und Namen für Partitionen sowie eine unbegrenzte Anzahl der Partitionen (wobei diese Anzahl in vielen Partitionierungswerkzeugen auf 128 begrenzt ist).

Beachten Sie, dass der erste Sektor gemäß der GPT-Spezifikation stets für einen geschützten MBR reserviert ist. Dies verhindert, dass Partitionierungswerkzeuge, die nur auf den MBR zugreifen, GPT-Festplatten falsch erkennen und überschreiben.

GPT ist stets vor MBR zu bevorzugen, insbesondere auf moderner Hardware mit einem UEFI-Bootloader.

DOS-Typ (MBR) Eine DOS-Partitionstabelle kann eine unbegrenzte Anzahl von Partitionen enthalten. In Sektor 0 gibt es Raum für die Beschreibung von 4 Partitionen (die als »primäre« bezeichnet werden). Eine von ihnen kann logische Partitionen enthalten und wird erweiterte Partition genannt. Jeder logischen Partition geht eine verkettete Liste von Sektoren voraus. Für die vier primären Partitionen sind unabhängig von deren Existenz die Nummern 1 bis 4 reserviert, die Nummerierung der logischen Partitionen beginnt bei 5.

In einer DOS-Partitionstabelle wird der Startversatz (starting offset) und die Größe der einzelnen Partitionen auf zwei Arten gespeichert: als absolute Anzahl der Sektoren (angegeben in 32 Bit) und als Zylinder/Köpfe/Sektoren-Tripel (CHS, angegeben in 10/8/6 Bit). Ersteres ist in Ordnung - mit 512-Byte-Sektoren funktioniert das bis zu 2 TB. Letzteres hat zwei Probleme. Erstens können die C/H/S-Felder nur dann ausgefüllt werden, wenn die Anzahl der Köpfe und die Anzahl der Sektoren pro Spur bekannt sind. Und zweitens, selbst wenn diese Zahlen bekannt sind, reichen die 24 verfügbaren Bit nicht aus. DOS verwendet C/H/S, Windows beides, Linux verwendet C/H/S nie. Die C/H/S-Adressierung ist veraltet, daher ist es möglich, dass diese in zukünftigen Versionen von fdisk nicht mehr unterstützt wird.

Bitte lesen Sie den Abschnitt zum DOS-Modus, wenn Sie DOS-kompatible Partitionen benötigen. fdisk beachtet in der Voreinstellung keine Zylindergrenzen.

BSD/Sun-Typ Ein BSD/SUN-Disklabel kann acht Partitionen beschreiben. Die dritte Partition sollte eine Partition beschreiben, die für eine »ganze Platte« steht. Partitionen, die (wie eine Auslagerungspartition) ihren ersten Sektor auf Zylinder 0 nutzen, sollten nicht benutzt werden, weil dadurch das Disklabel beschädigt wird. Beachten Sie, dass ein BSD-Label üblicherweise innerhalb einer DOS-Partition verschachtelt ist.

IRIX/SGI-Typ Ein IRIX/SGI-Disklabel kann 16 Partitionen beschreiben; die elfte sollte eine vollständige »volume«-Partition sein, während die neunte als »volume header« gekennzeichnet werden sollte. Der Volume Header wird auch die Partitionstabelle umfassen, d. h. er beginnt bei Block Null und erstreckt sich standardmäßig über fünf Zylinder. Der verbleibende Platz im Volume Header kann durch Header-Verzeichniseinträge belegt werden. Es dürfen keine Partitionen mit dem Volume Header überlappen. Legen Sie dort kein Dateisystem an und verändern Sie nicht seinen Typ, weil Sie dadurch die Partitionstabelle verlieren. Verwenden Sie dieses Label nur, wenn Sie mit Linux auf IRIX-/SGI-Maschinen arbeiten oder auf IRIX-/SGI-Festplatten zugreifen.

Die Aufrufe sync(2) und ioctl(BLKRRPART) werden nach der Aktualisierung der Partitionstabelle ausgeführt (wobei die Partitionstabelle auf der Platte neu eingelesen wird), bevor das Programm beendet wird.

WARNUNG ZUM DOS-MODUS UND DOS 6.x Beachten Sie, dass all dies veraltet ist. Sie müssen sich eigentlich auf modernen Betriebssystemen nicht mit Dingen wie Geometrie und Zylindern befassen. Wenn Sie wirklich DOS-kompatible Partitionierung benötigen, dann müssen Sie den DOS-Modus und Zylinder-Einheiten mit den Befehlszeilenoptionen »-c=dos -u=cylinders« für fdisk aktivieren.

Der FORMAT-Befehl von DOS 6.x sucht im ersten Sektor des Datenbereichs der Partition nach ein paar Informationen und behandelt diese Informationen als zuverlässiger als die Informationen in der Partitionstabelle. Der DOS-FORMAT-Befehl erwartet vom DOS-FDISK-Befehl, dass die ersten 512 Byte des Datenbereichs einer Partition bei jeder Größenänderung gelöscht werden. DOS FORMAT wird dieser zusätzlichen Informationen suchen, auch wenn der /U-Schalter gesetzt ist - die Programmautoren betrachten dies als einen Fehler in DOS FORMAT und DOS FDISK.

Die Quintessenz ist: Wenn Sie mit fdisk oder cfdisk(8) die Größe eines Eintrags in der DOS-Partitionstabelle ändern, dann müssen Sie auch mit dd die ersten 512 Byte der Partition auf Null setzen, bevor Sie mit dem DOS-FORMAT-Befehl die Partition formatieren. Wenn Sie beispielsweise mit fdisk auf einer DOS-Partitionstabelle einen Eintrag für /dev/sda1 erstellt haben, dann würden Sie (nach dem Verlassen von fdisk und dem Neustart von Linux, damit die Informationen in der Partitionstabelle gültig sind) mit dem Befehl dd if=/dev/zero of=/dev/sda1 bs=512 count=1 die ersten 512 Byte der Partition auf Null setzen.

Wenn möglich, wird fdisk die Festplattengeometrie automatisch ermitteln. Dies ist nicht unbedingt die physische Geometrie des Datenträgers. Tatsächlich haben moderne Festplatten nicht wirklich so etwas wie eine physische Geometrie; sicherlich kann sie nicht in der vereinfachenden CHS-Form beschrieben werden. Aber diese Geometrie wird halt für die MS-DOS-Partitionstabelle verwendet.

In der Regel geht standardmäßig alles gut. Es gibt keine Probleme, wenn Linux das einzige System auf der Festplatte ist. Wenn allerdings der Datenträger mit anderen Betriebssystemen gemeinsam genutzt wird, ist es oft ratsam, ein fdisk eines anderen Betriebssystems mindestens eine Partition anlegen zu lassen. Beim Start liest Linux die Partitionstabelle aus und versucht abzuleiten, welche (fingierte) Geometrie für eine gute Zusammenarbeit mit anderen Systemen erforderlich ist.

Jedesmal, wenn im DOS-Modus eine Partitionstabelle ausgegeben wird, werden die Einträge in der Partitionstabelle auf Konsistenz geprüft. Es wird geprüft, ob die physikalischen und logischen Start- und Endpunkte übereinstimmen und ob jede Partition (mit Ausnahme der ersten) an einer Zylindergrenze startet und endet.

Einige Versionen von MS-DOS erstellen eine erste Partition, die nicht auf einer Zylindergrenze beginnt, sondern auf Sektor 2 des ersten Zylinders. Partitionen, die auf Zylinder 1 anfangen, können nicht auf einer Zylindergrenze beginnen. Wenn Sie nicht auch OS/2 auf Ihrer Maschine installiert haben, werden Sie wahrscheinlich trotzdem keine Schwierigkeiten bekommen.

Um die besten Ergebnisse zur erzielen, sollten Sie ein betriebssystemspezifisches Partitionierungsprogramm einsetzen. Beispielsweise sollten Sie DOS-Partitionen mit dem DOS-FDISK erzeugen und Linux-Partitionen mit den Linux-Programmen fdisk oder cfdisk(8).