Die Buchstaben in mkfs
stehen für "Dateisystem erstellen". Der Befehl wird häufig zum Verwalten von Speichergeräten in Linux verwendet. Sie können sich mkfs als ein Befehlszeilentool zum Formatieren einer Festplatte in ein bestimmtes Dateisystem vorstellen.
mkfs -t [fs type] [target device]
Sie können den mkfs-Befehl auch folgendermaßen verwenden.
mkfs.[fs type] [target device]
In diesem Tutorial werde ich allgemein erläutern, was ein Dateisystem ist. Ich werde auch Beispiele für die effektive Verwendung des mkfs-Befehls geben.
Da der mkfs-Befehl Festplatten und Partitionen verarbeitet, müssen Sie entweder root oder sudo-Benutzer mit Zugriffsrechten sein, um Admin-Befehle auszuführen.
mkfs ist ein mächtiges Werkzeug. Es ist wichtig, die möglichen Folgen einer Änderung des Dateisystems zu verstehen. Wenn Sie den falschen Geräteknoten auswählen, werden alle Daten auf diesem Gerät gelöscht. Verwenden Sie diesen Befehl auf eigene Gefahr. Sie wurden gewarnt
Was ist noch mal ein Dateisystem?
Ein Dateisystem (fs) bezieht sich auf die Struktur und Logik, die Daten auf einem Gerät verwalten. Das Dateisystem steuert, wie Daten gespeichert und abgerufen werden.
Es gibt viele Arten von Dateisystemen und jedes hat seine eigenen Vor- und Nachteile. Hier sind die gängigsten Dateisysteme:
- FETT*
- NTFS
- ext*
- APFS
- HFS*
Sie sind wahrscheinlich schon einmal auf einen oder mehrere dieser Dateisystemtypen gestoßen. Sie können die Typen sogar den jeweiligen Betriebssystemen zuordnen.
Im Allgemeinen sind FAT/NTFS für Windows konzipiert, Ext wird für Linux-Systeme verwendet und APFS/HFS sind macOS-Dateisysteme. Jede davon behandelt die Logik der Dateistruktur anders, was zu Problemen führen kann.
Aus diesem Grund ist es wichtig, darüber nachzudenken, bevor Sie einen Dateisystemtyp deklarieren oder Ihr Gerät "formatieren". Jeder Anwendungsfall ist anders, und es liegt an Ihnen, zu entscheiden, welches Dateisystem für Ihre Anforderungen am besten geeignet ist.
Beispiele für mkfs-Befehle
Lassen Sie mich Ihnen einige der häufigsten Verwendungen des mkfs-Befehls zeigen.
Bitte versuchen Sie keinen dieser Befehle blind auf Ihrem aktuellen System. Es formatiert das Zielgerät/die Zielfestplattenpartition und löscht alle Daten.
mkfs ohne Option erstellt ein ext2-Dateisystem
Wenn Sie den Dateisystemtyp für das Zielgerät nicht angeben, wird es das standardmäßige ext2-Dateisystem verwenden.
sudo mkfs /dev/sdb1
Dateityp mit mkfs angeben
Die Verwendung von ext2 ist nicht sehr bequem oder ratsam. Die meisten Linux-Systeme empfehlen heutzutage die Verwendung von ext4. Sie können das Dateisystem folgendermaßen angeben:
sudo mkfs -t ext4 /dev/sdb1
Sie können es auch so verwenden:
sudo mkfs.ext4 /dev/sdb1
Überprüfen Sie ein Gerät auf fehlerhafte Blöcke
Sie können auf einem Gerät auch nach fehlerhaften Blöcken suchen, aber denken Sie daran, dass die Überprüfung oft lange dauert.
sudo mkfs -c /dev/sdb1
Bonus-Tipp:Überprüfen Sie den Dateisystemtyp eines Geräts
Möglicherweise möchten Sie den Typ des Dateisystems eines Geräts überprüfen, das Sie gerade mit dem Befehl mkfs formatiert haben. Zu diesem Zweck können Sie den Dateibefehl verwenden.
sudo file -sL /device
Hier ist ein Beispiel, das zeigt, welche Art von Ausgabe angezeigt werden könnte:
[email protected]:~$ sudo file -s /dev/nvme0n1p2
/dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=34daa4b7-a2c4-4983-b5cc-df9baa6a6543 (extents) (64bit) (large files) (huge files)
Realer Anwendungsfall:Verwenden des mkfs-Befehls zum Erstellen einer Datei System auf einem USB-Gerät
Nachdem Sie nun einige Hintergrundinformationen haben, können Sie mit der Verwendung von mkfs beginnen.
Die praktischste Demonstration, die mir einfällt, ist das Formatieren eines USB-Flash-Speicherlaufwerks. Dieselben Prinzipien gelten für jede Art von Speicherung, die Sie wählen.
Ihr Gerät finden
Zuerst müssen Sie Ihr Gerät finden. Eine Methode, die Sie verwenden können, ist sudo fdisk -l
. Dadurch werden alle Festplattenknoten aufgelistet, die derzeit gemountet sind.
[email protected]:~$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c62c49c
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 4096 1023998 1019903 498M 83 Linux
/dev/sda2 1024000 44036094 43012095 20.5G 83 Linux
/dev/sda3 44036096 52424702 8388607 4G 82 Linux swap / Solaris
Disk /dev/sdb: 28.93 GiB, 31040995328 bytes, 60626944 sectors
Disk model: Patriot Memory
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 91A34D6F-E67B-E54D-B19C-5CC828DAAB9A
Device Start End Sectors Size Type
/dev/sdb1 2048 60626910 60624863 28.9G Linux filesystem
Ihre Ausgabe wird offensichtlich variieren. Bitte seien Sie sehr vorsichtig, wenn Sie Ihr gewünschtes Laufwerk identifizieren . Wenn Sie sich nicht sicher sind, entfernen Sie die Diskette und führen Sie fdisk -l
aus erneut befehlen. Wenn Sie das richtige Gerät haben, wird es nicht aufgelistet, wenn keine Verbindung besteht.
Partition überprüfen
Das Gerät, das ich verwende, ist ein Patriot Memory USB und befindet sich unter /dev/sdb
. Zusätzlich zur Identifizierung der richtigen Festplatte müssen Sie sicherstellen, dass Sie die fs der gewünschten Partition ändern.
Ich habe fdisk-Tools verwendet, um vorhandene Daten zu löschen und eine neue Partitionstabelle zu schreiben. Während ich das tat, erstellte ich eine neue Partition zum Schreiben. Diese Partition wird unser Ziel sein:/dev/sdb1
.
Bereitstellung aufheben
Bevor Sie versuchen, das Dateisystem zu ändern, müssen Sie es mit umount
unmounten Befehl.
[email protected]:~$ sudo umount /dev/sdb1
Dateisystem erstellen
Nachdem Sie Ihr Ziel überprüft und das Laufwerk ausgehängt haben, können Sie mit der Erstellung des Dateisystems fortfahren.
Ich habe das -v
hinzugefügt verbose-Option hier, um während der Ausführung weitere Informationen anzuzeigen.
[email protected]:~$ sudo mkfs.ext4 /dev/sdb1 -v
mke2fs 1.45.5 (07-Jan-2020)
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1896832 inodes, 7578107 blocks
378905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
232 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Filesystem UUID: 73882769-7599-4c79-a00b-ef317ccd921d
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Dieser Vorgang kann einige Zeit dauern, sollte aber in weniger als 20 Minuten abgeschlossen sein, es sei denn, das Ziel ist größer als 2 TB.
Ich hatte mehrere Probleme mit dem Programm, das am letzten Element hing. Leider gibt es keine Fortschrittsanzeige und ich hatte keine Fehler geworfen.
Überprüfen Sie das neu erstellte Dateisystem
Überprüfen Sie zunächst das Dateisystem des gerade verwendeten Geräts. Ist es das, was Sie wollten?
sudo file -sL /dev/sdb1
Es ist wichtig sicherzustellen, dass das Gerät auf den Systemen erkannt wird, mit denen Sie es verwenden werden. Ich habe einen Ordner namens test und darin eine Datei namens test.txt erstellt.
Um Zeit zu sparen, können Sie meine Befehle hier kopieren und einfügen.
mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt
Wenn alles funktioniert hat, sollten Sie in der Lage sein, das Laufwerk auf Ihren gewünschten Systemen bereitzustellen und auf die Dateien zuzugreifen. Wenn Sie nicht auf die Dateien auf Ihrem System zugreifen können, liegt wahrscheinlich ein Kompatibilitätsproblem vor.
Schlussfolgerung
Ich hoffe, Sie finden diese Kurzanleitung zu mkfs
Befehl nützlich. Wenn Ihnen dieses Tutorial gefällt, teilen Sie es bitte in den sozialen Medien.
Wenn Sie Kommentare oder Fragen haben, hinterlassen Sie diese bitte unten. Wenn Sie Vorschläge für Themen haben, die Sie gerne behandelt sehen möchten, können Sie diese auch gerne hinterlassen.