Que signifie la sortie de fdisk?

10

J'ai un lecteur flash et je veux comprendre les propriétés de celui-ci en sortie fdisk. Je l'ai inséré et vérifié le dmesget je pouvais voir qu'il était monté /dev/sdb1alors j'ai couru fdiskpour voir ce qui était rapporté pour/dev/sdb

mike@mike-Qosmio-X770:~$ sudo fdisk -l
[sudo] password for mike: 

Disk /dev/sdb: 127 MB, 127926272 bytes
16 heads, 32 sectors/track, 488 cylinders, total 249856 sectors
 Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6b3ee723

   Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1   *          32      249854      124911+   b  W95 FAT32

Pour autant que je sache, le lecteur est un lecteur flash formaté 128 Mo FAT32, il n'a qu'une partition. Il commence à "32" (vraisemblablement 0-31 est utilisé pour certains FTL).

Il signale un "secteur" de 512 octets et il y a 249 856 secteurs (122 Mo au total).

Maintenant, je suis confus quant au nombre de cylindres, de têtes et de secteurs / pistes. Je sais que les cylindres / têtes ont à voir avec les types de stockage à disque magnétique. Y a-t-il une signification pour ceux-ci en ce qui concerne un périphérique flash? Ou s'agit-il simplement d'informations «laissées» fdiskqui n'ont vraiment aucun sens pour un support de stockage non magnétique? Si ce dernier, pourquoi donner des valeurs?

Deuxième question, quelle est la "taille" d'un bloc? :

Blocks
 124911+

Et quelle est la signification du compte +après le bloc?

Mike
la source
1
Belle question, +1, je n'y avais jamais pensé auparavant. Mais que voulez-vous dire par "FTL"? Pour moi, cela signifie plus vite que la lumière, j'imagine que vous faites référence à autre chose?
terdon
1
@terdon - FTL (couche de traduction Flash) le truc qui fait le nivellement du partage et ainsi de suite
Mike

Réponses:

3

Taille d'un bloc

Une piste tridimensionnelle (la même piste sur tous les disques) est appelée cylindre. Chaque piste est divisée en 63 secteurs. Chaque secteur contient 512 octets de données. Par conséquent, la taille de bloc dans la table de partition est de 64 têtes * 63 secteurs * 512 octets euh ... divisé par 1024 ... :-)

Source: partitionnement avec fdisk

Chaque fois que Linux se réfère à la taille de bloc, elle est presque toujours de 1024 octets - Linux utilise des blocs de 1024 octets comme unités primitives pour le cache de tampon et tout. granularités (par exemple, sur un système de fichiers ext3 de taille normale, la taille des blocs du système de fichiers est généralement de 4096 octets). Cependant, vous ne voyez presque jamais la taille des blocs du système de fichiers; la seule façon de le voir est d'être un pirate du noyau ou d'exécuter des programmes comme dumpe2fs.

Le problème avec ceci est qu'il y a quatre unités distinctes que vous devez garder à l'esprit. Pour aggraver les choses, deux de ces unités portent le même nom. Ce sont les différentes unités:

  1. Taille du bloc matériel, "taille du secteur"
  2. Taille de bloc du système de fichiers, "taille de bloc"
  3. Taille du bloc de cache du tampon du noyau, "taille du bloc"
  4. Taille du bloc de la table de séparation, "taille du cylindre"

Pour faire la différence entre la taille du bloc du système de fichiers et la taille du bloc du cache de tampon, je suivrai la terminologie FAT et j'utiliserai "la taille du cluster" pour la taille du bloc du système de fichiers.

La taille du secteur correspond aux unités traitées par le matériel. Cela varie entre différents types de matériel, mais la plupart des matériels de style PC (disquettes, disques IDE, etc.) utilisent des secteurs de 512 octets.

La taille du cluster est l'unité d'allocation utilisée par le système de fichiers, et c'est ce qui provoque la fragmentation - je suis sûr que vous le savez. Sur un système de fichiers ext3 de taille moyenne, il s'agit généralement de 4096 octets, mais vous pouvez le vérifier avec dumpe2fs. Souvenez-vous que ceux-ci sont aussi généralement appelés " blocs ", seulement que je les appelle ici des clusters . La taille du cluster est ce qui est retourné dans st_blksizele tampon de statistiques, afin que les programmes puissent calculer l'utilisation réelle du disque d'un fichier.

La taille de bloc est la taille des tampons que le noyau utilise en interne lorsqu'il met en cache des secteurs qui ont été lus à partir de périphériques de stockage (d'où le nom "périphérique de bloc"). Comme il s'agit de la forme de stockage la plus primitive du noyau, toutes les tailles de cluster de système de fichiers doivent être multiples de cela. Cette taille de bloc est également ce à quoi se réfèrent presque toujours les programmes de l'espace utilisateur. Par exemple, lorsque vous exécutez dusans les options -h ou -H, il retournera combien de ces blocs un fichier prend. dfsignalera également les tailles dans ces blocs, la colonne "Blocs" dans la fdisk -lsortie est de ce type, etc. C'est ce que l'on appelle le plus souvent un "bloc". Deux secteurs de disque s'insèrent dans chaque bloc.

La taille du cylindre n'est utilisée que dans la table de partition et par le BIOS (et le BIOS n'est pas utilisé par Linux).

Source: taille du bloc de disque Linux ... aide s'il vous plaît

Secteurs 0-31

Pour répondre à votre question sur les 32 premiers secteurs, comme le lecteur flash est un périphérique au format FAT, puis en regardant la définition du système de fichiers FAT, on peut voir qu'un système de fichiers FAT est composé de quatre sections différentes:

a) Les secteurs réservés;
b) la région de la table d'allocation des fichiers (FAT);
c) la région de répertoire racine, et;
d) La région de données.

Aperçu des graisses

Les secteurs réservés , situés au tout début, sont (dans ce cas) les secteurs 0-31:

Le premier secteur réservé (secteur logique 0) est le secteur de démarrage (alias Volume Boot Record (VBR) ). Il comprend une zone appelée BIOS Parameter Block (avec des informations de base sur le système de fichiers, en particulier son type, et des pointeurs vers l'emplacement des autres sections) et contient généralement le code du chargeur de démarrage du système d'exploitation.

Les informations importantes du secteur d'amorçage sont accessibles via une structure de système d'exploitation appelée DPB (Drive Parameter Block) sous DOS et OS / 2.

Le nombre total de secteurs réservés est indiqué par un champ à l'intérieur du secteur de démarrage et est généralement de 32 sur les systèmes de fichiers FAT32 .

Pour les systèmes de fichiers FAT32, les secteurs réservés comprennent un secteur d'informations sur le système de fichiers au secteur logique 1 et un secteur de démarrage de sauvegarde au secteur logique 6.

Alors que de nombreux autres fournisseurs ont continué à utiliser une configuration à un seul secteur (secteur logique 0 uniquement) pour le chargeur d'amorçage, le code du secteur de démarrage de Microsoft s'est développé pour apparaître sur les secteurs logiques 0 et 2 depuis l'introduction de FAT32, le secteur logique 0 dépendant de sous-routines dans le secteur logique 2. La zone du secteur de démarrage de sauvegarde comprend également trois secteurs logiques 6, 7 et 8. Dans certains cas, Microsoft utilise également le secteur 12 de la zone des secteurs réservés pour un chargeur de démarrage étendu.


Juste des informations supplémentaires, sans rapport avec la question OP

La Région FAT , sera au secteur 32:

Celui-ci contient généralement deux copies (pouvant varier) de la table d'allocation de fichiers à des fins de vérification de la redondance, bien que rarement utilisée, même par les utilitaires de réparation de disque.

Ce sont des cartes de la région de données, indiquant les clusters utilisés par les fichiers et les répertoires. En FAT12 et FAT16, ils suivent immédiatement les secteurs réservés.

En règle générale, les copies supplémentaires sont conservées en synchronisation étroite sur les écritures et sur les lectures, elles ne sont utilisées que lorsque des erreurs se produisent dans le premier FAT. Dans FAT32, il est possible de passer du comportement par défaut et de sélectionner un seul FAT parmi ceux disponibles à utiliser à des fins de diagnostic.

Les deux premiers clusters (cluster 0 et 1) de la carte contiennent des valeurs spéciales.

La région du répertoire racine :

Il s'agit d'une table de répertoire qui stocke des informations sur les fichiers et répertoires situés dans le répertoire racine. Il n'est utilisé qu'avec FAT12 et FAT16, et impose au répertoire racine une taille maximale fixe qui est pré-allouée lors de la création de ce volume. FAT32 stocke le répertoire racine dans la région de données, ainsi que les fichiers et autres répertoires, ce qui lui permet de se développer sans une telle contrainte. Ainsi, pour FAT32, la région de données commence ici.

La région de données :

C'est là que les données réelles du fichier et du répertoire sont stockées et occupent la majeure partie de la partition. Traditionnellement, les parties inutilisées de la région de données sont initialisées avec une valeur de remplissage de 0xF6 selon la table des paramètres de disque (DPT) de INT 1Eh pendant le formatage sur les machines compatibles IBM, mais également utilisées sur le portefeuille Atari. Les disquettes CP / M de 8 pouces sont généralement pré-formatées avec une valeur de 0xE5; au moyen de la recherche numérique, cette valeur a également été utilisée sur les disquettes formatées Atari ST. Amstrad a utilisé 0xF4 à la place. Certains formateurs modernes essuient les disques durs avec une valeur de 0x00, tandis qu'une valeur de 0xFF, la valeur par défaut d'un bloc flash non programmé, est utilisée sur les disques flash pour réduire l'usure. Cette dernière valeur est généralement également utilisée sur les disques ROM. (Certains outils de formatage avancés permettent de configurer l'octet de remplissage de format.)

La taille des fichiers et des sous-répertoires peut être augmentée arbitrairement (tant qu'il y a des clusters libres) en ajoutant simplement plus de liens à la chaîne du fichier dans le FAT. Notez cependant que les fichiers sont alloués en unités de clusters, donc si un fichier de 1 Kio réside dans un cluster de 32 Kio, 31 Kio sont gaspillés.

FAT32 commence généralement la table de répertoire racine dans le cluster numéro 2: le premier cluster de la région de données.

Source: Wikipedia - Tableau de répartition des fichiers

Greenonline
la source
1

Je suppose que les secteurs 1-31 sont réservés aux informations de démarrage et aux informations de table de partition. La partition / dev / sdb1 commence au bloc / secteur 32 et passe à 249854. Il s'agit d'une partition logique sur le disque physique.

Le 124911+ vous donne le nombre de blocs entre 32 et 249854.

À propos de la géométrie du disque, voici ce qu'en man fdsikdit:

Si possible, fdisk obtiendra automatiquement la géométrie du disque. Ce n'est pas nécessairement la géométrie du disque physique (en effet, les disques modernes n'ont pas vraiment quelque chose comme une géométrie physique, certainement pas quelque chose qui peut être décrit sous forme simpliste de cylindres / têtes / secteurs), mais c'est la géométrie du disque que MS-DOS utilise pour la table de partition.

En général, tout se passe bien par défaut, et il n'y a aucun problème si Linux est le seul système sur le disque. Cependant, si le disque doit être partagé avec d'autres systèmes d'exploitation, il est souvent judicieux de laisser un fdisk d'un autre système d'exploitation faire au moins une partition. Lorsque Linux démarre, il regarde la table de partition et essaie de déduire quelle (fausse) géométrie est requise pour une bonne coopération avec d'autres systèmes.

J Baron
la source