Zum Inhalt springen

Sfdisk: Unterschied zwischen den Versionen

Aus Foxwiki
KKeine Bearbeitungszusammenfassung
K Textersetzung - „line>“ durch „line copy>“
 
(86 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
TODO: Was ist sfdisk?
'''sfdisk''' - Werkzeug zur Partitionierung von [[Datenträger]]n


= Anwendungen =
== Beschreibung ==
== Partitionstabelle kopieren ==
Werkzeug zur [[Partitionierung]] von [[Datenträger]]n
sfdisk -d <quelle> | sfdisk <ziel>


sfdisk -d /dev/sdb | sfdisk /dev/sdc
; Skriptorientiert
sfdisk schützt beim Erzeugen einer neuen Festplattenbezeichnung den ersten Sektor
* Die Option --wipe always deaktiviert diesen Schutz


== Partitionstabelle sichern ==
; Beachten Sie
TODO
<blockquote>
* dass fdisk(8) und cfdisk(8) diesen Bereich standardmäßig vollständig löschen
</blockquote>


== Weitere Beispiele ==
; sfdisk seit Version 2.26
-l, --list [Gerät…]
richtet sfdisk Anfang und Ende von Partitionen an Blockgerät-E/A-Begrenzungen aus, wenn relative Größen angegeben werden, wenn die Vorgabewerte verwendet werden oder wenn multiplikative Endungen (beispielsweise  MiB) für Größen verwendet werden
  listet  alle  Partitionen von allen oder den angegebenen Geräten auf. Dieser Befehl kann zusammen mit --verify verwandt werden.
* Es ist möglich, dass Partitionsgrößen aufgrund der Ausrichtung optimiert (reduziert oder vergrößert) werden, falls der Anfangsversatz genau in Sektoren und die Partitionsgröße relativ oder durch multiplikative Endungen angegeben ist


-F, --list-free [Gerät …]
Es wird empfohlen, den Startversatz überhaupt nicht anzugeben und alle Partitionsgrößen in MiB, GiB (oder so)
  listet die freien unpartitionierten Bereiche aller oder der angegebenen Geräte auf.
* In diesem Fall wird sfdisk alle Partitionen an Blockgerät-E/A-Begrenzungen ausrichten (oder wenn die E/A-Begrenzungen zu klein sind, dann an Megabyte-Grenzen, um das Plattenlayout portabel zu halten)
* Falls dieses Vorgabeverhalten nicht gewünscht ist (normalerweise für sehr kleine Partitionen), dann geben Sie den Versatz und die Größe in Sektoren an
* In diesem Fall folgt sfdisk den angegebenen Nummern völlig ohne irgendwelche Optimierungen


-d, --dump Gerät
sfdisk erzeugt keine Standard-Systempartitionen für SGI- und SUN-Festplattenbezeichnungen, wie es fdisk(8) tut
  gibt  die Partitionen eines Gerätes in einem Format aus, das von sfdisk als Eingabe verarbeitet werden kann. Weitere Informationen finden Sie im Abschnitt SICHERUNG DER PARTITIONSTABELLE.
* Es ist notwendig, alle Partitionen einschließlich der die gesamte Festplatte umfassenden Systempartitionen explizit zu erzeugen


-r, --reorder Gerät
sfdisk verwendet den Ioctl BLKRRPART (Partitionstabelle erneut einlesen), um sicherzustellen, dass das Gerät nicht durch das System oder andere Werkzeuge verwendet wird (siehe auch --no-reread)
  nummeriert die Partitionen neu, sortiert nach ihrem Startversatz.
* Es ist möglich, dass diese Funktionalität oder ein anderes Sfdisk zu einem Ressourcenwettstreit mit udevd führt
* Es wird empfohlen, mit der Option --lock mögliche Kollisionen zu vermeiden
* Die exklusive Sperre wird Udevd dazu veranlassen, die Ereignisbearbeitung des Gerätes zu überspringen


-s, --show-size [Gerät…]
Die Eingabeaufforderung von sfdisk ist lediglich ein Hinweis für Benutzer und eine angezeigte Partitionsnummer bedeutet nicht, dass der zugehörige Eintrag in der Partitionstabelle erzeugt wird (sofern -N nicht angegeben ist), insbesondere für Tabellen mit Lücken
  listet die Größe von allen oder den angegebenen Partitionen in Einheiten von 1024  Byte auf. Dieser Befehl ist VERALTET, verwenden Sie stattdessen block‐


==Interne Links==
; Hinweis
# [[Linux:Befehl:fdisk]]
<blockquote>
 
Seit Version 2.26 sind die Optionen -R oder --re-read, welche das erneute Einlesen der Partitionstabelle erzwingen, in sfdisk nicht mehr verfügbar
==Externe Links==
Verwenden Sie stattdessen blockdev --rereadpt
TODO


Seit Version 2.26 sind die Optionen --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer und
--not-inside-outer in sfdisk nicht mehr verfügbar
</blockquote>


= BEZEICHNUNG =
== Installation ==
sfdisk - eine Plattenpartitionstabelle anzeigen oder verändern
sfdisk ist Teil des Pakets [[util-linux]]


= ÜBERSICHT =
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1-2" line copy>
sfdisk [Optionen] Gerät [-N Partitionsnummer]
sfdisk [Optionen] Gerät [-N Partitionsnummer]
sfdisk [Optionen] Befehl
sfdisk [Optionen] Befehl
</syntaxhighlight>


= BESCHREIBUNG =
=== Optionen ===
sfdisk ist ein Skript-orientiertes Werkzeug zur Partitionierung beliebiger Blockgeräte. Wenn es in einem Terminal ausgeführt wird, dann läuft es im interaktiven Modus (die Standardeingabe bezieht sich auf ein Terminal).
{| class="wikitable sortable options gnu"
 
|-
Seit Version 2.26 unterstützt sfdisk Festplattenbezeichnungen im Stil von MBR (DOS), GPT, SUN und SGI, jedoch ist die CHS-Addressierung
! Unix !! GNU !! Parameter !! Beschreibung
(Zylinder-Kopf-Sektor) nicht mehr möglich. CHS war für Linux nie von Bedeutung, daher ergibt dieses Adressierungskonzept für neue Geräte keinen Sinn.
|-
 
| -a || --append || || erzeugt keine neue Partitionstabelle, sondern hängt nur die angegebenen Partitionen an
sfdisk schützt beim Erzeugen einer neuen Festplattenbezeichnung den ersten Sektor. Die Option --wipe always deaktiviert diesen Schutz. Beachten Sie,
* Beachten Sie, dass eine ungenutzte Partition in diesem Fall wiederverwendet werden kann, obwohl sie nicht die letzte in der Partitionstabelle ist
dass fdisk(8) und cfdisk(8) diesen Bereich standardmäßig vollständig löschen.
* * Siehe auch N, wie Sie einen Eintrag für die Partitionstabelle angeben können
 
|-
(seit Version 2.26) richtet sfdisk Anfang und Ende von Partitionen an Blockgerät-E/A-Begrenzungen aus, wenn relative Größen angegeben werden, wenn die Vorgabewerte verwendet werden oder wenn multiplikative Endungen (z.B. MiB) für Größen verwendet werden. Es ist möglich, dass Partitionsgrößen aufgrund der Ausrichtung optimiert (reduziert oder vergrößert) werden, falls der Anfangsversatz genau in Sektoren und die Partitionsgröße relativ oder durch multiplikative Endungen angegeben ist.
| -b || --backup || || sichert die Sektoren der aktuellen Partitionstabelle, bevor mit der Partitionierung begonnen wird
 
* Der voreingestellte Name der Sicherungsdatei ist ~/sfdisk-<Gerät>-<Position>.bak
Es wird empfohlen, den Startversatz überhaupt nicht anzugeben und alle Partitionsgrößen in MiB, GiB (oder so). In diesem Fall wird sfdisk alle Partitionen an Blockgerät-E/A-Begrenzungen ausrichten (oder wenn die E/A-Begrenzungen zu klein sind, dann an Megabyte-Grenzen, um das Plattenlayout portabel zu halten). Falls dieses Vorgabeverhalten nicht gewünscht ist (normalerweise für sehr kleine Partitionen), dann geben Sie den Versatz und die Größe in Sektoren an. In diesem Fall folgt sfdisk den angegebenen Nummern völlig ohne irgendwelche Optimierungen.
* Einen anderen Namen können Sie mit der Option -O, --backup-file angeben
 
|-
sfdisk erzeugt keine Standard-Systempartitionen für SGI- und SUN-Festplattenbezeichnungen, wie es fdisk(8) tut. Es ist notwendig, alle Partitionen einschließlich der die gesamte Festplatte umfassenden Systempartitionen explizit zu erzeugen.
| || --color || [=WANN] || stellt die Ausgabe farbig dar
 
* Das optionale Argument wann kann auto, never oder always sein
sfdisk verwendet den Ioctl BLKRRPART (Partitionstabelle erneut einlesen), um sicherzustellen, dass das Gerät nicht durch das System oder andere Werkzeuge verwendet wird (siehe auch --no-reread). Es ist möglich, dass diese Funktionalität oder ein anderes Sfdisk zu einem Ressourcenwettstreit mit udevd führt. Es wird empfohlen, mit der Option --lock mögliche Kollisionen zu vermeiden. Die exklusive Sperre wird Udevd dazu veranlassen, die Ereignisbearbeitung des Gerätes zu überspringen.
* Falls wann nicht angegeben ist, ist auto die Voreinstellung
 
* Die Farben können deaktiviert werden
Die Eingabeaufforderung von sfdisk ist lediglich ein Hinweis für Benutzer und eine angezeigte Partitionsnummer bedeutet nicht, dass der zugehörige Eintrag in der Partitionstabelle erzeugt wird (sofern -N nicht angegeben ist), insbesondere für Tabellen mit Lücken.
* Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an
 
* Siehe auch den Abschnitt FARBEN
= BEFEHLE =
|-
Die Befehle schließen sich gegenseitig aus.
| -f || --force || || deaktiviert alle Konsistenzprüfungen
 
|-
[-N Partitionsnummer] Gerät
| || --lock || [=Modus] || verwendet eine exklusive BSD-Sperre für das Gerät oder die Datei, auf dem/der es agiert
In der Voreinstellung liest sfdisk die Spezifikation für die gewünschte Partitionierung des Geräts aus der Standardeingabe und ändert dann die Partitionstabellen auf diesem Blockgerät. Nachfolgend finden Sie eine Beschreibung des Eingabeformats. Wenn sfdisk ermittelt, dass die Standardeingabe ein Terminal ist, startet es eine interaktive Sitzung.
* 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
Wenn die Option -N angegeben ist, werden die Änderungen auf die Partition angewendet, auf welche die Partitionsnummer verweist. Nicht angegebene Felder der Partition werden nicht verändert.
* 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 Udevd zu vermeiden
Beachten Sie, dass Sie mit -N auch ungenutzte Partitionen bearbeiten können. Beispielsweise enthält der MBR stets vier Partitionen, aber die Anzahl der tatsächlich genutzten Partitionen kann kleiner sein. In diesem Fall folgt sfdisk den Standardwerten der Partitionstabelle und wendet nicht die voreingestellten Werte auf die mit -N angegebenen ungenutzten Partitionen an. Siehe auch --append.
|-
 
| -n || --no-act || || führt alles außer dem Schreiben auf das Gerät selbst durch
-A, --activate Gerät [Partitionsnummer …]
|-
schaltet die Bootfähig-Markierung für die angegebenen Partitionen ein und die Bootfähig-Markierung für alle nicht angegebenen Partitionen aus.
| || --no-reread || || prüft nicht mittels des Ioctls ''re-read-partition-table'', ob das Gerät verwendet wird
Der besondere Platzhalter »-« kann statt der Partitionsnummer verwendet werden, um die Bootfähig-Markierung auf allen Partitionen auszuschalten.
|-
 
| || --no-tell-kernel || || informiert den Kernel nicht über Partitionsänderungen
Der Aktivierungsbefehl wird nur für MBR und PMBR unterstützt. Falls eine GPT-Festplattenbezeichnung erkannt wird, dann gibt sfdisk eine Warnung aus und schaltet automatisch auf PMBR um.
* Diese Option wird zusammen mit der Option --no-reread empfohlen, um Partitionen auf einer verwendeten Platte zu ändern
 
* Die veränderte Partition sollte nicht verwendet (d.h
Falls keine Partitionsnummer angegeben ist, werden alle Partitionen aufgelistet, die als bootfähig markiert sind.
* eingehängt) sein
 
|-
--delete Gerät [Partitionsnummer …]
| -O || --backup-file Pfad || || setzt den voreingestellten Namen der Sicherungsdatei außer Kraft
löscht alle oder die angegebenen Partitionen.
* Beachten Sie, dass der Gerätename und die Position stets an den Dateinamen angehängt werden
 
|-
-d, --dump Gerät
| || --move-data || [=Pfad] ||verschiebt die Daten, nachdem die Partition einen neuen Platz bekommen hat, beispielsweise  wenn der Anfang einer Partition an einen anderen Platz auf der Platte verschoben wurde
gibt die Partitionen eines Gerätes in einem Format aus, das von sfdisk als Eingabe verarbeitet werden kann. Weitere Informationen finden Sie im Abschnitt SICHERUNG DER PARTITIONSTABELLE.
* Die Größe der Partition darf sich nicht ändern und der alte und neue Ort können sich überlappen
 
* Diese Option benötigt die Option -N, damit sie nur für eine bestimmte Partition verarbeitet wird
-g, --show-geometry [Gerät …]
Der optionale Pfad gibt den Namen der Protokolldatei an
listet die Geometrie aller oder der angegebenen Geräte auf. Für die Rückwärtskompatibilität hat die veraltete Option --show-pt-geometry die gleiche Bedeutung wie diese.
* Die Protokolldatei enthält Informationen zu allen Lese-/Schreibvorgängen der Partitionsdaten
 
* Das Wort ''@default'' als Pfad zwingt sfdisk, ~/sfdisk-<Gerätename>.move für das Protokoll zu verwenden
-J, --json Gerät
* Das Protokoll ist seit Version 2.35 optional
gibt die Partitionen eines Geräts im JSON-Format aus. Beachten Sie, dass JSON von sfdisk nicht als Eingabeformat verarbeitet werden kann.
Beachten Sie, dass diese Aktion riskant und nicht atomar ist
 
* Vergessen Sie nicht, eine Sicherungskopie Ihrer Daten anzulegen!
-l, --list [Gerät …]
Siehe auch --move-use-fsync
listet alle Partitionen von allen oder den angegebenen Geräten auf. Dieser Befehl kann zusammen mit --verify verwendet werden.
In dem nachfolgenden Beispiel erstellt der erste Befehl einen freien Bereich der Größe 100 MiB vor der ersten Partition und verschiebt die darin enthaltenen Daten (beispielsweise  ein Dateisystem)
 
* Der nächste Befehl erstellt eine neue Partition aus dem freien Bereich (bei Versatz 2048) und der letzte Befehl sortiert die Partitionen neu, so dass sie auf die Platten-Reihenfolge passen (der ursprüngliche sdc1 wird sdc2 werden)
-F, --list-free [Gerät …]
echo '+100M,' | sfdisk --move-data /dev/sdc -N 1 echo '2048,' | sfdisk /dev/sdc --append sfdisk /dev/sdc --reorder
listet die freien unpartitionierten Bereiche aller oder der angegebenen Geräte auf.
|-
 
| || --move-use-fsync || || verwendet den Systemaufruf fsync(2) nach jedem Schreibvorgang, wenn Daten mit --move-data an einen neuen Ort verschoben wurden
--part-attrs Gerät Partitionsnummer [Attribute]
|-
ändert die GPT-Partitions-Attributbits. Falls keine Attribute angegeben sind, dann werden die aktuellen Partitionseinstellungen ausgegeben. Das Argument Attribute ist eine durch Kommata oder Leerzeichen getrennte Liste von Bits oder Namen. Beispielsweise setzt die Zeichenkette
| -o || --output Liste || || gibt die anzuzeigenden Spalten an
»RequiredPartition,50,51« drei Bits. Die derzeit unterstützten Attributbits sind:
* 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)
Bit 0 (RequiredPartition)
|-
Falls dieses Bit gesetzt ist, ist diese Partition für die Funktionsfähigkeit der Plattform erforderlich. Der Ersteller der Partition macht kenntlich, dass Löschen oder Verändern des Inhalts zum Verlust von Funktionen der Plattform führen oder den Start oder den Betrieb der Plattform beeinträchtigen oder verhindern kann. Das System kann nicht normal funktionieren, wenn diese Partition entfernt wird; sie sollte als Teil der Hardware des Systems betrachtet werden.
| -q || --quiet || || unterdrückt zusätzliche Informationsmeldungen
 
|-
Bit 1 (NoBlockIOProtocol)
| -u || --unit || S || Veraltete Option
EFI-Firmware sollte den Inhalt der Partition ignorieren und nicht versuchen, aus ihr zu lesen.
* Nur die Einheit ''sector'' wird unterstützt
 
* Beim Befehl --show-size wird diese Option nicht unterstützt
Bit 2 (LegacyBIOSBootable)
|-
Die Partition kann mittels klassischer BIOS-Firmware bootfähig sein.
| -X || --label || Typ || gibt den Festplattenbezeichnungstyp (beispielsweise  dos, gpt) an
 
* Falls diese Option nicht angegeben ist, dann verwendet sfdisk die existierende Festplattenbezeichnung als Vorgabe, aber falls es noch keine Festplattenbezeichnung auf dem Gerät gibt, dann ist die Vorgabe dos
Bits 3-47
* Die Vorgabe oder die aktuelle Festplattenbezeichnung kann durch die Skriptkopfzeile ''label: <Name>'' außer Kraft gesetzt werden
Ist nicht definiert und muss 0 sein. Dies ist für Erweiterungen in zukünftigen Versionen der UEFI-Spezifikation reserviert.
* Die Option --label erzwingt
 
nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten)
Bits 48-63
|-
Für GUID-spezifische Anwendungsfälle reserviert. Die Verwendung dieser Bits ist vom Partitionstyp abhängig. Beispielsweise verwendet Microsoft das Bit 60, um anzugeben, dass die Partition schreibgeschützt ist, 61 für eine Kopie einer anderen Partition (von Microsoft als »Volumeschattenkopie« bezeichnet), 62 für versteckte Partitionen und 63 zum Verhindern der automatischen Einhängung.
| -Y || --label-nested || Typ || erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung
 
* Die primäre Festplattenbezeichnung muss bereits existieren
--part-label Gerät Partitionsnummer [Bezeichnung]
* Diese Option erlaubt beispielsweise die Bearbeitung eines hybriden/geschützten MBRs auf Geräten mit GPT
ändert den GPT-Partitionsnamen (Bezeichnung). Falls Bezeichnung nicht angegeben ist, dann wird die aktuelle Partitionsbezeichnung ausgegeben.
|-
 
| -w || --wipe || WANN || entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden
--part-type Gerät Partitionsnummer [Typ]
* Das Argument WANN kann auto,never oder always lauten
ändert den Partitionstyp. Falls kein Typ angegeben ist, dann wird der aktuelle Partitionstyp ausgegeben.
* Wenn diese Option nicht angegeben ist, ist die Vorgabe auto
 
* In diesem Fall werden die Signaturen nur im interaktiven Modus entfernt; außer dass alte Partitionstabellensignaturen immer vor der Erstellung einer neuen Partitionstabelle entfernt werden, falls das Argument WANN nicht never ist
Das Argument Typ ist hexadezimal für MBR, eine GUID für GPT, ein Typ-Alias (beispielsweise »linux«) oder ein Typ-Kürzel (beispielsweise »L«). Für die Rückwärtskompatibilität haben die Optionen -c und --id die gleiche Bedeutung wie diese.
* Im Modus auto wird auch der erste Sektor (der Bootsektor) nicht entfernt; um diesen Bereich ebenfalls zu entfernen, müssen Sie den Modus always verwenden
 
* In allen Fällen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird
--part-uuid Gerät Partitionsnummer [UUID]
* Siehe auch den Befehl wipefs(8)
ändert die GPT-Partitions-UUID. Falls UUID nicht angegeben ist, dann wird die aktuelle Partitions-UID ausgegeben.
|-
 
| -W || --wipe-partitions || WANN || Dateisystem, RAID und Partitionstabellensignaturen von einer neu erstellten Partition entfernen, um mögliche Kollisionen zu vermeiden
--disk-id Gerät [Kennung]
* Das Argument WANN kann auto, never oder always sein
ändert die Partitionskennung. Falls keine Kennung angegeben ist, dann wird die aktuelle Partitions-UID ausgegeben. Die Kennung ist eine UUID für GPt oder eine vorzeichenlose Ganzzahl für MBR.
* Wenn diese Option nicht angegeben ist, ist die Vorgabe auto, bei der Signaturen nur im interaktiven Modus und nach Bestätigung durch den Benutzer entfernt werden
 
* In allen Fällen werden erkannte Signaturen durch Warnmeldungen gemeldet, nachdem eine neue Partition erstellt wurde
-r, --reorder Gerät
* Siehe auch den Befehl wipefs(8)
nummeriert die Partitionen neu, sortiert nach ihrem Startversatz.
|-
 
| -v || --version || || zeigt Versionsinformationen an und beendet das Programm
-s, --show-size [Gerät …]
|-
listet die Größe von allen oder den angegebenen Partitionen in Einheiten von 1024 Byte auf. Dieser Befehl ist VERALTET, verwenden Sie stattdessen blockdev(8).
| -h || --help || || zeigt einen Hilfetext an und beendet das Programm
 
|-
-T, --list-types
|}
gibt alle unterstützten Typen für die aktuelle Plattenbezeichnung oder die durch --label angegebene Bezeichnung aus.
 
-V, --verify [Gerät …]
prüft, ob die Partitionstabelle und die Partitionen korrekt erscheinen.
 
--relocate Aktion Gerät
verschiebt den Partitionstabellen-Header. Dieser Befehl wird derzeit nur für GPT-Header unterstützt. Das Argument Aktion kann Folgendes sein:
 
gpt-bak-std
verschiebt den GPT-Sicherungs-Header an den standardmäßigen Ort am Ende des Geräts.
 
gpt-bak-mini
verschiebt den GPT-Sicherungs-Header hinter die letzte Partition. Beachten Sie, dass der UEFI-Standard den Sicherungs-Header am Ende des Geräts erwartet und Partitionierungswerkzeuge den Header automatisch verschieben können, um dem Standard zu folgen.
 
= OPTIONEN =
-a, --append
erzeugt keine neue Partitionstabelle, sondern hängt nur die angegebenen Partitionen an.
 
Beachten Sie, dass eine ungenutzte Partition in diesem Fall wiederverwendet werden kann, obwohl sie nicht die letzte in der Partitionstabelle ist. Siehe auch N, wie Sie einen Eintrag für die Partitionstabelle angeben können.
 
-b, --backup
sichert die Sektoren der aktuellen Partitionstabelle, bevor mit der Partitionierung begonnen wird. Der voreingestellte Name der Sicherungsdatei ist ~/sfdisk-<Gerät>-<Position>.bak. Einen anderen Namen können Sie mit der Option -O, --backup-file angeben.
 
--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.
 
-f, --force
deaktiviert alle Konsistenzprüfungen.
 
--Linux
Veraltete und ignorierte Option. Standardmäßig ist die Partitionierung mit Linux (und anderen modernen Betriebssystemen) kompatibel.
 
--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 Udevd zu vermeiden.
 
-n, --no-act
führt alles außer dem Schreiben auf das Gerät selbst durch.
 
--no-reread
prüft nicht mittels des Ioctls »re-read-partition-table«, ob das Gerät verwendet wird.
 
--no-tell-kernel
informiert den Kernel nicht über Partitionsänderungen. Diese Option wird zusammen mit der Option --no-reread empfohlen, um Partitionen auf einer verwendeten Platte zu ändern. Die veränderte Partition sollte nicht verwendet (d.h. eingehängt) sein.
 
-O, --backup-file Pfad
setzt den voreingestellten Namen der Sicherungsdatei außer Kraft. Beachten Sie, dass der Gerätename und die Position stets an den Dateinamen angehängt werden.
 
--move-data[=Pfad]
verschiebt die Daten, nachdem die Partition einen neuen Platz bekommen hat, z.B. wenn der Anfang einer Partition an einen anderen Platz auf der Platte verschoben wurde. Die Größe der Partition darf sich nicht ändern und der alte und neue Ort können sich überlappen. Diese Option benötigt die Option -N, damit sie nur für eine bestimmte Partition verarbeitet wird.
 
Der optionale Pfad gibt den Namen der Protokolldatei an. Die Protokolldatei enthält Informationen zu allen Lese-/Schreibvorgängen der Partitionsdaten. Das Wort »@default« als Pfad zwingt sfdisk, ~/sfdisk-<Gerätename>.move für das Protokoll zu verwenden. Das Protokoll ist seit Version 2.35 optional.
 
Beachten Sie, dass diese Aktion riskant und nicht atomar ist. Vergessen Sie nicht, eine Sicherungskopie Ihrer Daten anzulegen!
 
Siehe auch --move-use-fsync.
 
In dem nachfolgenden Beispiel erstellt der erste Befehl einen freien Bereich der Größe 100 MiB vor der ersten Partition und verschiebt die darin enthaltenen Daten (z.B. ein Dateisystem). Der nächste Befehl erstellt eine neue Partition aus dem freien Bereich (bei Versatz 2048) und der letzte Befehl sortiert die Partitionen neu, so dass sie auf die Platten-Reihenfolge passen (der ursprüngliche sdc1 wird sdc2 werden).
 
echo '+100M,' | sfdisk --move-data /dev/sdc -N 1 echo '2048,' | sfdisk /dev/sdc --append sfdisk /dev/sdc --reorder
 
--move-use-fsync
verwendet den Systemaufruf fsync(2) nach jedem Schreibvorgang, wenn Daten mit --move-data an einen neuen Ort verschoben wurden.
 
-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).
 
-q, --quiet
unterdrückt zusätzliche Informationsmeldungen.
 
-u, --unit S
Veraltete Option. Nur die Einheit »sector« wird unterstützt. Beim Befehl --show-size wird diese Option nicht unterstützt.
 
-X, --label Typ
gibt den Festplattenbezeichnungstyp (z.B. dos, gpt) an. Falls diese Option nicht angegeben ist, dann verwendet sfdisk die existierende Festplattenbezeichnung als Vorgabe, aber falls es noch keine Festplattenbezeichnung auf dem Gerät gibt, dann ist die Vorgabe dos. Die Vorgabe oder die aktuelle Festplattenbezeichnung kann durch die Skriptkopfzeile »label: <Name>« außer Kraft gesetzt werden. Die Option --label erzwingt
nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten).
 
-Y, --label-nested Typ
erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung. Die primäre Festplattenbezeichnung muss bereits existieren. Diese Option erlaubt beispielsweise die Bearbeitung eines hybriden/geschützten MBRs auf Geräten mit GPT.
 
-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; außer dass alte Partitionstabellensignaturen immer vor der Erstellung einer neuen Partitionstabelle entfernt werden, falls das Argument WANN nicht never ist. Im Modus auto wird auch der erste Sektor (der Bootsektor) nicht entfernt; um diesen Bereich ebenfalls zu entfernen, müssen Sie den Modus always verwenden. 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
Dateisystem, RAID und Partitionstabellensignaturen von einer neu erstellten Partition entfernen, um mögliche Kollisionen zu vermeiden. Das Argument WANN kann auto, never oder always sein. Wenn diese Option nicht angegeben ist, ist die Vorgabe auto, bei der Signaturen nur im interaktiven Modus und nach Bestätigung durch den Benutzer entfernt werden. In allen Fällen werden erkannte Signaturen durch Warnmeldungen gemeldet, nachdem eine neue Partition erstellt wurde. Siehe auch den Befehl wipefs(8).
 
-v, --version
zeigt Versionsinformationen an und beendet das Programm.
 
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
 
= EINGABEFORMATE =
sfdisk unterstützt zwei Eingabeformate und generische Kopfzeilen.
 
Kopfzeilen
Die optionalen Kopfzeilen geben generische Informationen an, die für die Partitionstabelle gelten. Das Kopfzeilenformat lautet:
 
<Name>: <Wert>
 
Folgende Kopfzeilen werden derzeit akzeptiert:
 
unit
gibt die Partitionierungseinheit an. Die einzige unterstützte Einheit ist sectors.
 
label
gibt den Partitionstabellentyp an. Beispielsweise dos oder gpt.
 
label-id
gibt den Partitionstabellenkennzeichner an. Er sollte eine hexadezimale Zahl (beginnend mit 0x) für MBR und eine UUID für GPT sein.
 
first-lba
gibt den ersten für GPT-Partitionen benutzbaren Sektor an.
 
last-lba
gibt den letzten für GPT-Partitionen benutzbaren Sektor an.
 
Tabellenlänge
gibt die maximale Anzahl an GPT-Partitionen an.
 
grain
gibt die minimale Größe in Bytes an, die zur Berechnung der Partitionsausrichtung verwendet wird. Die Vorgabe ist 1MiB. Es wird nachdrücklich empfohlen, die Vorgabe zu verwenden. Falls Sie sich nicht sicher sind, verändern Sie die Vorgabe nicht.
 
sector-size
gibt die Sektorengröße an. Diese Kopfzeile ist nur informativ und wird nicht verwendet, wenn sfdisk eine neue Partitionstabelle erzeugt. In diesem Fall wird immer der reale gerätespezifische Wert verwendet und die Sektorengröße aus der Ausgabe ignoriert.


Beachten Sie, dass Sie Kopfzeilen in der Eingabe nur vor der ersten Partition angeben können.
=== Parameter ===


Format ohne Feldnamen
=== Exit-Status ===
Start Größe Typ bootbar


wobei jede Zeile einen Partitionsdeskriptor darstellt.
== Anwendung ==
=== Partitionstabelle kopieren ===
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo sfdisk -d <quelle> | sfdisk <ziel>
</syntaxhighlight>


Felder werden durch Leerraum, Kommata oder Semikola getrennt, möglicherweise gefolgt von Leerraum; Leerraum am Anfang und Ende wird ignoriert. Zahlen können oktal, dezimal oder hexadezimal angegeben werden, die Vorgabe ist dezimal. Wenn ein Feld fehlt, leer oder mit »-« angegeben ist, wird ein Vorgabewert verwendet. Wenn aber die Option -N angegeben wird (eine einzelne Partition ändern), ist die Vorgabe für jedes Feld sein vorheriger Wert.
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo sfdisk -d /dev/sdb | sfdisk /dev/sdc
</syntaxhighlight>


Der Vorgabewert von Start ist der erste nicht zugewiesene Sektor, der entsprechend der E/A-Begrenzungen ausgerichtet ist. Der Vorgabe-Start-Versatz für die erste Partition ist 1 MiB. Der Versatz kann von einer multiplikativen Endung (KiB, MiB, GiB, TiB, PiB, EiB, ZiB und YiB) gefolgt werden; die Zahl wird dann als Versatz in Bytes interpretiert.
=== Partitionstabelle sichern ===
Es wird empfohlen, das Layout Ihrer Geräte zu sichern
* sfdisk unterstützt dies auf zwei Arten


Der Vorgabewert von Größe meint »so viel wie möglich«, d.h. bis zur nächsten Partition oder dem Ende des Geräts. Ein numerisches Argument wird standardmäßig als Anzahl von Sektoren interpretiert; wird aber die Größe von einem der multiplikativen Endungen (KiB, MiB, GiB, TiB, PiB, EiB, ZiB und YiB) gefolgt, dann wird die Zahl als Größe der Partition in Bytes interpretiert und wird dann entsprechend der E/A-Begrenzungen ausgerichtet. Ein
Verwenden Sie die Option --dump, um eine Beschreibung der Geräteaufteilung in einer Textdatei zu speichern
»+« kann statt einer Zahl verwendet werden, um die Partition so weit wie möglich zu vergrößern. Beachten Sie, dass »+« äquivalent zu dem Standardverhalten für eine neue Partition ist. Bestehende Partitionen werden wie notwendig in der Größe verändert.
* Das Speicherformat ist für die spätere Verarbeitung in sfdisk geeignet
 
Der Partitions-Typ wird für MBR (DOS) in hexadezimaler Notation angegeben, wobei das Präfix 0x optional ist. Für GPT wird er als GUID-Zeichenkette oder als Kürzel oder als Alias angegeben. Es wird empfohlen, zwei Buchstaben für MBR-Hexadezimalcodes zu verwenden, um Kollisionen zwischen dem als veraltet anzusehenden Kürzel »E« und »0E« für den MBR-Hexadezimalcode zu vermeiden. Aus Gründen der Abwärtskompatibilität versucht sfdisk, in Partitionierungsskripten den Typ als erste Möglichkeit als Kürzel anzusehen, obwohl es an anderen Stellen versucht (zum Beispiel bei --part-type),
Kürzel als letzte Möglichkeit zu probieren.
 
Seit Version 2.36 unterstützt Libfdisk Partitionstypen-Aliase als Ergänzung zu den Kürzeln. Ein Alias ist ein einfaches, menschenlesbares Wort
(beispielsweise »linux«).
 
Seit Version 2.37 unterstützt Libfdisk Partitionstypnamen als Eingabe, wobei Groß- oder Kleinschreibung sowie alle nicht alphanumerischen Zeichen und Nicht-Ziffern ignoriert werden (zum Beispiel ist »Linux /usr x86« gleichbedeutend mit »linux usr-x86«).
 
Unterstützte Kürzel und Aliase:
 
L - alias »linux«
Linux; bedeutet 83 für MBR und 0FC63DAF-8483-4772-8E79-3D69D8477DE4 für GPT.
 
S - alias »swap«
Swap-Bereich (Auslagerungsspeicher); bedeutet 82 für MBR und 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F für GPT
 
Ex - alias »extended«
Erweiterte MBR-Partition; bedeutet 05 für MBR. Das ursprüngliche Kürzel »E« ist als veraltet anzusehen, da es mit dem MBR-Partitionstyp 0x0E kollidiert.
 
H - alias »home«
home-Partition; bedeutet 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 für GPT
 
U - alias »uefi«
EFI-Systempartition, bedeutet EF für MBR und C12A7328-F81F-11D2-BA4B-00A0C93EC93B für GPT
 
R - alias »raid«
Linux RAID; bedeutet FD für MBR und A19D880F-05FC-4D3B-A006-743F0F84911E für GPT
 
V - alias »lvm«
LVM; bedeutet 8E für MBR und E6D6D379-F507-44C2-A23C-238F2A3DF928 für GPT
 
Der Vorgabe-Typ ist linux.
 
Das Kürzel »X« für eine erweiterte Linux-Partition (85) ist als veraltet anzusehen; verwenden Sie stattdessen »Ex«.
 
bootbar wird als [*|-] angegeben, standardmäßig nicht bootbar. Der Wert des Feldes ist für Linux irrelevant – wenn Linux läuft, ist es bereits gestartet – aber er könnte für bestimmte Systemstartprogramme und für andere Betriebssysteme eine Rolle spielen.
 
Format mit Feldnamen
Dieses Format ist lesbarer, robuster, erweiterbarer und erlaubt es, zusätzliche Informationen (z.B. eine UUID) anzugeben. Es wird empfohlen, dieses
Format zu verwenden, um Ihre Skripte lesbarer zu halten.
 
[Gerät :] Name[=Wert], …
 
Das Gerät-Feld ist optional. sfdisk ermittelt die Partitionsnummer aus dem Gerätenamen. Es erlaubt die Angabe der Partitionen in willkürlicher Reihenfolge. Diese Funktionalität wird meist von --dump verwendet. Verwenden Sie diese nicht, wenn Sie sich nicht sicher sind.
 
Der Wert kann zwischen Anführungszeichen angegeben werden (zum Beispiel name="Partitionsname"). Derzeit werden folgende Felder unterstützt:
 
start=Zahl
Der erste nicht zugewiesene Sektor, der entsprechend der E/A-Begrenzungen ausgerichtet ist. Der Vorgabestartversatz für die erste Partition ist 1
MiB. Dem Versatz kann eine multiplikative Endung (KiB, MiB, GiB, TiB, PiB, EiB, ZiB und YiB) folgen), diese Zahl wird dann als Versatz in Bytes interpretiert.
 
size=Zahl
gibt die Partitionsgröße in Sektoren an. Der Zahl können multiplikative Endungen folgen (KiB, MiB, GiB, TiB, PiB, EiB, ZiB und YiB), in diesem Fall wird die Größe als Bytes interpretiert und an den E/A-Grenzen des Gerätes ausgerichtet.
 
bootable
markiert die Partition als bootfähig.
 
attrs=Zeichenkette
gibt die Partitionsattribute an, üblicherweise die GPT-Partitionsattribut-Bits. In --part-attrs finden Sie weitere Details zum GPT-Bitformat.
 
uuid=Zeichenkette
gibt die GPT-Partitions-UUID an.
 
name=Zeichenkette
GPT-Partitionsname
 
type=Code
Hexadezimalzahl (ohne 0x) für eine MBR-Partition beziehungsweise GUID für eine GPT-Partition, oder ein Kürzel, wie für das Format ohne Feldnamen, oder ein Typname (zum Beispiel type="Linux /usr (x86)"). Im vorangegangenen Abschnitt finden Sie weitere Details über das Format ohne Feldnamen.
Zwecks Abwärtskompatibilität hat das Feld Id= die gleiche Bedeutung.
 
= LEERE FESTPLATTENBEZEICHNUNGEN =
sfdisk erstellt standardmäßig keine Partitionstabellen ohne Partitionen. Die Zeilen mit Partitionen werden im Skript standardmäßig erwartet. Die leere Partitionstabelle muss explizit mit den Skript-Kopfzeilen »label: <Name>« ohne irgendwelche Partitionszeilen erbeten werden. Beispielsweise erstellt
 
echo 'label: gpt' | sfdisk /dev/sdb
 
eine leere GPT-Partitionstabelle. Beachten Sie, dass --append diese Funktionalität deaktiviert.
 
= SICHERUNG DER PARTITIONSTABELLE =
Es wird empfohlen, das Layout Ihrer Geräte zu sichern. sfdisk unterstützt dies auf zwei Arten:
 
Verwenden Sie die Option --dump, um eine Beschreibung der Geräteaufteilung in einer Textdatei zu speichern. Das Speicherformat ist für die spätere Verarbeitung in sfdisk geeignet. Beispiel:


; Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
sfdisk --dump /dev/sda > sda.dump
sfdisk --dump /dev/sda > sda.dump
</syntaxhighlight>


Dies kann später wie folgt zurückgespielt werden:
Dies kann später wie folgt zurückgespielt werden
 
<syntaxhighlight lang="bash" highlight="1" line copy>
sfdisk /dev/sda < sda.dump
sfdisk /dev/sda < sda.dump
</syntaxhighlight>


Falls Sie eine komplette (binäre) Sicherungskopie aller Sektoren, in denen die Partitionstabelle gespeichert ist, machen möchten, dann verwenden Sie die Option --backup. Sie schreibt die Sektoren in Dateien ~/sfdisk-<Gerät>-<Versatz>.bak. Der Vorgabename der Sicherungsdatei kann mit der Option
Falls Sie eine komplette (binäre) Sicherungskopie aller Sektoren, in denen die Partitionstabelle gespeichert ist, machen möchten, dann verwenden Sie die Option --backup
--backup-file geändert werden. Die Sicherungsdatei enthält nur rohe Daten vom Gerät. Beachten Sie, dass das gleiche Konzept der Sicherungsdateien von wipefs(8) verwendet wird. Zum Beispiel:
* Sie schreibt die Sektoren in Dateien ~/sfdisk-<Gerät>-<Versatz>.bak
* Der Vorgabename der Sicherungsdatei kann mit der Option
--backup-file geändert werden
* Die Sicherungsdatei enthält nur rohe Daten vom Gerät
* Beachten Sie, dass das gleiche Konzept der Sicherungsdateien von wipefs(8) verwendet wird


; Zum Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
sfdisk --backup /dev/sda
sfdisk --backup /dev/sda
</syntaxhighlight>


Der GPT-Header kann später folgendermaßen wiederhergestellt werden:
; Der GPT-Header kann später folgendermaßen wiederhergestellt werden
 
<syntaxhighlight lang="bash" highlight="1" line copy>
dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda \ seek=$0x00000200 bs=1 conv=notrunc
dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda \ seek=$0x00000200 bs=1 conv=notrunc
</syntaxhighlight>


Beachten Sie, dass die Option -I zur Wiederherstellung von Sektoren in sfdisk seit Version 2.26 nicht mehr verfügbar ist. Die benötigte Funktionalität stellt dd(1) bereit.
Beachten Sie, dass die Option -I zur Wiederherstellung von Sektoren in sfdisk seit Version 2.26 nicht mehr verfügbar ist
 
* Die benötigte Funktionalität stellt dd(1) bereit
= FARBEN =
Implizites Einfärben wird deaktiviert, wenn die Datei /etc/terminal-colors.d/sfdisk.disable leer ist.


Lesen Sie terminal-colors.d(5) über die Einfärbekonfiguration. Die von sfdisk unterstützten logischen Farbnamen sind:
=== Problembehebung ===
; LEERE FESTPLATTENBEZEICHNUNGEN
sfdisk erstellt standardmäßig keine Partitionstabellen ohne Partitionen
* Die Zeilen mit Partitionen werden im Skript standardmäßig erwartet
* Die leere Partitionstabelle muss explizit mit den Skript-Kopfzeilen ''label: <Name>'' ohne irgendwelche Partitionszeilen erbeten werden


header
Beispielsweise erstellt
Die Kopfzeilen der ausgegebenen Tabellen.
echo 'label: gpt' | sfdisk /dev/sdb


warn
eine leere GPT-Partitionstabelle
Die Warnmeldungen.
* Beachten Sie, dass --append diese Funktionalität deaktiviert


welcome
== Konfiguration ==
Die Begrüßungsnachricht.
=== Umgebungsvariablen ===
{| class="wikitable options"
! Variable !! Wert !! Beschreibung
|-
| SFDISK_DEBUG || =all || aktiviert die Debug-Ausgabe für sfdisk
|-
| 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
|-
| LOCK_BLOCK_DEVICE || =<Modus> || verwendet eine exklusive BSD-Sperre
* Der Modus ist ''1'' oder ''0''
* Siehe --lock für weitere Details
|}


= UMGEBUNGSVARIABLEN =
=== Farben ===
SFDISK_DEBUG=all
Implizites Einfärben wird deaktiviert, wenn die Datei /etc/terminal-colors.d/sfdisk.disable leer ist
aktiviert die Debug-Ausgabe für sfdisk.
* Lesen Sie [[terminal-colors.d(5)]] über die Einfärbekonfiguration
* Die von sfdisk unterstützten logischen Farbnamen sind


LIBFDISK_DEBUG=all
=== Dateien ===
aktiviert die Debug-Ausgabe für libfdisk.
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| [[/etc/fstab]] || Tabelle der zu montierenden Dateisysteme
|}
<noinclude>


LIBBLKID_DEBUG=all
== Anhang ==
aktiviert die Debug-Ausgabe für libblkid.
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


LIBSMARTCOLS_DEBUG=all
=== Dokumentation ===
aktiviert die Debug-Ausgabe für libsmartcols.
; Man-Page
 
# [[fdisk]](8)
LOCK_BLOCK_DEVICE=<Modus>
# [[cfdisk]](8)
verwendet eine exklusive BSD-Sperre. Der Modus ist »1« oder »0«. Siehe --lock für weitere Details.
# [[parted]](8)
 
# [[partprobe]](8)
= ANMERKUNGEN =
# [[partx(]]8)
Seit Version 2.26 sind die Optionen -R oder --re-read, welche das erneute Einlesen der Partitionstabelle erzwingen, in sfdisk nicht mehr verfügbar.
Verwenden Sie stattdessen blockdev --rereadpt.
 
Seit Version 2.26 sind die Optionen --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer und
--not-inside-outer in sfdisk nicht mehr verfügbar.


= SIEHE AUCH =
; Info-Pages
fdisk(8), cfdisk(8), parted(8), partprobe(8), partx(8)


= VERFÜGBARKEIT =
=== Links ===
Der Befehl sfdisk ist Teil des Pakets util-linux, welches heruntergeladen werden kann von: Linux Kernel Archive
==== Weblinks ====
<https://www.kernel.org/pub/linux/utils/util-linux/>.
{{DEFAULTSORT:sfdisk}}
{{DISPLAYTITLE:sfdisk}}


[[Kategorie:Linux/Befehl]]
[[Kategorie:Partitionierung]]


[[Category:Linux:Befehl]]
</noinclude>

Aktuelle Version vom 11. Mai 2025, 13:47 Uhr

sfdisk - Werkzeug zur Partitionierung von Datenträgern

Beschreibung

Werkzeug zur Partitionierung von Datenträgern

Skriptorientiert

sfdisk schützt beim Erzeugen einer neuen Festplattenbezeichnung den ersten Sektor

  • Die Option --wipe always deaktiviert diesen Schutz
Beachten Sie
  • dass fdisk(8) und cfdisk(8) diesen Bereich standardmäßig vollständig löschen
sfdisk seit Version 2.26

richtet sfdisk Anfang und Ende von Partitionen an Blockgerät-E/A-Begrenzungen aus, wenn relative Größen angegeben werden, wenn die Vorgabewerte verwendet werden oder wenn multiplikative Endungen (beispielsweise MiB) für Größen verwendet werden

  • Es ist möglich, dass Partitionsgrößen aufgrund der Ausrichtung optimiert (reduziert oder vergrößert) werden, falls der Anfangsversatz genau in Sektoren und die Partitionsgröße relativ oder durch multiplikative Endungen angegeben ist

Es wird empfohlen, den Startversatz überhaupt nicht anzugeben und alle Partitionsgrößen in MiB, GiB (oder so)

  • In diesem Fall wird sfdisk alle Partitionen an Blockgerät-E/A-Begrenzungen ausrichten (oder wenn die E/A-Begrenzungen zu klein sind, dann an Megabyte-Grenzen, um das Plattenlayout portabel zu halten)
  • Falls dieses Vorgabeverhalten nicht gewünscht ist (normalerweise für sehr kleine Partitionen), dann geben Sie den Versatz und die Größe in Sektoren an
  • In diesem Fall folgt sfdisk den angegebenen Nummern völlig ohne irgendwelche Optimierungen

sfdisk erzeugt keine Standard-Systempartitionen für SGI- und SUN-Festplattenbezeichnungen, wie es fdisk(8) tut

  • Es ist notwendig, alle Partitionen einschließlich der die gesamte Festplatte umfassenden Systempartitionen explizit zu erzeugen

sfdisk verwendet den Ioctl BLKRRPART (Partitionstabelle erneut einlesen), um sicherzustellen, dass das Gerät nicht durch das System oder andere Werkzeuge verwendet wird (siehe auch --no-reread)

  • Es ist möglich, dass diese Funktionalität oder ein anderes Sfdisk zu einem Ressourcenwettstreit mit udevd führt
  • Es wird empfohlen, mit der Option --lock mögliche Kollisionen zu vermeiden
  • Die exklusive Sperre wird Udevd dazu veranlassen, die Ereignisbearbeitung des Gerätes zu überspringen

Die Eingabeaufforderung von sfdisk ist lediglich ein Hinweis für Benutzer und eine angezeigte Partitionsnummer bedeutet nicht, dass der zugehörige Eintrag in der Partitionstabelle erzeugt wird (sofern -N nicht angegeben ist), insbesondere für Tabellen mit Lücken

Hinweis

Seit Version 2.26 sind die Optionen -R oder --re-read, welche das erneute Einlesen der Partitionstabelle erzwingen, in sfdisk nicht mehr verfügbar Verwenden Sie stattdessen blockdev --rereadpt

Seit Version 2.26 sind die Optionen --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer und --not-inside-outer in sfdisk nicht mehr verfügbar

Installation

sfdisk ist Teil des Pakets util-linux

Aufruf

sfdisk [Optionen] Gerät [-N Partitionsnummer]
sfdisk [Optionen] Befehl

Optionen

Unix GNU Parameter Beschreibung
-a --append erzeugt keine neue Partitionstabelle, sondern hängt nur die angegebenen Partitionen an
  • Beachten Sie, dass eine ungenutzte Partition in diesem Fall wiederverwendet werden kann, obwohl sie nicht die letzte in der Partitionstabelle ist
  • * Siehe auch N, wie Sie einen Eintrag für die Partitionstabelle angeben können
-b --backup sichert die Sektoren der aktuellen Partitionstabelle, bevor mit der Partitionierung begonnen wird
  • Der voreingestellte Name der Sicherungsdatei ist ~/sfdisk-<Gerät>-<Position>.bak
  • Einen anderen Namen können Sie mit der Option -O, --backup-file angeben
--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
-f --force deaktiviert alle Konsistenzprüfungen
--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 Udevd zu vermeiden
-n --no-act führt alles außer dem Schreiben auf das Gerät selbst durch
--no-reread prüft nicht mittels des Ioctls re-read-partition-table, ob das Gerät verwendet wird
--no-tell-kernel informiert den Kernel nicht über Partitionsänderungen
  • Diese Option wird zusammen mit der Option --no-reread empfohlen, um Partitionen auf einer verwendeten Platte zu ändern
  • Die veränderte Partition sollte nicht verwendet (d.h
  • eingehängt) sein
-O --backup-file Pfad setzt den voreingestellten Namen der Sicherungsdatei außer Kraft
  • Beachten Sie, dass der Gerätename und die Position stets an den Dateinamen angehängt werden
--move-data [=Pfad] verschiebt die Daten, nachdem die Partition einen neuen Platz bekommen hat, beispielsweise wenn der Anfang einer Partition an einen anderen Platz auf der Platte verschoben wurde
  • Die Größe der Partition darf sich nicht ändern und der alte und neue Ort können sich überlappen
  • Diese Option benötigt die Option -N, damit sie nur für eine bestimmte Partition verarbeitet wird

Der optionale Pfad gibt den Namen der Protokolldatei an

  • Die Protokolldatei enthält Informationen zu allen Lese-/Schreibvorgängen der Partitionsdaten
  • Das Wort @default als Pfad zwingt sfdisk, ~/sfdisk-<Gerätename>.move für das Protokoll zu verwenden
  • Das Protokoll ist seit Version 2.35 optional

Beachten Sie, dass diese Aktion riskant und nicht atomar ist

  • Vergessen Sie nicht, eine Sicherungskopie Ihrer Daten anzulegen!

Siehe auch --move-use-fsync In dem nachfolgenden Beispiel erstellt der erste Befehl einen freien Bereich der Größe 100 MiB vor der ersten Partition und verschiebt die darin enthaltenen Daten (beispielsweise ein Dateisystem)

  • Der nächste Befehl erstellt eine neue Partition aus dem freien Bereich (bei Versatz 2048) und der letzte Befehl sortiert die Partitionen neu, so dass sie auf die Platten-Reihenfolge passen (der ursprüngliche sdc1 wird sdc2 werden)
echo '+100M,' | sfdisk --move-data /dev/sdc -N 1 echo '2048,' | sfdisk /dev/sdc --append sfdisk /dev/sdc --reorder
--move-use-fsync verwendet den Systemaufruf fsync(2) nach jedem Schreibvorgang, wenn Daten mit --move-data an einen neuen Ort verschoben wurden
-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)

-q --quiet unterdrückt zusätzliche Informationsmeldungen
-u --unit S Veraltete Option
  • Nur die Einheit sector wird unterstützt
  • Beim Befehl --show-size wird diese Option nicht unterstützt
-X --label Typ gibt den Festplattenbezeichnungstyp (beispielsweise dos, gpt) an
  • Falls diese Option nicht angegeben ist, dann verwendet sfdisk die existierende Festplattenbezeichnung als Vorgabe, aber falls es noch keine Festplattenbezeichnung auf dem Gerät gibt, dann ist die Vorgabe dos
  • Die Vorgabe oder die aktuelle Festplattenbezeichnung kann durch die Skriptkopfzeile label: <Name> außer Kraft gesetzt werden
  • Die Option --label erzwingt

nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten)

-Y --label-nested Typ erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung
  • Die primäre Festplattenbezeichnung muss bereits existieren
  • Diese Option erlaubt beispielsweise die Bearbeitung eines hybriden/geschützten MBRs auf Geräten mit GPT
-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; außer dass alte Partitionstabellensignaturen immer vor der Erstellung einer neuen Partitionstabelle entfernt werden, falls das Argument WANN nicht never ist
  • Im Modus auto wird auch der erste Sektor (der Bootsektor) nicht entfernt; um diesen Bereich ebenfalls zu entfernen, müssen Sie den Modus always verwenden
  • 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 Dateisystem, RAID und Partitionstabellensignaturen von einer neu erstellten Partition entfernen, um mögliche Kollisionen zu vermeiden
  • Das Argument WANN kann auto, never oder always sein
  • Wenn diese Option nicht angegeben ist, ist die Vorgabe auto, bei der Signaturen nur im interaktiven Modus und nach Bestätigung durch den Benutzer entfernt werden
  • In allen Fällen werden erkannte Signaturen durch Warnmeldungen gemeldet, nachdem eine neue Partition erstellt wurde
  • Siehe auch den Befehl wipefs(8)
-v --version zeigt Versionsinformationen an und beendet das Programm
-h --help zeigt einen Hilfetext an und beendet das Programm

Parameter

Exit-Status

Anwendung

Partitionstabelle kopieren

sudo sfdisk -d <quelle> | sfdisk <ziel>
Beispiel
sudo sfdisk -d /dev/sdb | sfdisk /dev/sdc

Partitionstabelle sichern

Es wird empfohlen, das Layout Ihrer Geräte zu sichern

  • sfdisk unterstützt dies auf zwei Arten

Verwenden Sie die Option --dump, um eine Beschreibung der Geräteaufteilung in einer Textdatei zu speichern

  • Das Speicherformat ist für die spätere Verarbeitung in sfdisk geeignet
Beispiel
sfdisk --dump /dev/sda > sda.dump

Dies kann später wie folgt zurückgespielt werden

sfdisk /dev/sda < sda.dump

Falls Sie eine komplette (binäre) Sicherungskopie aller Sektoren, in denen die Partitionstabelle gespeichert ist, machen möchten, dann verwenden Sie die Option --backup

  • Sie schreibt die Sektoren in Dateien ~/sfdisk-<Gerät>-<Versatz>.bak
  • Der Vorgabename der Sicherungsdatei kann mit der Option

--backup-file geändert werden

  • Die Sicherungsdatei enthält nur rohe Daten vom Gerät
  • Beachten Sie, dass das gleiche Konzept der Sicherungsdateien von wipefs(8) verwendet wird
Zum Beispiel
sfdisk --backup /dev/sda
Der GPT-Header kann später folgendermaßen wiederhergestellt werden
dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda \ seek=$0x00000200 bs=1 conv=notrunc

Beachten Sie, dass die Option -I zur Wiederherstellung von Sektoren in sfdisk seit Version 2.26 nicht mehr verfügbar ist

  • Die benötigte Funktionalität stellt dd(1) bereit

Problembehebung

LEERE FESTPLATTENBEZEICHNUNGEN

sfdisk erstellt standardmäßig keine Partitionstabellen ohne Partitionen

  • Die Zeilen mit Partitionen werden im Skript standardmäßig erwartet
  • Die leere Partitionstabelle muss explizit mit den Skript-Kopfzeilen label: <Name> ohne irgendwelche Partitionszeilen erbeten werden

Beispielsweise erstellt

echo 'label: gpt' | sfdisk /dev/sdb

eine leere GPT-Partitionstabelle

  • Beachten Sie, dass --append diese Funktionalität deaktiviert

Konfiguration

Umgebungsvariablen

Variable Wert Beschreibung
SFDISK_DEBUG =all aktiviert die Debug-Ausgabe für sfdisk
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
LOCK_BLOCK_DEVICE =<Modus> verwendet eine exklusive BSD-Sperre
  • Der Modus ist 1 oder 0
  • Siehe --lock für weitere Details

Farben

Implizites Einfärben wird deaktiviert, wenn die Datei /etc/terminal-colors.d/sfdisk.disable leer ist

  • Lesen Sie terminal-colors.d(5) über die Einfärbekonfiguration
  • Die von sfdisk unterstützten logischen Farbnamen sind

Dateien

Datei Beschreibung
/etc/fstab Tabelle der zu montierenden Dateisysteme


Anhang

Siehe auch

Dokumentation

Man-Page
  1. fdisk(8)
  2. cfdisk(8)
  3. parted(8)
  4. partprobe(8)
  5. partx(8)
Info-Pages

Links

Weblinks