Website-Suche

10 fdisk-Befehle zum Verwalten von Linux-Festplattenpartitionen


fdisk steht (für "fixed disk or format disk") ist ein am häufigsten verwendetes befehlszeilenbasiertes Dienstprogramm zur Festplattenmanipulation für Linux/Unix-Systeme. Mit Hilfe des Befehls fdisk können Sie Partitionen auf einer Festplatte anzeigen, erstellen, in der Größe ändern, löschen, ändern, kopieren und verschieben, indem Sie eine eigene, benutzerfreundliche, textbasierte, menügesteuerte Oberfläche verwenden.

Dieses Tool ist sehr nützlich, wenn es darum geht, Platz für neue Partitionen zu schaffen, Platz für neue Laufwerke zu organisieren, alte Laufwerke neu zu organisieren und Daten auf neue Festplatten zu kopieren oder zu verschieben. Es ermöglicht Ihnen, maximal vier neue primäre Partitionen und die Anzahl logischer (erweiterter) Partitionen zu erstellen, basierend auf der Größe der Festplatte, die Sie in Ihrem System haben.

Dieser Artikel erklärt 10 grundlegende fdisk-Befehle zur Verwaltung einer Partitionstabelle in Linux-basierten Systemen. Sie müssen Root-Benutzer sein, um den Befehl fdisk ausführen zu können, andernfalls erhalten Sie die Fehlermeldung "Befehl nicht gefunden".

1. Zeigen Sie alle Festplattenpartitionen unter Linux an

Der folgende grundlegende Befehl listet alle vorhandenen Festplattenpartitionen auf Ihrem System auf. Das Argument '-l' steht für (listet alle Partitionen auf) wird mit dem Befehl fdisk verwendet, um alle verfügbaren Partitionen unter Linux anzuzeigen. Die Partitionen werden mit den Namen ihrer Geräte angezeigt. Beispiel: /dev/sda, /dev/sdb oder /dev/sdc.

[[email  ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

2. Zeigen Sie eine bestimmte Festplattenpartition unter Linux an

Um alle Partitionen einer bestimmten Festplatte anzuzeigen, verwenden Sie die Option '-l' mit dem Gerätenamen. Der folgende Befehl zeigt beispielsweise alle Festplattenpartitionen des Geräts /dev/sda an. Wenn Sie unterschiedliche Gerätenamen haben, schreiben Sie einfach den Gerätenamen als /dev/sdb oder /dev/sdc.

[[email  ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

3. Überprüfen Sie alle verfügbaren fdisk-Befehle

Wenn Sie alle Befehle anzeigen möchten, die für fdisk. Verwenden Sie einfach den folgenden Befehl, indem Sie den Festplattennamen wie /dev/sda angeben, wie unten gezeigt. Mit dem folgenden Befehl erhalten Sie eine Ausgabe ähnlich der untenstehenden.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

Geben Sie 'm' ein, um die Liste aller verfügbaren Befehle von fdisk zu sehen, die auf der /dev/sda-Festplatte ausgeführt werden können. Nachdem ich 'm' auf dem Bildschirm eingegeben habe, sehen Sie alle verfügbaren Optionen für fdisk, die Sie auf dem /dev/sda-Gerät verwenden können.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

4. Drucken Sie alle Partitionstabellen unter Linux

Um alle Partitionstabellen der Festplatte zu drucken, müssen Sie sich im Befehlsmodus einer bestimmten Festplatte befinden, z. B. /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

Geben Sie im Befehlsmodus "p" anstelle von "m" ein, wie wir es zuvor getan haben. Wenn ich 'p' eingebe, wird die spezifische /dev/sda-Partitionstabelle ausgegeben.

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

5. So löschen Sie eine Partition unter Linux

Wenn Sie eine bestimmte Partition (z.B. /dev/sda9) von der spezifischen Festplatte löschen möchten, z.B. /dev/sda. Dazu müssen Sie sich im fdisk-Befehlsmodus befinden.

[root@tecmint ~]# fdisk /dev/sda

Geben Sie als Nächstes 'd' ein, um einen bestimmten Partitionsnamen aus dem System zu löschen. Wenn ich 'd' eingebe, werde ich aufgefordert, die Partitionsnummer einzugeben, die ich von der /dev/sda-Festplatte löschen möchte. Angenommen, ich gebe hier die Nummer '4' ein, dann wird die Festplatte mit der Partitionsnummer '4' (d.h. /dev/sda4) gelöscht und freier Speicherplatz in der Partitionstabelle angezeigt. Geben Sie 'w' ein, um die Tabelle auf die Festplatte zu schreiben und nach neuen Änderungen an der Partitionstabelle zu beenden. Die neuen Änderungen werden erst nach dem nächsten Neustart des Systems wirksam. Dies kann aus der folgenden Ausgabe leicht verstanden werden.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
Partition number (1-4): 4

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

Warnung : Seien Sie vorsichtig, während Sie diesen Schritt ausführen, da die Verwendung der Option 'd' die Partition vollständig aus dem System löscht und möglicherweise alle Daten in der Partition verloren gehen.

6. So erstellen Sie eine neue Partition unter Linux

Wenn Sie noch freien Speicherplatz auf einem Ihrer Geräte haben, sagen Sie /dev/sda und möchten eine neue Partition darunter erstellen. Dann müssen Sie sich im fdisk-Befehlsmodus von /dev/sda befinden. Geben Sie den folgenden Befehl ein, um in den Befehlsmodus einer bestimmten Festplatte zu gelangen.

[root@tecmint ~]# fdisk /dev/sda

Nachdem Sie in den Befehlsmodus eingetreten sind, drücken Sie nun den Befehl "n", um eine neue Partition unter /dev/sda mit einer bestimmten Größe zu erstellen. Dies kann mit Hilfe der folgenden gegebenen Ausgabe demonstriert werden.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e

Beim Erstellen einer neuen Partition werden Sie nach zwei Optionen gefragt: "erweiterte" oder "primäre" Partitionserstellung. Drücken Sie 'e' für die erweiterte Partition und 'p' für die primäre Partition. Dann werden Sie aufgefordert, die folgenden zwei Eingaben einzugeben.

  1. Erste Zylindernummer der Partition, die erstellt werden soll.
  2. Letzte Zylindernummer der zu erstellenden Partition (Letzter Zylinder, +Zylinder oder +Größe).

Sie können die Größe des Zylinders eingeben, indem Sie "+5000M" in den letzten Zylinder einfügen. Hier bedeutet '+' Addition und 5000M bedeutet Größe der neuen Partition (z.B. 5000MB). Bitte beachten Sie, dass Sie nach dem Erstellen einer neuen Partition den Befehl 'w' ausführen sollten, um neue Änderungen an der Partitionstabelle zu ändern und zu speichern, und schließlich Ihr System neu starten, um die neu erstellte Partition zu überprüfen.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7. So formatieren Sie eine Partition unter Linux

Nachdem die neue Partition erstellt wurde, überspringen Sie nicht das Formatieren der neu erstellten Partition mit dem Befehl 'mkfs'. Geben Sie den folgenden Befehl in das Terminal ein, um eine Partition zu formatieren. Hier ist /dev/sda4 meine neu erstellte Partition.

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. So überprüfen Sie die Größe einer Partition unter Linux

Überprüfen Sie nach dem Formatieren der neuen Partition die Größe dieser Partition mit dem Flag 's' (zeigt die Größe in Blöcken an) mit dem Befehl fdisk. Auf diese Weise können Sie die Größe eines bestimmten Geräts überprüfen.

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9. So beheben Sie die Reihenfolge der Partitionstabellen

Wenn Sie eine logische Partition gelöscht und neu erstellt haben, bemerken Sie möglicherweise das Problem "Partition nicht in der richtigen Reihenfolge" oder eine Fehlermeldung wie "Partitionstabelleneinträge sind nicht in der Festplattenreihenfolge".

Wenn z. B. drei logische Partitionen wie (sda4, sda5 und sda6) gelöscht und eine neue Partition erstellt werden, können Sie davon ausgehen, dass der neue Partitionsname sda4 lautet. Das System würde es jedoch als sda5 erstellen. Dies geschieht, weil nach dem Löschen der Partition die sda7-Partition als sda4 verschoben wurde und sich der freie Speicherplatz an das Ende verschiebt.

Um solche Probleme mit der Partitionsreihenfolge zu beheben und sda4 der neu erstellten Partition zuzuweisen, geben Sie das 'x' ein, um einen zusätzlichen Funktionsabschnitt einzugeben, und geben Sie dann den Expertenbefehl 'f' ein, um die Reihenfolge der Partitionstabelle zu korrigieren, wie unten gezeigt.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): x

Expert command (m for help): f
Done.

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Vergessen Sie nach dem Ausführen des Befehls 'f' nicht, den Befehl 'w' auszuführen, um den fdisk-Befehlsmodus zu speichern und zu beenden. Sobald die Reihenfolge der Partitionstabellen behoben wurde, erhalten Sie keine Fehlermeldungen mehr.

10. So deaktivieren Sie das Boot-Flag (*) einer Partition

Standardmäßig zeigt der Befehl fdisk das Boot-Flag-Symbol (d.h. '*') auf jeder Partition an. Wenn Sie das Boot-Flag auf einer bestimmten Partition aktivieren oder deaktivieren möchten, führen Sie die folgenden Schritte aus.

[root@tecmint ~]# fdisk  /dev/sda

Drücken Sie den Befehl 'p', um die aktuelle Partitionstabelle anzuzeigen, Sie sehen, dass es ein Boot-Flag (Sternchen (*) Symbol in orangefarbener Farbe) auf der /dev/sda1-Festplatte gibt, wie unten gezeigt.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Geben Sie als Nächstes den Befehl 'a' ein, um das Boot-Flag zu deaktivieren, und geben Sie dann die Partitionsnummer '1' als (dh /dev/sda1) in meinem Fall ein. Dadurch wird das Boot-Flag auf der Partition /dev/sda1 deaktiviert. Dadurch wird das Sternchen (*) entfernt.

Command (m for help): a
Partition number (1-9): 1

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

Ich habe mein Bestes gegeben, um fast alle grundlegenden Befehle von fdisk-Befehlen einzuschließen, aber fdisk enthält immer noch eine Vielzahl anderer Expertenbefehle, die Sie verwenden können, indem Sie 'x' eingeben. Für detailliertere Informationen schauen Sie sich den Befehl 'man fdisk' aus dem Terminal an. Wenn ich einen wichtigen Befehl verpasst habe, teilen Sie ihn mir bitte über den Kommentarbereich mit.

Lesen Sie auch:

  1. 12 "df"-Befehle zum Überprüfen des Speicherplatzes unter Linux
  2. 10 nützliche "du"-Befehle, um die Festplattenauslastung von Dateien und Verzeichnissen zu ermitteln

Verwandte Artikel: