Articles

10 fdisk-Befehle zum Verwalten von Linux-Festplattenpartitionen

fdisk steht für „fixed disk or format disk“ und ist ein häufig verwendetes kommandozeilenbasiertes Festplattenmanipulationsprogramm für Linux/Unix-Systeme. Mit Hilfe des fdisk-Befehls können Sie Partitionen auf einer Festplatte anzeigen, erstellen, in der Größe ändern, löschen, ändern, kopieren und verschieben, indem Sie eine 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, ein altes Laufwerk zu reorganisieren und Daten auf neue Festplatten zu kopieren oder zu verschieben. Es erlaubt Ihnen, maximal vier neue primäre Partitionen und eine Anzahl von logischen (erweiterten) Partitionen zu erstellen, basierend auf der Größe der Festplatte, die Sie in Ihrem System haben.

fdisk-Befehl zum Verwalten von Festplattenpartitionen

Dieser Artikel erklärt 10 grundlegende fdisk-Befehle zum Verwalten einer Partitionstabelle in Linux-basierten Systemen. Sie müssen root-Benutzer sein, um den fdisk-Befehl auszuführen, sonst erhalten Sie eine Fehlermeldung „Befehl nicht gefunden“.

Vorsicht – Erstellen, löschen oder ändern Sie keine Partitionen. Es sei denn, Sie wissen, was Sie tun!

Alle Festplattenpartitionen in Linux anzeigen

Der folgende grundlegende Befehl listet alle vorhandenen Festplattenpartitionen auf Ihrem System auf. Das Argument ‚-l‘ steht für (listing all partitions) und wird mit dem Befehl fdisk verwendet, um alle verfügbaren Partitionen unter Linux anzuzeigen. Die Partitionen werden anhand ihrer Gerätenamen angezeigt. Zum Beispiel: /dev/sda, /dev/sdb oder /dev/sdc.

# fdisk -lDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = 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

Spezifische Festplattenpartition in Linux anzeigen

Um alle Partitionen einer bestimmten Festplatte anzuzeigen, verwenden Sie die Option ‚-l‘ mit Gerätenamen. Zum Beispiel zeigt der folgende Befehl alle Festplattenpartitionen des Geräts /dev/sda an. Wenn Sie andere Gerätenamen haben, schreiben Sie einfach den Gerätenamen als /dev/sdb oder /dev/sdc.

# fdisk -l /dev/sdaDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = 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

Alle verfügbaren fdisk-Befehle anzeigen

Wenn Sie alle Befehle anzeigen möchten, die für fdisk verfügbar sind. Verwenden Sie einfach den folgenden Befehl unter Angabe des Festplattennamens, z. B. /dev/sda, wie unten gezeigt. Mit dem folgenden Befehl erhalten Sie eine Ausgabe ähnlich wie unten.

Tippen Sie ‚m‘ ein, um die Liste aller verfügbaren Befehle von fdisk zu sehen, die auf der Festplatte /dev/sda ausgeführt werden können. Nach der Eingabe von ‚m‘ sehen Sie alle verfügbaren Optionen für fdisk, die auf dem Gerät /dev/sda verwendet werden können.

# fdisk /dev/sdaWARNING: 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): mCommand 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):

Drucke alle Partitionstabellen in Linux

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

# fdisk /dev/sda

Aus dem Kommandomodus heraus geben Sie ‚p‘ statt ‚m‘ ein, wie wir es zuvor getan haben. Wenn ich ‚p‘ eingebe, wird die spezifische Partitionstabelle von /dev/sda ausgegeben.

Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = 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 LVMCommand (m for help):

Wie lösche ich eine Partition in Linux

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

# fdisk /dev/sda

Als Nächstes geben Sie ‚d‘ ein, um einen beliebigen Partitionsnamen aus dem System zu löschen. Wenn ich ‚d‘ eingebe, werde ich aufgefordert, die Partitionsnummer einzugeben, die ich von der Festplatte /dev/sda löschen möchte. Angenommen, ich gebe hier die Nummer ‚4‘ ein, dann wird die Partition mit der Nummer ‚4‘ (d.h. /dev/sda4) gelöscht und der freie Platz in der Partitionstabelle angezeigt. Geben Sie ‚w‘ ein, um die Tabelle auf die Festplatte zu schreiben und zu beenden, nachdem Sie neue Änderungen an der Partitionstabelle vorgenommen haben. Die neuen Änderungen würden erst nach dem nächsten Neustart des Systems wirksam werden.

Warnung: Seien Sie vorsichtig, während Sie diesen Schritt ausführen, da die Option ‚d‘ die Partition komplett aus dem System löscht und alle Daten in der Partition verloren gehen können.

Wie man eine neue Partition unter Linux erstellt

Wenn Sie auf einem Ihrer Geräte, z.B. /dev/sda, noch freien Platz haben und eine neue Partition darunter erstellen möchten. 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.

# fdisk /dev/sda

Nachdem Sie in den Befehlsmodus gelangt 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 Ausgabe demonstriert werden.

Bei der Erstellung einer neuen Partition werden Sie nach zwei Optionen gefragt: „erweiterte“ oder „primäre“ Partition erstellen. Drücken Sie ‚e‘ für erweiterte Partition und ‚p‘ für primäre Partition. Dann werden Sie aufgefordert, die folgenden zwei Eingaben zu machen.

  1. Erste Zylindernummer der zu erstellenden Partition.
  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“ im letzten Zylinder hinzufügen. Dabei bedeutet „+“ Addition und 5000M die Größe der neuen Partition (d.h. 5000MB). Bitte denken Sie daran, dass Sie nach dem Erstellen einer neuen Partition den Befehl ‚w‘ ausführen sollten, um die Änderungen in der Partitionstabelle zu ändern und zu speichern, und schließlich Ihr System neu starten sollten, um die neu erstellte Partition zu überprüfen.

Command (m for help): wThe 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 atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

Wie man eine Partition unter Linux formatiert

Nachdem die neue Partition erstellt wurde, sollten Sie nicht versäumen, die neu erstellte Partition mit dem Befehl ‚mkfs‘ zu formatieren. Geben Sie den folgenden Befehl in das Terminal ein, um eine Partition zu formatieren. Hier ist /dev/sda4 meine neu erstellte Partition.

# mkfs.ext4 /dev/sda4

Wie überprüfe ich die Größe einer Partition in Linux

Nach dem Formatieren einer neuen Partition überprüfen Sie 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.

# fdisk -s /dev/sda25194304

Wie man die Reihenfolge der Partitionstabellen repariert

Wenn Sie eine logische Partition gelöscht und erneut erstellt haben, kann es sein, dass Sie das Problem „Partition außer Betrieb“ oder eine Fehlermeldung wie „Partitionstabelleneinträge sind nicht in der Reihenfolge der Festplatte“ bemerken.

Wenn zum Beispiel drei logische Partitionen wie (sda4, sda5 und sda6) gelöscht und eine neue Partition erstellt wird, könnte man erwarten, dass der neue Partitionsname sda4 ist. Aber das System würde sie als sda5 anlegen. Das liegt daran, dass nach dem Löschen der Partitionen die Partition sda7 als sda4 verschoben wurde und sich der freie Speicherplatz nach hinten verschiebt.

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

# fdisk /dev/sdaWARNING: 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): xExpert command (m for help): fDone.Expert command (m for help): wThe 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 atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

Nachdem Sie den Befehl ‚f‘ ausgeführt haben, vergessen Sie nicht, den Befehl ‚w‘ auszuführen, um zu speichern und den fdisk-Befehlsmodus zu beenden. Sobald die Reihenfolge der Partitionstabelle korrigiert wurde, werden Sie keine Fehlermeldungen mehr erhalten.

Wie Sie das Boot-Flag (*) einer Partition deaktivieren

Standardmäßig zeigt der fdisk-Befehl das Boot-Flag (d.h. ‚*‘) Symbol 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.

# fdisk /dev/sda

Drücken Sie den Befehl ‚p‘, um die aktuelle Partitionstabelle anzuzeigen, und Sie sehen, dass auf der Festplatte /dev/sda1 ein Boot-Flag (Sternchen (*) in oranger Farbe) vorhanden ist, wie unten gezeigt.

Als Nächstes geben Sie den Befehl ‚a‘ ein, um das Boot-Flag zu deaktivieren, und geben Sie dann die Partitionsnummer ‚1‘ ein (d. h. /dev/sda1), wie in meinem Fall. Dadurch wird das Boot-Flag auf der Partition /dev/sda1 deaktiviert. Dadurch wird das Asterisk (*)-Flag entfernt.

Command (m for help): aPartition number (1-9): 1Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = 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 LVMCommand (m for help):

Ich habe mein Bestes getan, um fast alle grundlegenden Befehle von fdisk einzubeziehen, aber dennoch enthält fdisk eine Vielzahl anderer Expertenbefehle, die Sie durch Eingabe von ‚x‘ verwenden können. Ausführlichere Informationen erhalten Sie, wenn Sie den Befehl ‚man fdisk‘ im Terminal aufrufen. Sollte ich einen wichtigen Befehl übersehen haben, teilen Sie ihn mir bitte im Kommentarbereich mit.

Lesen Sie auch:

  1. 12 „df“-Befehle zum Überprüfen des Festplattenplatzes in Linux
  2. 10 nützliche „du“-Befehle zum Ermitteln der Festplattennutzung von Dateien und Verzeichnissen

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.