Por que precisamos especificar o tipo de partição no fdisk e depois novamente no mkfs?

11

Estou um pouco confuso sobre fdisk e mkfs .

Então - aqui está o típico particionamento e formatação da unidade 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

Minha pergunta é:

Por que precisamos até mesmo usar a opção t para especificar o tipo de partição durante a etapa fdisk ? Como isso afeta tudo? Será que cria alguma marca no drive USB, o que significa que só deveria ser partição vfat? Ou é seguro pular t passo completamente? AFAIK - o particionamento é apenas dividir o disco em áreas - não é?

Apenas tentando entender por que funciona da maneira como funciona:)

    
por Stann 10.08.2011 / 21:27

3 respostas

9

Porque o mkfs não sabe ou se preocupa com tabelas de partições. Você pode usá-lo em qualquer dispositivo de bloco que desejar, incluindo aqueles que não têm nada a ver com um disco rígido e, portanto, partições. O código de tipo de partição que o fdisk coloca na tabela de partições msdos é apenas uma dica e é praticamente ignorado por sistemas operacionais não-Microsoft.

    
por 10.08.2011 / 22:52
5

O tipo de partição é menos específico que o tipo de sistema de arquivos. A maioria dos sistemas de arquivos Linux "nativos" usam o tipo de partição 83, por exemplo: todos os ext* variants, ReiserFS, XFS e outros.

Você deve tentar alternar para parted ou gParted . Para alguns tipos de sistema de arquivos, ele é capaz de criar a partição e criar um sistema de arquivos em tudo dentro da mesma ferramenta. (Com alguns sistemas de arquivos, você ainda tem que mkfs separadamente.)

    
por 10.08.2011 / 21:42
3

O tipo de partição é para dispositivos que precisam saber que tipo de sistema de arquivos você está colocando nessa partição. O Linux parece ser inteligente o suficiente para simplesmente ignorar o tipo e sabe o que é o sistema de arquivos, não importa o quê. No entanto, existem alguns dispositivos que só poderão ler seu disco se o tipo de sistema de arquivos corresponder ao sistema de arquivos real que você colocou no disco.

mkfs cria o sistema de arquivos real. Não sabe que tipo de coisa você está colocando no sistema de arquivos, então não pode adivinhar. Você precisa dizer exatamente que tipo de sistema de arquivos você está tentando criar para que ele saiba o que fazer.

Descobri recentemente porque é importante o tipo de sistema de arquivos. Eu configurei um pendrive para colocar músicas para usar em um media player, no entanto, eu não configurei o tipo de sistema de arquivos corretamente, mesmo que o sistema de arquivos real fosse vfat. O tocador de música não sabia como ler o disco, funcionava quando o tipo de partição era definido corretamente. Eu também tive o mesmo problema em um mac, um pendrive com o tipo errado de partição não pôde ser lido mesmo que o sistema de arquivos estivesse bom.

    
por 30.11.2012 / 01:42