Pourquoi devons-nous spécifier le type de partition dans fdisk et plus tard dans mkfs?

11

Je suis un peu confus à propos de fdisk et mkfs .

Voici donc le partitionnement et le formatage typiques des clés USB:

umount /dev/sdb
fdisk fdisk /dev/sdb

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-960, default 1): ↵
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-960, default 960): ↵
Using default value 960 

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x 
partitions, please see the fdisk manual page for additional
information.

mkfs -t vfat /dev/sdb1

Ma question est:

Pourquoi devons-nous même utiliser l' option t pour spécifier le type de partition lors de l' étape fdisk ? Comment cela affecte-t-il tout? Est-ce que cela crée une marque sur le lecteur USB, ce qui signifie qu'il ne devrait y avoir qu'une partition vfat? Ou est - il sûr de sauter t étape tout à fait? AFAIK - le partitionnement ne fait que diviser le disque en zones - n'est-ce pas?

J'essaye juste de comprendre pourquoi ça marche comme ça :)

Stann
la source

Réponses:

9

Parce que mkfs ne connaît pas ou ne se soucie pas des tables de partition. Vous pouvez l'utiliser sur n'importe quel périphérique bloc que vous souhaitez, y compris ceux qui n'ont rien à voir avec un disque dur, et donc des partitions. Le code de type de partition que fdisk place dans la table de partition msdos n'est qu'un indice et est à peu près ignoré par les systèmes d'exploitation non Microsoft.

psusi
la source
5

Le type de partition est moins spécifique que le type de système de fichiers. La plupart des systèmes de fichiers Linux "natifs" utilisent le type de partition 83, par exemple: toutes les ext*variantes, ReiserFS, XFS et autres.

Vous devriez essayer de passer à partedou gParted. Pour certains types de système de fichiers, il est capable de créer la partition et de créer un système de fichiers dans le même outil. (Avec certains systèmes de fichiers, vous devez cependant le faire mkfsséparément.)

Warren Young
la source
3

Le type de partition est destiné aux périphériques qui ont besoin de savoir quel type de système de fichiers vous mettez sur cette partition. Linux semble être assez intelligent pour ignorer le type et sait quel est le système de fichiers quoi qu'il arrive. Cependant, certains périphériques ne pourront lire votre disque que si le type de système de fichiers correspond au système de fichiers réel que vous avez placé sur le disque.

mkfscrée le système de fichiers réel. Il ne sait pas sur quel type de chose vous mettez ce système de fichiers, il ne peut donc pas simplement deviner. Vous devez lui dire exactement quel type de système de fichiers vous essayez de créer afin qu'il sache quoi faire.

J'ai découvert récemment pourquoi le type de système de fichiers est important. J'ai configuré une clé USB pour mettre des chansons à utiliser dans un lecteur multimédia, mais je n'ai pas défini correctement le type de système de fichiers, même si le système de fichiers réel était vfat. Le lecteur de musique ne savait pas comment lire le lecteur, cela fonctionnait une fois que le type de partition était correctement défini. J'ai également eu le même problème sur un Mac, une clé USB avec le mauvais type de partition n'a pas pu être lue même si le système de fichiers était correct.

Jarryd
la source