Explications détaillées sur le secteur de démarrage FAT

Traductions disponibles Traductions disponibles
Numéro d'article: 140418 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Comprendre le contenu et la fonction d'un « secteur de démarrage » du système de fichiers peut être utile lors du dépannage des défaillances de démarrage ou de l'altération du disque.

Il arrive qu'un secteur de démarrage soit endommagé, et ce généralement en raison d'une défaillance matérielle ou d'une infection par un virus. S'il s'agit de la partition principale active ou d'une partition qui contient des fichiers du système d'exploitation, cela peut empêcher le système de démarrer. Sinon, cela peut simplement empêcher l'accès aux données sur le lecteur.

En général, si vous soupçonnez une altération du disque, le mieux est d'utiliser un antivirus ou un logiciel de récupération du disque que vous trouvez dans le commerce. Dans certains cas, toutefois, une connaissance approfondie du secteur de démarrage peut être pratique.

Cet article décrit les différents champs d'un secteur de démarrage FAT. À l'aide des informations ci-après, il peut être possible de réparer manuellement un secteur de démarrage FAT endommagé. Pour tenter une telle réparation, des outils d'édition de disque capables de modifier des secteurs de disques bruts sont requis. Cet article ne parle pas des outils spécifiques qui peuvent être utilisés pour effectuer de telles opérations de réparation.

Bien que toutes les précautions aient été prises pour garantir l'exactitude des informations ci-après, il peut arriver que d'autres systèmes d'exploitation, y compris les versions à venir des systèmes d'exploitation Microsoft, utilisent des structures de données différentes. Par conséquent, vous utilisez les informations ci-après à vos propres risques.

Plus d'informations

Contexte et terminologie

Dans ce document, le terme « secteur de démarrage du système de fichiers » désigne le premier secteur physique d'un volume logique. Un volume logique peut être une partition principale, un lecteur logique dans une partition étendue ou un composite d'au moins deux partitions, comme c'est le cas avec les miroirs, les agrégats par bandes et les jeux de volumes.

Sur les disquettes, le secteur de démarrage est le premier secteur du disque. Dans le cas des disques durs, le premier secteur est connu sous le nom d'« enregistrement de démarrage principal » ou « MBR » (Master Boot Record). Ce MBR est différent du secteur de démarrage du système de fichiers et contient une table de partition qui décrit la disposition des partitions logiques sur le disque dur. Le secteur de démarrage du système de fichiers est le premier secteur d'une de ces partitions.

Processus de démarrage

Le processus de démarrage des ordinateurs personnels 80x86 (par opposition aux systèmes RISC) utilise directement le secteur de démarrage du système de fichiers pour l'exécution des instructions. Le processus de démarrage initial peut être résumé comme suit :

  1. L'autotest de mise sous tension (ou POST) est amorcé par le BIOS et l'UC du système.
  2. Le BIOS détermine quel périphérique utiliser comme « périphérique de démarrage ».
  3. Le BIOS charge le premier secteur physique dans la mémoire à partir du périphérique de démarrage et transfère l'exécution de l'UC au début de cette adresse mémoire. Si le périphérique de démarrage est un disque dur, le secteur chargé à l'étape 3 est le MBR et le processus de démarrage continue comme indiqué ci-après.

  4. Le code MBR charge le secteur de démarrage référencé par la table de partition pour la « partition principale active » dans la mémoire et transfère l'exécution de l'UC au début de cette adresse mémoire.
Jusque là, le processus de démarrage est entièrement indépendant de la manière dont le disque est formaté ainsi que du système d'exploitation qui est chargé. À partir d'ici, le système d'exploitation et le système de fichiers utilisés jouent tous les deux un rôle.

Dans le cas de volumes FAT pour lesquels Windows NT est installé, le secteur de démarrage FAT est chargé d'identifier l'emplacement du fichier « NTLDR » sur le volume, de le charger en mémoire et de lui transférer le contrôle.

À l'intérieur du secteur de démarrage FAT

Étant donné que le MBR transfère l'exécution de l'UC au secteur de démarrage, les premiers octets du secteur de démarrage FAT doivent être des instructions exécutables valides pour une UC 80x86. En pratique, ces premières instructions constituent une instruction de « saut » et occupent les trois (3) premiers octets du secteur de démarrage. Ce saut permet d'ignorer les quelques octets suivants qui ne sont pas « exécutables ».

Après l'instruction de saut se trouve le nom OEM de 8 octets. C'est en général une chaîne de caractères qui identifie le système d'exploitation qui a formaté le volume.

Après le nom OEM se trouve une structure appelée bloc de paramètres du BIOS (BPB, BIOS Parameter Block). Pris dans son ensemble, le BPB fournit assez d'informations pour que la partie exécutable du secteur de démarrage soit capable de localiser le fichier NTLDR. Comme le BPB démarre toujours au même décalage, les paramètres standard sont toujours dans un emplacement connu. La première instruction du secteur de démarrage étant un saut, le BPB peut être étendu dans le futur, à condition que de nouvelles informations soient ajoutées à la fin. Dans ce cas, l'instruction de saut aurait simplement besoin d'un ajustement mineur. De même, le code exécutable existant peut être assez générique. Toute la variabilité associée à l'exécution sur des disques de taille et de géométrie différentes, est encapsulée dans le BPB.

Le BPB est stocké dans un format compressé (c'est-à-dire, non aligné). Le tableau suivant répertorie le décalage d'octets de chaque champ du BPB. Une description de chaque champ figure à la suite du tableau.
Champ               Décalage   Taille
-----               ------     ------
Octets par secteur     11         2
Secteurs par cluster   13         1
Secteurs réservés      14         2
FATs                   16         1
Entrées racine         17         2
Petits secteurs        19         2
Descripteur du média   21         1
Secteurs par FAT       22         2
Secteurs par piste     24         2
Têtes                  26         2
Secteurs masqués       28         4
Grands secteurs        32         4
				
Octets par secteur : il s'agit de la taille d'un secteur matériel et, pour la plupart des disques utilisés aux États-Unis, la valeur de ce champ est 512.

Secteurs par cluster : FAT étant limité dans le nombre de clusters (ou « unités d'allocation ») qu'il peut suivre, les grands volumes sont pris en charge en augmentant le nombre de secteurs par cluster. Le facteur de cluster d'un volume FAT est entièrement dépendant de la taille du volume. Les valeurs valides pour ce champ sont 1, 2, 4, 8, 16, 32, 64 et 128. Recherchez, dans la Base de connaissances Microsoft, l'expression « taille de cluster par défaut » pour plus d'informations à ce sujet.

Secteurs réservés : il s'agit du nombre de secteurs qui précèdent le démarrage du premier FAT, y compris le secteur de démarrage lui-même. Il doit toujours avoir une valeur au moins égale à 1.

FATs : c'est le nombre de copies de la table FAT enregistrées sur le disque. La valeur de ce champ est généralement égale à 2.

Entrées racine : il s'agit du nombre total d'entrées de nom de fichier pouvant être enregistrées dans le répertoire racine du volume. Sur un disque dur classique, la valeur de ce champ est 512. Toutefois, notez qu'une entrée est toujours utilisée comme Nom de volume et que les fichiers portant des noms longs utiliseront plusieurs entrées par fichier. Ce qui signifie que le plus grand nombre de fichiers dans le répertoire racine est en général 511, mais que vous manquerez d'entrées avant d'atteindre ce nombre si des noms de fichier longs sont utilisés.

Petits secteurs : ce champ est utilisé pour enregistrer le nombre de secteurs sur le disque si la taille du volume est suffisamment petite. Pour les plus grands volumes, ce champ a une valeur de 0 et la valeur du champ « Grands secteurs », évoqué plus bas, est prise en considération à la place.

Descripteur du média : cet octet fournit des informations sur les médias qui sont utilisés. Le tableau ci-dessous répertorie certaines des valeurs de descripteur de média reconnues et les médias qui leur sont associés. Notez que l'octet de descripteur du média peut être associé à plusieurs capacités de disque.
Octet  Capacité   Taille et type de média
F0     2,88 Mo    3,5 pouces, 2 faces, 36 secteurs
F0     1,44 Mo    3,5 pouces, 2 faces, 18 secteurs
F9     720 Ko     3,5 pouces, 2 faces, 9 secteurs
F9     1,2 Mo     5,25 pouces, 2 faces, 15 secteurs
FD     360 Ko     5,25 pouces, 2 faces, 9 secteurs
FF     320 Ko     5,25 pouces, 2 faces, 8 secteurs
FC     180 Ko     5,25 pouces, 1 face, 9 secteurs
FE     160 Ko     5,25 pouces, 1 face, 8 secteurs
F8     -----      Disque dur
				
Secteurs par FAT : c'est le nombre de secteurs occupés par chacune des FATs sur le volume. Avec cette donnée, le nombre de FATs et le nombre de secteurs réservés indiqués ci-dessus, nous pouvons calculer où le répertoire racine commence. Avec le nombre d'entrées dans le répertoire racine, nous pouvons également calculer où la zone de données utilisateur du disque commence.

Secteurs par piste et Têtes : ces valeurs sont une partie de la géométrie de disque visible en cours d'utilisation lors du formatage du disque.

Secteurs masqués : il s'agit du nombre de secteurs sur le disque physique qui précèdent le début du volume (c'est-à-dire, avant le secteur de démarrage lui-même). Ce champ est utilisé pendant la séquence de démarrage pour calculer le décalage absolu par rapport au répertoire racine et aux zones de données.

Grands secteurs : si le champ « Petits secteurs » est égal à zéro, ce champ contient le nombre total de secteurs utilisés par le volume FAT.

Certains champs supplémentaires viennent s'ajouter après le bloc de paramètres du BIOS standard et constituent un « bloc de paramètres du BIOS étendu ». Ces champs sont les suivants :
Champ                       Décalage Taille
-----                       ------   ------
Numéro de lecteur physique    36        1
Tête actuelle                 37        1
Signature                     38        1
ID                            39        4
Nom de volume                 43       11
ID système                    54        8
				
Numéro de lecteur physique : ce numéro dépend du numéro de lecteur physique du BIOS. Les lecteurs de disquette sont numérotés en commençant de 0x00 pour le lecteur A:, tandis que les disques durs physiques sont numérotés en commençant de 0x80. En général, vous définissez cette valeur avant d'émettre un appel BIOS INT 13 pour spécifier le périphérique auquel il faut accéder. La valeur sur disque enregistrée dans ce champ est en général 0x00 pour les disquettes et 0x80 pour les disques durs, indépendamment du nombre de lecteurs de disques physiques existant, car cette valeur n'est pertinente que si le périphérique est un périphérique de démarrage.

Tête actuelle : il s'agit d'un autre champ généralement utilisé lors des appels BIOS INT13. Sa valeur devait à l'origine être utilisée pour enregistrer la piste sur laquelle se trouvait l'enregistrement de démarrage, mais cette valeur enregistrée sur le disque n'est en fait pas utilisée comme telle. En conséquence, Windows NT utilise ce champ pour enregistrer deux indicateurs :

  • le bit de poids faible est un indicateur d'intégrité, utilisé pour indiquer que autochk doit exécuter chkdsk sur le volume au démarrage ;
  • le deuxième bit de poids faible est un indicateur qui indique qu'un examen de la surface doit également être exécuté.
Signature : la signature d'enregistrement de démarrage étendue doit être 0x28 ou 0x29 pour être reconnue par Windows NT.

ID : l'ID est un numéro de série aléatoire assigné pendant le formatage pour permettre de distinguer un disque d'un autre.

Nom de volume : ce champ était utilisé pour enregistrer le nom de volume, mais le nom de volume est maintenant enregistré sous forme d'un fichier spécial dans le répertoire racine.

ID système : ce champ a pour valeur « FAT12 » ou « FAT16 », selon le format du disque.

Sur un volume démarrable, la zone qui suit le bloc de paramètres du BIOS étendu est en général le code de démarrage exécutable. Ce code est chargé d'exécuter les actions nécessaires à la continuation du processus de démarrage. Sur les systèmes Windows NT, ce code de démarrage identifie l'emplacement du fichier NTLDR, le charge dans la mémoire et transfère l'exécution à ce fichier. Même sur une disquette qui n'est pas une disquette de démarrage, il y a du code exécutable dans cette zone. Le code nécessaire à l'affichage du message bien connu « Disque non-système ou erreur disque » se trouve sur la plupart des disquettes formatées par MS-DOS de façon standard sans l'option « system ».

Enfin, les deux derniers octets de n'importe quel secteur de démarrage ont toujours les valeurs hexadécimales suivantes : 0x55 0xAA.

Dépannage

Si vous soupçonnez qu'un secteur de démarrage FAT est corrompu, vous pouvez vérifier plusieurs des champs répertoriés ci-dessus pour voir si les valeurs qui y sont indiquées semblent logiques. Par exemple, la valeur de BytesPerSector est 512 dans la grande majorité des cas. Vous devez aussi trouver des chaînes de texte, dans la section de code exécutable du secteur de démarrage, qui correspondent au système d'exploitation qui a formaté le disque.

Les chaînes de texte types sur les volumes FAT formatés par MS-DOS incluent : « Disque système non valide », « Erreur d'E/S disque. », « Remplacez le disque, puis appuyez sur une touche », « Disque non-système ou erreur disque », « Remplacez puis appuyez sur une touche lorsque vous êtes prêt. » et « Disk boot failure ». Les chaînes de texte sur les volumes FAT formatés par Windows NT incluent : « DÉMARRAGE : Impossible de trouver NTLDR. », « Erreur d'E/S lors de la lecture du disque. » et « Veuillez insérer un autre disque. ». Cette liste ne doit pas être considérée comme exhaustive. Si vous trouvez d'autres messages dans le secteur de démarrage, cela ne signifie pas nécessairement qu'il y a un problème avec le secteur de démarrage. Les différentes versions de MS-DOS et de Windows NT ont parfois des chaînes de message légèrement différentes dans leurs secteurs de démarrage. En revanche, si vous ne trouvez aucun texte ou si le texte n'a aucun rapport avec MS-DOS ou Windows NT, vous devez considérer que le secteur de démarrage a pu être infecté par un virus ou qu'un autre type d'endommagement des données a pu avoir lieu.

Pour récupérer d'un secteur de démarrage qui a été infecté par un virus, le mieux est habituellement d'utiliser un antivirus du commerce. De nombreux virus ne se contenteront pas d'écrire des données dans le secteur de démarrage, de sorte que la réparation manuelle du secteur de démarrage n'est pas recommandée car elle risque de ne pas éliminer complètement le virus et, dans certains cas, risque même de faire plus de mal que de bien.

Si vous soupçonnez que le secteur de démarrage a été endommagé pour toute autre raison, le mieux est en général d'utiliser des outils de récupération du disque en vente dans le commerce. Bien qu'il soit possible de récupérer de l'endommagement du secteur de démarrage sans reformater le lecteur mais en modifiant manuellement les champs décrits précédemment, cette modification manuelle des secteurs de démarrage ne doit être tentée qu'en dernier ressort et le succès de l'opération ne peut pas être garanti lorsque d'autres structures du disque ont également été endommagées.

Propriétés

Numéro d'article: 140418 - Dernière mise à jour: vendredi 24 mars 2006 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
Mots-clés : 
KB140418
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com