Warum müssen wir den Partitionstyp in fdisk und später in mkfs erneut angeben?

11

Ich bin ein wenig verwirrt über fdisk und mkfs .

Also - hier ist die typische Partitionierung und Formatierung von USB-Sticks:

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

Meine Frage ist:

Warum müssen wir überhaupt die Option t verwenden , um den Partitionstyp anzugeben, während wir den fdisk- Schritt ausführen ? Wie wirkt es sich auf alles aus? Erzeugt es eine Markierung auf dem USB-Laufwerk, was bedeutet, dass es nur eine vfat-Partition geben soll? Oder ist es sicher zu überspringen t insgesamt Schritt? AFAIK - Partitionierung teilt die Festplatte nur in Bereiche auf - nicht wahr?

Ich versuche nur zu verstehen, warum es so funktioniert, wie es funktioniert :)

Stann
quelle

Antworten:

9

Weil mkfs Partitionstabellen nicht kennt oder sich nicht darum kümmert. Sie können es auf jedem gewünschten Blockgerät verwenden, einschließlich solcher, die nichts mit einer Festplatte und damit Partitionen zu tun haben. Der Partitionstypcode, den fdisk in die msdos-Partitionstabelle einfügt, ist nur ein Hinweis und wird von Nicht-Microsoft-Betriebssystemen weitgehend ignoriert.

psusi
quelle
5

Der Partitionstyp ist weniger spezifisch als der Dateisystemtyp. Die meisten "nativen" Linux-Dateisysteme verwenden den Partitionstyp 83, zum Beispiel: alle ext*Varianten, ReiserFS, XFS und andere.

Sie sollten versuchen, zu partedoder zu wechseln gParted. Bei einigen Dateisystemtypen kann die Partition erstellt und ein Dateisystem darin mit demselben Tool erstellt werden. (Bei einigen Dateisystemen müssen Sie dies jedoch noch mkfsseparat tun.)

Warren Young
quelle
3

Der Partitionstyp ist für Geräte vorgesehen, die wissen müssen, welche Art von Dateisystem Sie auf diese Partition setzen. Linux scheint klug genug zu sein, um den Typ einfach zu ignorieren, und weiß, was das Dateisystem ist, egal was passiert. Es gibt jedoch einige Geräte, die Ihre Festplatte nur lesen können, wenn der Dateisystemtyp mit dem tatsächlichen Dateisystem übereinstimmt, das Sie auf die Festplatte gelegt haben.

mkfserstellt das eigentliche Dateisystem. Es weiß nicht, auf welche Art von Dingen Sie dieses Dateisystem setzen, also kann es nicht einfach raten. Sie müssen genau angeben, welche Art von Dateisystem Sie erstellen möchten, damit es weiß, was zu tun ist.

Ich habe kürzlich herausgefunden, warum es wichtig ist, welchen Dateisystemtyp es gibt. Ich habe einen USB-Stick eingerichtet, um Songs für die Verwendung in einem Media Player zu verwenden, aber ich habe den Dateisystemtyp nicht richtig eingestellt, obwohl das eigentliche Dateisystem vfat war. Der Musik-Player hatte keine Ahnung, wie er das Laufwerk lesen sollte. Er funktionierte, sobald der Partitionstyp richtig eingestellt war. Ich hatte auch das gleiche Problem auf einem Mac, ein USB-Stick mit dem falschen Partitionstyp konnte nicht gelesen werden, obwohl das eigentliche Dateisystem in Ordnung war.

Jarryd
quelle