¿Por qué necesitamos especificar el tipo de partición en fdisk y luego nuevamente en mkfs?

11

Estoy un poco confundido acerca de fdisk y mkfs .

Entonces, aquí está el particionamiento y formateo típico de la unidad flash 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

Mi pregunta es:

¿Por qué incluso tenemos que usar la opción t para especificar el tipo de partición mientras hacemos el paso fdisk ? ¿Cómo afecta todo? ¿Crea alguna marca en la unidad usb, lo que significa que solo se supone que hay una partición vfat? O ¿es seguro para saltar t paso en total? AFAIK: la partición solo divide el disco en áreas, ¿no es así?

Solo trato de entender por qué funciona de la manera en que funciona :)

Stann
fuente

Respuestas:

9

Porque mkfs no conoce ni se preocupa por las tablas de particiones. Puede usarlo en cualquier dispositivo de bloque que desee, incluidos aquellos que no tienen nada que ver con un disco duro y, por lo tanto, particiones. El código de tipo de partición que fdisk pone en la tabla de partición msdos es solo una pista y es ignorado por los sistemas operativos que no son de Microsoft.

psusi
fuente
5

El tipo de partición es menos específico que el tipo de sistema de archivos. La mayoría de los sistemas de archivos Linux "nativos" usan el tipo de partición 83, por ejemplo: todas las ext*variantes, ReiserFS, XFS y otras.

Deberías intentar cambiar a partedo gParted. Para algunos tipos de sistemas de archivos, es capaz de crear la partición y crear un sistema de archivos dentro de la misma herramienta. (Sin mkfsembargo, con algunos sistemas de archivos, aún debe hacerlo por separado).

Warren Young
fuente
3

El tipo de partición es para dispositivos que necesitan saber qué tipo de sistema de archivos está poniendo en esa partición. Linux parece ser lo suficientemente inteligente como para ignorar el tipo y sabe cuál es el sistema de archivos sin importar qué. Sin embargo, hay algunos dispositivos que solo podrán leer su disco si el tipo de sistema de archivos coincide con el sistema de archivos real que colocó en el disco.

mkfscrea el sistema de archivos real. No sabe en qué tipo de cosas está poniendo ese sistema de archivos, por lo que no puede adivinar. Debe decirle exactamente qué tipo de sistema de archivos está tratando de crear para que sepa qué hacer.

Descubrí recientemente por qué importa cuál es el tipo de sistema de archivos. Configuré un dispositivo USB para usar canciones en un reproductor multimedia, sin embargo, no configuré el tipo de sistema de archivos correctamente, a pesar de que el sistema de archivos real era vfat. El reproductor de música no tenía idea de cómo leer la unidad, funcionó una vez que el tipo de partición se configuró correctamente. También tuve el mismo problema en una Mac, una memoria USB con el tipo de partición incorrecto no se podía leer a pesar de que el sistema de archivos real estaba bien.

Jarryd
fuente