Sfdisk: Unterschied zwischen den Versionen
K Textersetzung - „line>“ durch „line copy>“ |
|||
(48 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''sfdisk''' | '''sfdisk''' - Werkzeug zur Partitionierung von [[Datenträger]]n | ||
== Beschreibung == | == Beschreibung == | ||
Werkzeug zur [[Partitionierung]] von [[Datenträger]]n | |||
; Skriptorientiert | |||
sfdisk schützt beim Erzeugen einer neuen Festplattenbezeichnung den ersten Sektor | sfdisk schützt beim Erzeugen einer neuen Festplattenbezeichnung den ersten Sektor | ||
* Die Option --wipe always deaktiviert diesen Schutz | * Die Option --wipe always deaktiviert diesen Schutz | ||
(seit Version 2.26 | ; Beachten Sie | ||
<blockquote> | |||
* dass fdisk(8) und cfdisk(8) diesen Bereich standardmäßig vollständig löschen | |||
</blockquote> | |||
; 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 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 | ||
Zeile 32: | Zeile 31: | ||
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 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 | |||
<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 | |||
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 | |||
</blockquote> | |||
== Installation == | == Installation == | ||
Zeile 37: | Zeile 45: | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1-2" line> | <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 | ||
Zeile 47: | Zeile 55: | ||
! Unix !! GNU !! Parameter !! Beschreibung | ! 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 | ||
sichert die Sektoren der aktuellen Partitionstabelle, bevor mit der Partitionierung begonnen wird | |||
* Der voreingestellte Name der Sicherungsdatei ist ~/sfdisk-<Gerät>-<Position>.bak | * Der voreingestellte Name der Sicherungsdatei ist ~/sfdisk-<Gerät>-<Position>.bak | ||
* Einen anderen Namen können Sie mit der Option -O, --backup-file angeben | * Einen anderen Namen können Sie mit der Option -O, --backup-file angeben | ||
|- | |||
--color[=WANN] | | || --color || [=WANN] || stellt die Ausgabe farbig dar | ||
stellt die Ausgabe farbig dar | |||
* Das optionale Argument wann kann auto, never oder always sein | * Das optionale Argument wann kann auto, never oder always sein | ||
* Falls wann nicht angegeben ist, ist auto die Voreinstellung | * Falls wann nicht angegeben ist, ist auto die Voreinstellung | ||
Zeile 262: | Zeile 69: | ||
* Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an | * Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an | ||
* Siehe auch den Abschnitt FARBEN | * Siehe auch den Abschnitt FARBEN | ||
|- | |||
-f | | -f || --force || || deaktiviert alle Konsistenzprüfungen | ||
deaktiviert alle Konsistenzprüfungen | |- | ||
| || --lock || [=Modus] || verwendet eine exklusive BSD-Sperre für das Gerät oder die Datei, auf dem/der es agiert | |||
--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 | * 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 | * Falls das Argument Modus weggelassen wird, wird standardmäßig yes angenommen | ||
* Diese Option setzt die Umgebungsvariable $LOCK_BLOCK_DEVICE außer Kraft | * 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 | * Standardmäßig wird überhaupt keine Sperre gesetzt, dies wird aber empfohlen, um Kollisionen mit Udevd zu vermeiden | ||
|- | |||
-n | | -n || --no-act || || führt alles außer dem Schreiben auf das Gerät selbst durch | ||
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-reread | |- | ||
prüft nicht mittels des Ioctls | | || --no-tell-kernel || || informiert den Kernel nicht über Partitionsänderungen | ||
--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 | * 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 | * Die veränderte Partition sollte nicht verwendet (d.h | ||
* eingehängt) sein | * eingehängt) sein | ||
|- | |||
-O | | -O || --backup-file Pfad || || setzt den voreingestellten Namen der Sicherungsdatei außer Kraft | ||
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 | * Beachten Sie, dass der Gerätename und die Position stets an den Dateinamen angehängt werden | ||
|- | |||
--move-data[=Pfad] | | || --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 | ||
verschiebt die Daten, nachdem die Partition einen neuen Platz bekommen hat, | |||
* Die Größe der Partition darf sich nicht ändern und der alte und neue Ort können sich überlappen | * 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 | * 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 | Der optionale Pfad gibt den Namen der Protokolldatei an | ||
* Die Protokolldatei enthält Informationen zu allen Lese-/Schreibvorgängen der Partitionsdaten | * Die Protokolldatei enthält Informationen zu allen Lese-/Schreibvorgängen der Partitionsdaten | ||
* Das Wort | * 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 | * Das Protokoll ist seit Version 2.35 optional | ||
Beachten Sie, dass diese Aktion riskant und nicht atomar ist | Beachten Sie, dass diese Aktion riskant und nicht atomar ist | ||
* Vergessen Sie nicht, eine Sicherungskopie Ihrer Daten anzulegen! | * Vergessen Sie nicht, eine Sicherungskopie Ihrer Daten anzulegen! | ||
Siehe auch --move-use-fsync | 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) | |||
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 ( | |||
* 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) | * 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 | |||
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 | |||
--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 | ||
-o | |||
gibt die anzuzeigenden Spalten an | |||
* Mit --help erhalten Sie eine Liste aller unterstützten Spalten | * 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) | Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID) | ||
|- | |||
-q | | -q || --quiet || || unterdrückt zusätzliche Informationsmeldungen | ||
unterdrückt zusätzliche Informationsmeldungen | |- | ||
| -u || --unit || S || Veraltete Option | |||
-u | * Nur die Einheit ''sector'' wird unterstützt | ||
Veraltete Option | |||
* Nur die Einheit | |||
* Beim Befehl --show-size wird diese Option nicht unterstützt | * Beim Befehl --show-size wird diese Option nicht unterstützt | ||
|- | |||
-X | | -X || --label || Typ || gibt den Festplattenbezeichnungstyp (beispielsweise dos, gpt) an | ||
gibt den Festplattenbezeichnungstyp ( | |||
* 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 | * 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 | * Die Vorgabe oder die aktuelle Festplattenbezeichnung kann durch die Skriptkopfzeile ''label: <Name>'' außer Kraft gesetzt werden | ||
* Die Option --label erzwingt | * Die Option --label erzwingt | ||
nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten) | nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten) | ||
|- | |||
-Y | | -Y || --label-nested || Typ || erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung | ||
erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung | |||
* Die primäre Festplattenbezeichnung muss bereits existieren | * Die primäre Festplattenbezeichnung muss bereits existieren | ||
* Diese Option erlaubt beispielsweise die Bearbeitung eines hybriden/geschützten MBRs auf Geräten mit GPT | * Diese Option erlaubt beispielsweise die Bearbeitung eines hybriden/geschützten MBRs auf Geräten mit GPT | ||
|- | |||
-w | | -w || --wipe || WANN || entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden | ||
entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden | |||
* Das Argument WANN kann auto,never oder always lauten | * Das Argument WANN kann auto,never oder always lauten | ||
* Wenn diese Option nicht angegeben ist, ist die Vorgabe auto | * Wenn diese Option nicht angegeben ist, ist die Vorgabe auto | ||
Zeile 350: | Zeile 133: | ||
* In allen Fällen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird | * In allen Fällen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird | ||
* Siehe auch den Befehl wipefs(8) | * Siehe auch den Befehl wipefs(8) | ||
|- | |||
-W | | -W || --wipe-partitions || WANN || Dateisystem, RAID und Partitionstabellensignaturen von einer neu erstellten Partition entfernen, um mögliche Kollisionen zu vermeiden | ||
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 | * 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 | * 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 | * In allen Fällen werden erkannte Signaturen durch Warnmeldungen gemeldet, nachdem eine neue Partition erstellt wurde | ||
* Siehe auch den Befehl wipefs(8) | * 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 == | ||
sfdisk | === Partitionstabelle kopieren === | ||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
sudo sfdisk -d <quelle> | sfdisk <ziel> | |||
</syntaxhighlight> | |||
; Beispiel | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
sudo sfdisk -d /dev/sdb | sfdisk /dev/sdc | |||
</syntaxhighlight> | |||
=== Partitionstabelle sichern === | |||
== | |||
Es wird empfohlen, das Layout Ihrer Geräte zu sichern | Es wird empfohlen, das Layout Ihrer Geräte zu sichern | ||
* sfdisk unterstützt dies auf zwei Arten | * sfdisk unterstützt dies auf zwei Arten | ||
Zeile 535: | Zeile 167: | ||
Verwenden Sie die Option --dump, um eine Beschreibung der Geräteaufteilung in einer Textdatei zu speichern | 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 | * Das Speicherformat ist für die spätere Verarbeitung in sfdisk geeignet | ||
; 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 | Falls Sie eine komplette (binäre) Sicherungskopie aller Sektoren, in denen die Partitionstabelle gespeichert ist, machen möchten, dann verwenden Sie die Option --backup | ||
Zeile 549: | Zeile 184: | ||
* Die Sicherungsdatei enthält nur rohe Daten vom Gerät | * Die Sicherungsdatei enthält nur rohe Daten vom Gerät | ||
* Beachten Sie, dass das gleiche Konzept der Sicherungsdateien von wipefs(8) verwendet wird | * 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 | 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 | * 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 === | |||
{| 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 | |||
|} | |||
=== Farben === | |||
Die | 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 === | ||
{| class="wikitable options" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| [[/etc/fstab]] || Tabelle der zu montierenden Dateisysteme | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
# [[fdisk]](8) | |||
# [[cfdisk]](8) | |||
# [[parted]](8) | |||
# [[partprobe]](8) | |||
# [[partx(]]8) | |||
; Info-Pages | |||
=== Links === | |||
==== Weblinks ==== | |||
{{DEFAULTSORT:sfdisk}} | |||
{{DISPLAYTITLE:sfdisk}} | |||
[[Kategorie:Linux/Befehl]] | |||
[[Kategorie:Partitionierung]] | |||
</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
| |
-b | --backup | sichert die Sektoren der aktuellen Partitionstabelle, bevor mit der Partitionierung begonnen wird
| |
--color | [=WANN] | stellt die Ausgabe farbig dar
| |
-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
| |
-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
| ||
-O | --backup-file Pfad | setzt den voreingestellten Namen der Sicherungsdatei außer Kraft
| |
--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
Der optionale Pfad gibt den Namen der Protokolldatei an
Beachten Sie, dass diese Aktion riskant und nicht atomar ist
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)
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
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
|
-X | --label | Typ | gibt den Festplattenbezeichnungstyp (beispielsweise dos, gpt) an
nicht die Erstellung leerer Festplattenbezeichnungen durch sfdisk (siehe den Abschnitt LEERE FESTPLATTENBEZEICHNUNGEN unten) |
-Y | --label-nested | Typ | erzwingt die Bearbeitung einer geschachtelten Festplattenbezeichnung
|
-w | --wipe | WANN | entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden
|
-W | --wipe-partitions | WANN | Dateisystem, RAID und Partitionstabellensignaturen von einer neu erstellten Partition entfernen, um mögliche Kollisionen zu vermeiden
|
-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
|
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
- Info-Pages
Links
Weblinks