Ist es in Ordnung, mkfs ohne Partitionsnummer zu verwenden?

10

Ich habe ein USB-Stick und eine Partition:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

und ich habe mit Befehl formatiert:

   # mkfs.fat -n A /dev/sdb

und es funktioniert gut.

Aber danach habe ich die Manpage für mkfs durchgesehen:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

Es heißt, mkfssollte mit Partitionsnummer funktionieren. Und mein Problem ist, warum mein Betrieb ohne Fehleraufforderung funktioniert?

Alaneuler
quelle
1
Es ist kein Problem, das gesamte Gerät anstelle einer einzelnen Partition zu verwenden. Dies wäre sinnvoller, wenn Sie 3,5 G Fett und 4 G Ext3 / Luckfs / Was auch immer möchten, dann müssten Sie jeden Teil trennen und formatieren.
Archemar
1
Wenn Sie es in ein Gerät einfügen, das erwartet, dass eine Partitionstabelle vorhanden ist, werden Sie möglicherweise zum Formatieren aufgefordert. In der Regel ist es besser, eine Partitionstabelle zu haben, auch wenn dies nicht unbedingt erforderlich ist.
Frostschutz
1
Die Manpage sagt, dass das Gerät normalerweise eine Festplattenpartition ist . Eine gesamte Festplatte ist auch ein geeignetes Blockgerät.
Toby Speight

Antworten:

10

Das Erstellen eines Dateisystems auf einer ganzen Festplatte anstelle einer Partition ist möglich, aber ungewöhnlich. Die Dokumentation nur erwähnt ausdrücklich die Partition , denn das ist der üblichstee Fall (es sagt in der Regel ). Sie können ein Dateisystem für alles erstellen, was sich ausreichend wie eine Datei mit fester Größe verhält. Wenn Sie also Daten an einem bestimmten Speicherort schreiben und von demselben Speicherort zurücklesen, erhalten Sie dieselben Daten zurück. Dies umfasst ganze Festplatten, Festplattenpartitionen und andere Arten von Blockgeräten sowie reguläre Dateien (Festplattenabbilder).

Danach mkfs.fat -n A /dev/sdbhaben Sie keine Partition mehr auf dieser Festplatte. Beachten Sie, dass der Kernel immer noch denkt, dass die Festplatte eine Partition hat, da die Partitionstabelle im Speicher zwischengespeichert bleibt. Sie sollten jedoch nicht mehr versuchen, es zu verwenden /dev/sdb1, da es nicht mehr existiert. Schreiben , um es verfälschen würde das Dateisystem Sie erstellt /dev/sdbda /dev/sdb1ist ein Teil /dev/sdb(alles außer ein paar hundert Bytes am Anfang). Führen Sie den Befehl partprobeals root aus, um den Kernel anzuweisen, die Partitionstabelle erneut zu lesen.

Obwohl das Erstellen eines Dateisystems auf einer ganzen Festplatte möglich ist, empfehle ich es nicht. Einige Betriebssysteme haben möglicherweise Probleme damit (ich denke, Windows würde damit fertig werden, aber einige Geräte wie Kameras könnten dies nicht tun), und Sie verlieren die Möglichkeit, andere Partitionen zu erstellen. Siehe auch Die Vorzüge eines partitionlosen Dateisystems

Gilles 'SO - hör auf böse zu sein'
quelle
8

Es ist im Allgemeinen in Ordnung, ein Dateisystem auf einem ganzen Gerät zu installieren, anstatt die Partitionen zu partitionieren und zu formatieren, wenn Sie nicht beabsichtigen, mehr als ein Dateisystem auf Ihrem Gerät zu haben. Sie müssen einfach konsequent sein; Da Sie das Dateisystem auf sdaanstatt setzen sda1, müssen Sie auch mounten sda, da sda1es überhaupt nicht existiert.

Das Gerät in Ihrer Frage scheint ein FAT-formatiertes Wechseldatenträger zu sein: Wenn es mit eingebetteten Geräten verwendet werden soll, die eine mehr oder weniger detaillierte Vorstellung davon haben, wie Dateisysteme bereitgestellt werden können, lohnt es sich möglicherweise, dies zu testen Tatsächlich wird ein Dateisystem für das gesamte Gerät ohne Partitionstabelle unterstützt. (Zum Beispiel neigen Kameras dazu, eine einzelne Partition zu erstellen und diese zu formatieren. Es ist durchaus möglich, dass sie eine partitionlose Speicherkarte für unbrauchbar erklären.)

dhag
quelle