Linux / Festplatten verwalten: Partitionieren, Formatieren und Einhängen

Bereiten Sie eine neue Festplatte vor, indem Sie die Geräteidentifikation, die Partitionierung, die Dateisystemerstellung und das Einhängen trennen. Führen Sie die unten aufgeführten Schreibvorgänge nur auf einer dedizierten Laborfestplatte ohne zu sichernde Daten aus; der Name /dev/sdb allein identifiziert kein sicheres Ziel. Für die zugehörigen Bedingungen und die Vorgehensweise siehe Festplatten, Partitionen und Dateisysteme verstehen. Für die zugehörigen Bedingungen und die Vorgehensweise siehe Dateisysteme einhängen und Speicherverwendung diagnostizieren.

Überprüfen Sie das Ziel und den Wiederherstellungsplan vor dem Schreiben

lsblk -o NAME,SIZE,MODEL,SERIAL,TYPE,FSTYPE,MOUNTPOINTS
findmnt
sudo fdisk -l

Vergleichen Sie das Gerätemodell, die Größe und die Anbindung mit der erwarteten Festplatte; prüfen Sie vorhandene Dateisysteme, LVM, Verschlüsselung und Mounts. Stoppen Sie, wenn die Festplatte in Benutzung ist oder deren Eigentum unklar ist. Sichern Sie die erforderlichen Daten und die Partitionstabelle an einem anderen Ort und überprüfen Sie die Wiederherstellung, bevor Sie Änderungen vornehmen. Ersetzen Sie alle Beispielgeräte und -pfade durch Ihre bestätigten Werte.

Überprüfung der installierten Festplatten

  • ls -l /dev/sd* ist nur eine Beispielauflistung von Gerätenamen im sd-Stil. Verwenden Sie die vorhergehenden lsblk- und fdisk-Abfragen, um auch NVMe-, virtuelle Geräte und LVM zu identifizieren.
  • /dev/sda, /dev/sdb usw. sind Festplatten, und /dev/sda1 usw. sind Partitionen.
ls -l /dev/sd*

Beispielausgabe aus einer früheren Umgebung; tatsächliche Geräte und UUIDs unterscheiden sich.

brw-rw----. 1 root disk 8,  0 Oct 16 13:12 /dev/sda
brw-rw----. 1 root disk 8,  1 Oct 16 13:12 /dev/sda1
brw-rw----. 1 root disk 8,  2 Oct 16 13:12 /dev/sda2
brw-rw----. 1 root disk 8, 16 Oct 16 13:12 /dev/sdb
brw-rw----. 1 root disk 8, 32 Oct 16 13:12 /dev/sdc

Sie können das Dateisystem auf die folgenden zwei Arten überprüfen.

  • df -T: Überprüfen Sie das Dateisystem der eingebundenen Partitionen
  • sudo blkid: Prüfen Sie erkennbare Dateisystem- und Signaturmetadaten auf Blockgeräten; dies ist keine garantierte Inventarliste jeder Speicherart.

Partitionen erstellen

Die folgenden fünf Abbildungen sind Orientierungsschemata, keine Bildschirmaufnahmen. Die früheren Beispielausgaben dieses Artikels stammen aus einer Umgebung mit fdisk 2.23.2 und MBR/DOS. Aktuelles fdisk unterstützt auch GPT; das Anlegen einer neuen Partitionstabelle ersetzt jedoch die vorhandene. Verwenden Sie ausschließlich einen separat geprüften leeren Übungsdatenträger und öffnen Sie ihn mit fdisk.

sudo fdisk /dev/sdb
  1. Prüfen Sie im Programm nochmals Gerätename, Größe und vorhandene Partitionen. /dev/sdb ist nur ein Beispiel und muss durch den bestätigten Gerätepfad ersetzt werden.

Schema zur Prüfung eines separaten leeren Datenträgers vor der Bearbeitung mit fdisk

  1. Mit m öffnen Sie die Hilfe, mit p prüfen Sie die aktuelle Partitionstabelle. q beendet die Sitzung, ohne noch nicht gespeicherte Änderungen zu schreiben.

Schema der fdisk-Befehle für Hilfe, Tabellenansicht und Beenden ohne Speichern

  1. Mit n legen Sie eine neue Partition an und wählen Nummer, Start und Ende entsprechend den Eingabeaufforderungen. Die im Schema gezeigten 64 MiB dienen nur zur Veranschaulichung; wählen Sie den Bereich für Ihren Übungsdatenträger.

Schema zum Festlegen von Startsektor und Größe einer neuen Partition

  1. Prüfen Sie den Entwurf mit p. Schreiben Sie erst nach Kontrolle von Gerät und Bereich mit w; brechen Sie andernfalls vorher mit q ab. Nach dem Schreiben kann q die Änderung nicht zurücknehmen.

Schema zur Kontrolle der Partition vor dem Speichern oder zum Abbrechen mit q

  1. Kontrollieren Sie die gespeicherte Tabelle erneut mit den zuvor gezeigten lsblk- und fdisk -l-Abfragen. Eine Partition ist noch kein Dateisystem; formatieren Sie erst im folgenden Abschnitt und nur das bestätigte leere Ziel.

Schema zur Kontrolle der gespeicherten Partitionstabelle und zur Abgrenzung vom Dateisystem

Wenn Sie versuchen, eine Partition auf einer Festplatte über 2 TB zu erstellen, zum Beispiel auf einer 4-TB-Festplatte, werden Sie eine Nachricht wie die folgende sehen und nicht die gesamte Festplatte nutzen können.

Die Größe dieser Festplatte beträgt 4 TiB (4398046511104 Bytes). Das DOS-Partitionsformat kann auf Laufwerken für Volumen größer als 2199023255040 Bytes bei 512-Byte-Sektoren nicht verwendet werden. Verwenden Sie das GUID-Partitionsformat (GPT).

In einem solchen Fall geben Sie g ein, um eine GPT-Partitionstabelle zu erstellen, und erstellen Sie dann die Partition.

Command (m for help): g
Created a new GPT disklabel (GUID: F13C6D0D-1E30-4448-B015-A61F3AE9EA48).

Formatierung

Wählen Sie entweder ext4 oder XFS; führen Sie die beiden Formatierungsbeispiele nicht nacheinander auf demselben Gerät aus. Fahren Sie nur fort, nachdem Sie bestätigt haben, dass das Gerät unbenutzt ist und keine Daten enthält, die erhalten bleiben müssen.

  • Der Befehl zum Formatieren ist mkfs. Zum Beispiel, um die Partition /dev/sdb1 mit dem Dateisystem ext4 zu formatieren, verwenden Sie den folgenden Befehl.
sudo mkfs.ext4 /dev/sdb1
  • Um auf das xfs-Dateisystem zu formatieren, verwenden Sie den folgenden Befehl.
sudo mkfs.xfs /dev/sdb1

Einbinden

Bereiten Sie einen neuen leeren Einhängepunkt vor. Das Einbinden über vorhandene Dateien blendet sie aus, ohne sie zu löschen, verwenden Sie daher für diese Übung keinen Produktionspfad wie /home.

sudo mkdir -p /mnt/disk-lab
findmnt --mountpoint /mnt/disk-lab
  • Sie müssen die Partition an ein bestimmtes Verzeichnis anhängen, um diese Partition verwenden zu können.
  • Um beispielsweise /dev/sdb1 auf das Verzeichnis /mnt/disk-lab zu mounten, verwenden Sie den folgenden Befehl.
sudo mount /dev/sdb1 /mnt/disk-lab
  • Um das Aushängen durchzuführen, verwenden Sie den Befehl umount. Es gibt zwei Methoden.

Hängen Sie entweder nach Einhängepunkt oder Gerät aus, nicht beides hintereinander. Wenn der folgende Befehl erfolgreich ist, versuchen Sie nicht, dasselbe Dateisystem erneut auszuhängen.

sudo umount /mnt/disk-lab
  • Um es beim Booten automatisch zu mounten, fügen Sie den folgenden Code in die Datei /etc/fstab ein.
  • Dies bedeutet, die Partition /dev/sdb1 auf das Verzeichnis /mnt/disk-lab zu mounten. Passen Sie Optionen wie das Dateisystem entsprechend an.
/dev/sdb1 /mnt/disk-lab xfs defaults 0 0
  • Wenn Sie die Änderungen an der fstab-Datei sofort anwenden möchten, verwenden Sie den folgenden Befehl.
sudo mount -a

Verwendung von UUID

Eine Festplatte erhält einen Namen wie /dev/sdb, und eine Partition erhält einen Namen wie /dev/sdb1, aber diese Namen sind nicht festgelegt. Wenn Sie den Einhängeort der Festplatte ändern oder sich die Erkennungsreihenfolge ändert, können sich diese Namen ebenfalls ändern. In solchen Fällen kann das Einhängen möglicherweise nicht richtig funktionieren. Daher ist es besser, beim Einhängen mit fstab die UUID des Dateisystems zu verwenden. Die zugehörigen Bedingungen und Vorgehensweisen finden Sie unter Eine zusätzliche Festplatte vorbereiten und fstab-Einhängepunkte konfigurieren (Englisch).

  • Sie können die UUID mit dem Befehl blkid überprüfen.
sudo blkid

Beispielausgabe aus einer früheren Umgebung; tatsächliche Geräte und UUIDs unterscheiden sich.

/dev/sda1: UUID="69d9add5-2153-4bc2-ad99-1560fb205c4b" TYPE="ext4" PARTUUID="aa61ba4b-01"
/dev/sda2: UUID="PuMuNg-5YHg-qikJ-tc10-iPIM-7W1q-4fUqyc" TYPE="LVM2_member" PARTUUID="aa61ba4b-02"
/dev/mapper/cl-root: UUID="79c8cfcb-c9e2-4243-8cf2-cf10eab57c40" TYPE="xfs"
/dev/mapper/cl-swap: UUID="b69a5fc3-98db-4a27-b3d4-a7ef76244ad1" TYPE="swap"
/dev/mapper/cl-home: UUID="fd372a6b-ee76-41d6-b7e6-6e6a7cf8193b" TYPE="xfs"
/dev/sdb1: UUID="fd95c93f-03fc-418a-a6db-c26b921ec93b" TYPE="xfs" PARTUUID="e5f55ef6-01"
  • Wenn Sie Einhängeinformationen zu /etc/fstab hinzufügen, geben Sie die UUID-Informationen wie folgt an.
UUID=fd95c93f-03fc-418a-a6db-c26b921ec93b /mnt/disk-lab xfs defaults 0 0

Dieser UUID-Eintrag ersetzt den früheren /dev/sdb1-Eintrag; fügen Sie nicht beide für denselben Mount-Punkt hinzu. systemctl daemon-reload gilt nur für systemd-verwaltete Systeme. Wenn ein älteres lsblk keine MOUNTPOINTS anzeigt, überprüfen Sie die MOUNTPOINT-Spalte und die tatsächlichen Mounts.

 

Überprüfen Sie UUID und fstab vor dem Neustart

Hier identifiziert die UUID die Dateisystem-Metadaten, nicht die Hardware-Seriennummer der Festplatte. Eine Neuformatierung kann sie ändern und Klonen kann sie duplizieren. Unterscheiden Sie sie von PARTUUID und LVM-Identifikatoren. Lesen Sie TYPE und UUID von der tatsächlich formatierten Partition; kopieren Sie nicht die Beispiel-UUID.

Sichern Sie die aktuelle fstab unter einem eindeutigen Namen und prüfen Sie auf doppelte Einträge am gleichen Einhängepunkt. Überprüfen Sie die Syntax und das eigentliche Mounten, und verifizieren Sie dies dann während eines geplanten Neustarts. Ein erfolgreiches mount -a beweist nicht, dass jeder Eintrag oder der nächste Start funktioniert.

sudo findmnt --verify --verbose
sudo systemctl daemon-reload
sudo mount -a
findmnt --mountpoint /mnt/disk-lab
df -T /mnt/disk-lab

Wenn die Validierung oder das Mounten fehlschlägt, starten Sie nicht neu; stellen Sie nur den geänderten fstab-Eintrag wieder her. Wenn der Start fehlschlägt, verwenden Sie die Konsole oder die Wiederherstellungsumgebung, um diesen Eintrag wiederherzustellen und einen normalen Start zu überprüfen. Das Formatieren einer Festplatte, die Daten enthält, ist keine Lösung für einen Mount-Fehler.

Dokumentation zu blkid Dateisystem-Identifikatoren