Est-il possible de mkfs sans numéro de partition?

10

J'ai une clé USB et une 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

et j'ai formaté avec la commande:

   # mkfs.fat -n A /dev/sdb

et ça marche bien.

Mais après cela, j'ai parcouru la page de manuel pour mkfs:

   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.

Il indique que cela mkfsdevrait fonctionner avec le numéro de partition. Et mon problème est pourquoi mon opération fonctionne sans invite d'erreur?

Alaneuler
la source
1
il n'y a aucun problème à utiliser l'ensemble du périphérique au lieu d'une seule partition. cela aurait plus de sens si vous voulez 3,5 G de gras et 4G ext3 / luckfs / peu importe, alors vous devrez séparer et formater chaque partie.
Archemar
1
Si vous le placez dans un périphérique qui attend qu'une table de partition existe, il peut vous demander de formater ... il est généralement préférable d'avoir une table de partition même si elle n'est pas strictement requise.
frostschutz
1
La page de manuel indique que le périphérique est généralement une partition de disque dur . Un disque dur entier est également un périphérique de bloc approprié.
Toby Speight

Réponses:

10

La création d'un système de fichiers sur un disque entier plutôt que sur une partition est possible, mais inhabituelle. La documentation ne mentionne explicitement la partition que parce que c'est le cas le plus courant (on dit généralement ). Vous pouvez créer un système de fichiers sur tout ce qui agit suffisamment comme un fichier de taille fixe, c'est-à-dire quelque chose où si vous écrivez des données à un certain emplacement et relisez à partir du même emplacement, vous récupérez les mêmes données. Cela inclut des disques entiers, des partitions de disque et d'autres types de périphériques de bloc , ainsi que des fichiers normaux (images de disque).

Après cela mkfs.fat -n A /dev/sdb, vous n'avez plus de partition sur ce disque. Attention, le noyau pense toujours que le disque a une partition, car il garde la table de partition en cache. Mais vous ne devriez plus essayer de l'utiliser /dev/sdb1, car il n'existe plus; écrit qu'il pourrait corrompre le système de fichiers vous avez créé sur /dev/sdbdepuis /dev/sdb1est une partie de /dev/sdb(tout sauf quelques centaines d' octets au début). Exécutez la commande en partprobetant que root pour indiquer au noyau de relire la table de partition.

Bien que la création d'un système de fichiers sur un disque entier soit possible, je ne le recommande pas. Certains systèmes d'exploitation peuvent avoir des problèmes avec cela (je pense que Windows s'en sortirait mais certains appareils tels que les caméras ne le pourraient pas), et vous perdez la possibilité de créer d'autres partitions. Voir aussi Les avantages d'un système de fichiers sans partition

Gilles 'SO- arrête d'être méchant'
la source
8

Il est généralement bien de placer un système de fichiers sur un appareil entier, plutôt que de partitionner et de formater les partitions, si vous n'avez pas l'intention d'avoir plus d'un système de fichiers sur votre appareil. Vous devrez simplement être cohérent; puisque vous avez mis le système de fichiers sdaplutôt que sda1, vous devrez également le monter sda, car sda1il n’existera pas du tout.

Le périphérique dans votre question semble être un lecteur amovible au format FAT: s'il va être utilisé avec des périphériques intégrés qui peuvent avoir une idée plus ou moins détaillée de la façon dont les systèmes de fichiers peuvent être montés, il peut être utile de tester qu'ils le font dans prend en charge un système de fichiers complet sans table de partition. (Par exemple, les caméras ont tendance à créer une seule partition et à la formater; il est tout à fait possible qu'elles déclarent une carte mémoire sans partition inutilisable.)

dhag
la source