GNU/Linux >> LINUX-Kenntnisse >  >> Linux

15 Linux sfdisk-Befehlsbeispiele zum Verwalten von Festplattenpartitionen

Wenn Sie ein Systemadministrator sind, ist die Verwaltung der Festplattenpartition Ihres Linux-Servers eine wichtige Aufgabe.

In diesem Tutorial konzentrieren wir uns darauf, wie Sie das Befehlszeilenprogramm sfdisk verwenden, um Ihre Festplattenpartitionen zu verwalten.

Während sfdisk fdisk ähnlich ist, gibt es einige Partitionsmanipulationsaktivitäten, die in sfdisk sehr einfach durchzuführen sind. Beispielsweise können Sie neue Partitionen in einer nicht interaktiven Methode mit sfdisk erstellen.

Die folgenden sfdisk-Aktivitäten werden in diesem Tutorial behandelt:

  1. Vorhandene Festplattenpartitionen anzeigen
  2. Anzeigeeinheiten ändern (Anzeigegröße in MB)
  3. Neue Festplattenpartitionen erstellen (interaktive Methode)
  4. Konsistenz der Partitionstabelle überprüfen
  5. Gesamtpartitionsgröße anzeigen
  6. Festplattenpartitionsdetails in Textdatei ausgeben
  7. Neue Partitionen aus Textdatei erstellen (nicht interaktive Methode)
  8. Erweiterte Partitionsdetails anzeigen
  9. Festplattengeometrie zum Debuggen anzeigen
  10. Alle Festplattenpartitionstypen anzeigen
  11. Manipulieren Sie nur eine einzelne Festplattenpartition
  12. Probelaufmodus zur Überprüfung
  13. Markieren Sie eine bestimmte Partition als bootfähig
  14. Partitionstyp ändern
  15. Neue Partitionen aus Shell-Skript erstellen (nicht interaktive Methode)

1. Vorhandene Festplattenpartitionen anzeigen

Mit der Option -l können Sie alle Ihre Festplattenpartitionen anzeigen. -l steht für Liste.

Standardmäßig werden die Partitionen aller Festplatten auf Ihren Systemen angezeigt.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Oben:

  • Es zeigt die Partitionen sowohl für das sda- ​​als auch für das sdf-Gerät an.
  • sda hat nur eine Partition. dh sda1. Aber die Option -l zeigt immer noch alle 4 primären Partitionsinformationen an. Da sda in diesem Beispiel nur eine Partition hat (d. h. sda1), wird für die verbleibenden 3 Partitionen (sda2, sda3, sda4) in der letzten Spalte „Empty“ angezeigt.
  • Die Geräte-sdf hat keine Partition. d.h. auf diesem Gerät wurde noch nichts erstellt. Es wird also nichts für dieses Gerät aufgelistet.

Sie können auch Festplattenpartitionen eines bestimmten Geräts anzeigen, indem Sie den Gerätenamen wie unten gezeigt übergeben.

# sfdisk -l /dev/sdf

Anstelle von -l können Sie auch –list wie unten gezeigt verwenden.

sfdisk --list
sfdisk --list /dev/sdf

Wenn Sie neu in der Verwaltung von Festplatten sind, möchten Sie vielleicht auch verstehen, wie Sie den regulären vertrauenswürdigen fdisk-Befehl verwenden:7 Beispiele für Linux-fdisk-Befehle zum Verwalten von Festplattenpartitionen

2. Anzeigeeinheiten ändern (Anzeigegröße in MB)

Standardmäßig zeigt sfdisk die Größe in Blöcken an. Sehen Sie sich in der obigen Ausgabe von sfdisk -l die Spalte „#blocks“ an.

Wenn Sie jedoch die Größe in MB anzeigen möchten, verwenden Sie die Option -u wie unten gezeigt. -u steht für Einheit. Sie müssen den Einheitentyp angeben. In diesem Beispiel ist der Einheitentyp, den wir spezifizieren, M (was MB ist)

Die Option -uM ersetzt die Spalte „#cyls“ aus der obigen Ausgabe durch „MiB“ (Größe in MB), wie unten gezeigt.

# sfdisk -l -uM

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdf1         0+  8032-  8033-   8225279+  83  Linux
/dev/sdf2      8032+  8189-   157-    160650   83  Linux
/dev/sdf3         0      -      0          0    0  Empty
/dev/sdf4         0      -      0          0    0  Empty

Im Folgenden sind die verschiedenen Einheitentypen aufgeführt, die Sie angeben können:

  • M für MB
  • C für Anzahl der Zylinder (dies ist die Standardeinstellung)
  • S für Anzahl der Sektoren
  • B für Anzahl der Blöcke (dies wird auch in der Standardausgabe zusammen mit #Zylindern angezeigt)
# sfdisk -l -uM
# sfdisk -l -uC 
# sfdisk -l -uS 
# sfdisk -l -uB 

3. Neue Festplattenpartitionen erstellen (interaktive Methode)

Im folgenden Beispiel nehmen wir eine leere Festplatte (sdf) und erstellen darauf Partitionen mit sfdisk.

# sfdisk /dev/sdf

Das Folgende ist die Ausgabe des obigen Befehls, die zum leichteren Verständnis in mehrere Abschnitte unterteilt ist.

Zuerst wird die sdf-Datei überprüft, um sicherzustellen, dass sie derzeit nicht gemountet ist oder von jemand anderem verwendet wird.

Checking that no-one is using this disk right now ...
OK

Als nächstes werden die aktuellen Partitionsinformationen auf diesem Gerät angezeigt. Wie von hier aus zu sehen, gibt es derzeit keine Partition auf dem sdf-Gerät.

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
sfdisk:  /dev/sdf: unrecognized partition table type

Old situation:
sfdisk: No partitions found

Als nächstes werden Sie aufgefordert, die Partitionsgröße für alle 4 primären Partitionen einzugeben. Selbst wenn Sie nur eine Partition erstellen möchten, werden Sie für alle primären Partitionen zu 4 unterschiedlichen Zeiten aufgefordert.

Im Folgenden:

  • In diesem Beispiel möchte ich zwei Partitionen erstellen.
  • Als es nach „/dev/sdf1 :“ gefragt wird, erstelle ich die erste Partition. Hier habe ich „0 1024“ eingegeben. 0 ist der Anfang des Zylinders und 1024 ist das Ende des Zylinders für die 1. Partition.
  • Als Nächstes erstelle ich die 2. Partition, wenn nach „/dev/sdf2 :“ gefragt wird. Hier habe ich einfach die Eingabetaste gedrückt, wodurch der gesamte verbleibende Speicherplatz belegt und die zweite Partition erstellt wird.
  • Als nächstes habe ich einfach die Eingabetaste für sdf3 und sdf4 gedrückt. Da auf sdf kein Platz mehr vorhanden ist, ist es einfach leer, wie unten gezeigt.
  • Bitte beachten Sie auch, dass die Partition standardmäßig als „Linux“-Typ erstellt wird. Wenn Sie es in einen anderen Typ ändern möchten, sollten Sie den Typ angeben.
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).

/dev/sdf1 :0 1024
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2 :
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3 :
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4 :
/dev/sdf4          0       -       0          0    0  Empty

Jetzt zeigt sfdisk die Partitionen an, die es erstellt. Wie unten gezeigt, werden zwei Partitionen erstellt (sdf1 und sdf2).

New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.

Abschließend wird um Bestätigung gebeten. Wenn Sie einen Fehler gemacht haben und die obigen Partitionen nicht erstellen möchten, geben Sie zum Beenden „q“ ein. Hier habe ich y eingegeben, um diese beiden neuen Partitionen zu erstellen.

Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Schließlich habe ich überprüft, ob die Partitionen erfolgreich mit sfdisk -l erstellt wurden, wie unten gezeigt.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

In einem verwandten Hinweis zum Erstellen großer Partitionen lesen Sie Folgendes:How to Create Partition on Linux for>2TB Size using Parted GPT

4. Überprüfen Sie die Konsistenz der Partitionstabelle

Verwenden Sie die Option -V (großes V), um eine Konsistenzprüfung für die Partitionstabellen durchzuführen. V steht für Verifizieren.

Wie in der folgenden Ausgabe gezeigt, wird „OK“ angezeigt, wenn alles in Ordnung ist. Dadurch werden auch alle Warnmeldungen angezeigt.

# sfdisk -V
Warning: partition 1 does not end at a cylinder boundary
/dev/sda: OK
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
/dev/sdf: OK

Sie können auch nur ein bestimmtes Gerät verifizieren, wie unten gezeigt.

# sfdisk -V /dev/sdf

Außerdem können Sie die Optionen V und l wie unten gezeigt kombinieren.

sfdisk -lV

Wenn Sie die Überprüfung innerhalb eines Shell-Skripts durchführen, können Sie die Option -q zusammen mit V verwenden. q steht für quiet. In diesem Fall wird keine Ausgabe angezeigt. Sie können jedoch den Status des Befehls überprüfen, um zu überprüfen, ob die Konsistenzprüfung bestanden oder fehlgeschlagen ist, wie unten gezeigt.

# sfdisk -Vq 

# echo $?
0

Wenn Sie die Konsistenz des Festplatteninhalts selbst überprüfen möchten, verwenden Sie diese Methode:10 Beispiele für Linux-Fsck-Befehle zum Überprüfen und Reparieren des Dateisystems

5. Gesamtpartitionsgröße anzeigen

Verwenden Sie die Option -s, um die Gesamtgröße der Festplatte einschließlich aller Partitionen anzuzeigen. -s steht für Größe.

Dies zeigt die gesamte Partitionsgröße in Anzahl von Blöcken an.

Standardmäßig zeigt dies die Gesamtpartitionsgröße für jede einzelne Festplatte in Ihrem System an. Außerdem wird die Gesamtgröße aller Laufwerke in Ihrem System wie unten gezeigt angezeigt.

# sfdisk -s
/dev/sda:   8388608
/dev/sdf:   8388608
total: 16777216 blocks

Sie können auch die einzelne Festplatte (oder Partition) wie unten gezeigt angeben.

# sfdisk -s /dev/sdf
8388608
# sfdisk -s /dev/sdf1
1654694

6. Details der Festplattenpartition in Textdatei ausgeben

sfdisk bietet Ihnen auch die Option, alle Festplattenpartitionsinformationen in eine Textdatei zu kopieren.

Verwenden Sie dazu die Option -d. -d steht für Dump.

Standardmäßig gibt -d die Ausgabe auf dem Bildschirm aus. Dazu gehören die Partitionsinformationen für alle Geräte auf Ihrem System.

# sfdisk -d

Sie können auch die Partitionsinformationen eines bestimmten Geräts wie unten gezeigt ausgeben.

# sfdisk -d /dev/sda

Um es in eine Textdatei auszugeben, gehen Sie wie folgt vor. Dadurch werden die Partitionsinformationen von sda in die Textdatei sda.out ausgegeben.

# sfdisk -d /dev/sda > sda.out

# cat sda.out
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size= 16775168, Id=83, bootable
/dev/sda2 : start=        0, size=        0, Id= 0
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

7. Neue Partitionen aus Textdatei erstellen (nicht interaktive Methode)

Das Schöne an der Option -d ist, dass Sie einen Partitionsspeicherauszug eines bestimmten Geräts nehmen und diesen verwenden können, um einen ähnlichen Partitionsspeicherauszug auf einem anderen Gerät zu erstellen.

Wenn Sie beispielsweise die aktuelle Partition auf dem sda-Gerät auf das sdf-Gerät replizieren möchten, können Sie die Option -d wie unten gezeigt verwenden.

Nehmen Sie zuerst den Dump des sda-Geräts wie im vorherigen Beispiel gezeigt in die Datei sda.out.

Im obigen Beispiel haben wir, wie wir sehen, eine Partition auf dem sda-Gerät.

Auf dem sdf-Gerät haben wir derzeit zwei Partitionen.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Verwenden Sie nun die sda.out-Datei aus dem vorherigen Beispiel und verwenden Sie sie, um ähnliche Partitionen auf dem sdf-Gerät zu erstellen, wie unten gezeigt.

# sfdisk /dev/sdf < sda.out

Der obige Befehl verwendet die Partitionsinformationen aus der Datei sda.out und verwendet sie, um automatisch eine neue Partition auf sdf zu erstellen, ohne den Benutzer um eine Eingabe zu bitten, wie unten gezeigt.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdf1   *      2048  16777215   16775168  83  Linux
/dev/sdf2             0         -          0   0  Empty
/dev/sdf3             0         -          0   0  Empty
/dev/sdf4             0         -          0   0  Empty
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Nun, wie Sie aus der folgenden Ausgabe sehen, hat sdf eine neue Partition, die sda ​​ähnlich ist.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

8. Erweiterte Partitionsdetails anzeigen

x steht für erweiterte Partition. Wenn Sie x zusammen mit l kombinieren, werden auch die nicht primären erweiterten Partitionen angezeigt, wie unten gezeigt.

# sfdisk -lx /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    205     206-   1654694+  83  Linux
/dev/sdf2        206     411     206    1654695   83  Linux
/dev/sdf3        412     514     103     827347+  82  Linux swap / Solaris
/dev/sdf4        515    1043     529    4249192+   5  Extended

/dev/sdf5        515+    617     103-    827347   83  Linux
    -            618    1043     426    3421845    5  Extended
    -            515     514       0          0    0  Empty
    -            515     514       0          0    0  Empty

/dev/sdf6        618+   1043     426-   3421844+  83  Linux
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty

Sie können auch die Option -x verwenden, wenn Sie neue Partitionen erstellen. In diesem Fall fragt (oder erwartet) sfdisk Eingabedeskriptoren für sie.

9. Festplattengeometrie zum Debuggen anzeigen

Wenn Sie Probleme im Zusammenhang mit Partitionstabellen debuggen, sollten Sie unter anderem überprüfen, ob die Partitionstabelleninformationen auf dem Gerät dieselben sind, wie sie vom Kernel verstanden werden.

Es ist eine gute Idee, durch direktes Lesen der Partitionstabelle zu überprüfen, ob die Vorstellung des Kernels von der Geometrie des Geräts mit der tatsächlichen Geometrie des Geräts übereinstimmt.

Die Option -G (Großbuchstabe G) zeigt die tatsächliche Geometrie des Geräts an, indem die Partitionstabelle wie unten gezeigt direkt gelesen wird.

# sfdisk -G
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Die Option -g (Kleinbuchstabe g) zeigt die Vorstellung des Kernels von der Geometrie des Geräts an.

# sfdisk -g
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

In diesem Beispiel stimmen beide Ausgaben wie erwartet überein. Wenn dies nicht übereinstimmt, liegt ein Problem vor.

10. Alle Festplattenpartitionstypen anzeigen

Um alle unterstützten Partitionstypen anzuzeigen, die beim Erstellen neuer Partitionen mit sfdisk verwendet werden können, verwenden Sie die Option -T. T steht für Typ (d.h. Partitionstyp).

Dadurch werden die ID des Partitionstyps und der beschreibende Name angezeigt. Beim Erstellen der Partition geben Sie die ID des Partitionstyps an. Verwenden Sie zum Beispiel 82 als Typ für die Swap-Partition.

# sfdisk -T
Id  Name

 0  Empty
 1  FAT12
 2  XENIX root
 3  XENIX usr
 4  FAT16 <32M
 5  Extended
 6  FAT16
..
..
82  Linux swap / Solaris
83  Linux
84  OS/2 hidden C: drive
85  Linux extended
86  NTFS volume set
87  NTFS volume set
88  Linux plaintext
8e  Linux LVM
..
..

In Bezug auf Swap Space:2 Möglichkeiten zum Hinzufügen von Swap Space mit dd, mkswap und swapon

11. Bearbeiten Sie nur eine einzelne Festplattenpartition

Sie können die Option -N verwenden, um eine bestimmte Festplattenpartition zu manipulieren. -N steht für Nummer (d. h. Partitionsnummer).

Sie können dies verwenden, um eine neue Partition auf einer vorhandenen Festplatte zu erstellen, die bereits andere Partitionen hat.

Im folgenden Beispiel haben wir im sdf-Gerät bereits eine Partition. Aber wir wollen eine zweite Partition erstellen.

# sfdisk /dev/sdf -N2
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
/dev/sdf2 :512 1024
Warning: given size (1024) exceeds max allowable size (532)
/dev/sdf2 :512 532
/dev/sdf2        512    1043     532    4273290    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Oben:

  • Wir haben die Option -N2 verwendet, um nur die zweite Partition zu manipulieren.
  • Das bedeutet, dass sfdisk Sie nur nach den Partitionsinformationen für sdf2 fragen wird, wie oben gezeigt.
  • Dadurch wird die vorhandene sdf1-Partition nicht geändert.
  • Außerdem werden Sie dadurch nicht aufgefordert, Informationen zu sdf3 und sdf4 einzugeben

12. Probelaufmodus zur Verifizierung

Bevor Sie wirklich eine neue Partition erstellen oder Informationen in den Partitionstabellen ändern, sollten Sie sich vergewissern, dass die Syntax des Befehls, den Sie haben, in Ordnung ist.

In diesem Fall ist es am besten, die Option -n zu verwenden, die wirklich alle Bewegungen durchläuft, ohne wirklich etwas zu tun.

Die Option -n ist eine Trockenlaufoption, die alles durchläuft, was der Befehl tun soll, aber nichts speichert oder ändert.

Wenn Sie beispielsweise einen Partitionstyp ändern, können Sie die Option -n verwenden, die den Befehl durchläuft, aber nichts wirklich ändert, wie unten gezeigt.

# sfdisk -n --change-id /dev/sdf 1 82
sfdisk: -n flag was given: Nothing changed

Sie können dies auch verwenden, wenn Sie neue Partitionen erstellen, wie unten gezeigt. Dies wird den Befehl durchlaufen und alles in der Ausgabe anzeigen, aber ohne wirklich neue Partitionen zu erstellen.

sfdisk -n /dev/sdf < sda.out

13. Markiere eine bestimmte Partition als bootfähig

Verwenden Sie die Option -A, um eine bestimmte Partition als Startpartition zu markieren. -A steht für aktivieren.

Das folgende Beispiel aktiviert die zweite Partition (sdf2) als aktive Partition (d. h. als Boot markieren). Bitte beachten Sie, dass alle anderen Partitionen auf diesem Gerät (sdf), die bereits zum Booten markiert sind, jetzt nicht mehr markiert sind.

# sfdisk -A2 /dev/sdf
Done

Wie Sie der folgenden Ausgabe entnehmen können, wird nur sdf2 aktiviert. Das „*“ in der 2. Spalte (d. h. Boot) zeigt an, dass dies als Boot-Partition markiert ist.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

14. Partitionstyp ändern

Sie können den Partitionstyp einer vorhandenen Partition ändern.

Verwenden Sie zunächst die Option –print-id, um den Partitionstyp einer bestimmten Partition anzuzeigen. Der folgende Befehl zeigt den Partitionstyp von sdf1 an. Hier zeigt 83 in der Ausgabe an, dass sdf1 der Linux-Partitionstyp ist.

# sfdisk --print-id  /dev/sdf 1
83

Die folgende Ausgabe 0 zeigt an, dass die sdf2-Partition derzeit leer ist.

# sfdisk --print-id  /dev/sdf 2
0

Verwenden Sie nun die Option –change-id wie unten gezeigt, um den Partitionstyp eines Partitionsgeräts zu ändern.

In diesem Beispiel ändern wir den Partitionstyp der sdf2-Partition in 83 (Linux-Partition)

# sfdisk --change-id /dev/sdf 2 83
Done

Wie Sie der folgenden Ausgabe entnehmen können, ist sdf2 jetzt auf den Linux-Partitionstyp eingestellt (d. h. schauen Sie sich die letzte Spalte „System“ an)

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

15. Neue Partitionen aus Shell-Skript erstellen (nicht interaktive Methode)

Einer der großen Vorteile von sfdisk ist, dass Sie Partitionen on-the-fly von der Befehlszeile aus ohne jegliche Interaktion von sfdisk erstellen können.

Dies ist sehr hilfreich, wenn Sie die Partitionserstellung von einem Shell-Skript aus automatisieren möchten.

Wie Sie der folgenden Ausgabe entnehmen können, ist das sdf-Gerät derzeit leer. Dies hat keine Partitionen.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Führen Sie nun den folgenden Befehl aus, der automatisch drei Partitionen (sdf1, sdf2, sdf3) mit den unten angegebenen Werten erstellt.

# sfdisk /dev/sdf <<EOF
0,512
,512
;
;
EOF

Oben:

  • Es sollten 4 Zeilen in der obigen Eingabe für alle 4 primären Partitionen vorhanden sein.
  • Die erste Zeile zeigt an, dass es vom 1. Zylinder bis 512 beginnen sollte, um die 1. Partition zu erstellen (d. h. sdf1)
  • Die zweite Zeile gibt an, dass es mit dem letzten verfügbaren Zylinder als erstem Zylinder beginnen und von dort aus +512 Zylinder verwenden sollte, um die zweite Partition zu erstellen (d. h. sdf2)
  • Die dritte Zeile hat ein Semikolon, was anzeigt, dass die Standardwerte verwendet werden und der Benutzer nichts für die dritte Partition auffordert. In diesem Fall werden alle verbleibenden Zylinder auf der Festplatte verwendet und eine dritte Partition (z. B. sdf3) erstellt
  • Die vierte Zeile hat ein Semikolon, was anzeigt, dass die Standardwerte verwendet werden und der Benutzer nichts für die vierte Partition auffordert. Da in diesem Fall kein Platz mehr vorhanden ist, wird nichts für die 4. Partition (z. B. sdf4) erstellt

Das Folgende ist die Ausgabe des obigen sfdisk-Befehls. Bitte beachten Sie, dass dies keine Eingaben des Benutzers erfordert.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Überprüfen Sie, ob die drei Partitionen automatisch erstellt wurden, indem Sie die angegebenen Werte verwenden.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty

Linux
  1. Linux DD-Befehl - 15 Beispiele mit allen Optionen

  2. sa-Befehlsbeispiele in Linux

  3. ac-Befehlsbeispiele in Linux

  4. df-Befehlsbeispiele in Linux

  5. du-Befehlsbeispiele in Linux

16 Beispiele für Echo-Befehle unter Linux

9 Beispiele für tee-Befehle unter Linux

Fdisk-Befehl in Linux (Festplattenpartitionen erstellen)

Linux du Command Nützlichste Beispiele

ip-Befehlsbeispiele zum Verwalten von Netzwerken in Linux

id-Befehlsbeispiele in Linux