Master Boot Record - Master Boot Record (MBR)

Tout d'abord, nous allons définir une certaine terminologie. Les mots pris dans le titre de l'article, comprennent souvent deux choses différentes, qui dans certains cas peuvent être équivalent à, et dans certains - pas. Le premier concept - la réelle Master Boot Record. Cet enregistrement (code et données) qui est chargé en mémoire à partir du disque dur et permet l'identification des partitions logiques sur elle, détermine la partition active et démarrer dessus Boot Record (Boot Record - BR), qui continuera à exécuter le système d'exploitation (OS). Et la deuxième chose - le secteur de démarrage, Master Boot Sector (MBS) - ce secteur, situé sur le cylindre 0, la (tête) et 0 ayant le numéro 1. Dans la plupart des cas, MBS contient tout le code et les données nécessaires, de sorte que son contenu est le MBR cependant, il y a des cas (dont nous parlerons plus tard dans l'article), lorsque le code et les données ne sont pas placés dans le même secteur (juste ne pas avoir assez d'espace ou pour des raisons de sécurité), puis le code de ce secteur fournit le chargement en mémoire le reste des secteurs. Dans ce cas, le MBR - un ensemble de tous les secteurs qui ont besoin d'être chargé, et MBS - seulement un premier secteur.
Cependant, nous commençons par le cas lorsque le MBR et MBS - la même chose, et nous les appelons plus familière et répandue MBR terme. Un peu dévier du sujet, je note qu'un MBR (qui fournit démarrer tout système d'exploitation et occupe seulement MBS) sont communément appelé générique MBR.
Généralement MBR est apparu sur le disque dur depuis MS DOS version 3.0, les versions antérieures du disque dur a été formaté comme une disquette, et dans le premier secteur situé BR. En conséquence, le disque représente une section et ne pouvait pas être décomposé en parties logiques - la vérité, lorsque la taille des disques, qui sont ensuite libérés, il était hors de propos.
la taille du secteur sur le disque dur - 512 octets. Cet espace est suffisant pour loger tout le nécessaire - et le code et les données. Cependant, une seule structure devrait y avoir nécessairement présent - il est une signature. Ce mot est appelé spécial, strictement défini, la séquence de 2 octets avec les valeurs hexadécimaux 55h AAh, qui est enregistré dans les 2 derniers octets du secteur et, en conséquence, est décalé par rapport au secteur 1FEh de début. Si au moins l'un des deux derniers octets diffèrent de la valeur, il est supposé que le premier secteur est pas MBR et ne contient pas d'informations significatives. Si l'ordinateur au démarrage, après avoir lu le premier secteur, ne détecte pas la bonne signature, il ne transmet pas le code de contrôle régler là-bas, même si elle est correcte, et affiche un message indiquant que le master boot record est introuvable. Ou va essayer de trouver sur d'autres appareils - par exemple, sur une disquette. Un peu dévier du sujet, je note que le BR contient également la signature 55h AAh dans les deux derniers octets.
Eh bien, si commencé à partir de la queue, puis nous allons à partir de là vers le haut du secteur. Avant la signature, près d'elle, il y a 4 blocs de données de 16 octets chacun (respectivement décalés par rapport à l'1BEh secteur début, 1CEh, 1DEh, 1EEh). La combinaison de ces blocs est appelée la table de partition, Partition Table (PT), et chaque entrée séparée - un élément de la table de partition (Partition Table Entry) ou juste une partition (Partition). Ces 16 octets suffisent pour spécifier toutes les caractéristiques nécessaires de la section, à savoir le type de section, signer l'activité Forum, en commençant et se terminant le secteur de la partition dans le format de cylindre (piste) - La tête (côté) - Secteur (Cylinder - Tête - Secteur, CHS) le nombre relatif du premier secteur (par rapport au MBR) et le nombre de secteurs dans la partition.
Tout le reste du secteur spatial emploie un code de logiciel qui fournit une analyse du PT, rechercher une partition active, démarrage dans la section de mémoire du BR et de transférer le contrôle. Il est facile de calculer le code reste sur les 512-4 * 16 - 2 = 446 octets. Cet espace est plus que suffisant pour mener à bien ces actions.
Par conséquent, la structure globale du MBR peut être représentée par le tableau suivant:
  Décalage Longueur Description
 000h Code 446 loader
 1BEh 64 Partition Table
  16 Section 1
 1CEh 16 Section 2
 1DEh 16 Section 3
 1EEh 16 Section 4
 1FEh 2 Signature (55h AAh)
Chaque bloc de 16 octets, qui décrit une section, a la structure suivante:
  Décalage Longueur Description
 00h 1 Symptôme activité de section
 01h 1 Haut de la section - Tête
 02h 1 Démarrer section - secteur (bits 0-5), piste (bits 6,7)
 03h 1 section Démarrer - piste (8,9-bits de poids forts sont stockés dans un numéro de secteur d'octets)
 04h 1 partition code de type
 05h 1 section de fin - tête
 06h 1 Fin section - secteur (bits 0-5), piste (bits 6,7)
 07h 1 section End - piste (8,9-bits d'ordre supérieur sont stockés dans un numéro de secteur d'octets)
 08h 4 Décalage du premier secteur
 0Ch section 4 Nombre de secteurs
Code de type de partition est un identificateur d'un octet. Si sa valeur - 00h, il est considéré que l'élément PT ne contient pas de données sur la partition, et son contenu est ignoré. Toute valeur non nulle signifie que cet espace fait partie d'un certain type. Certaines valeurs indiquent clairement le type de partition, certains correspondent à plusieurs types possibles, et la définition d'un type particulier est affecté au système d'exploitation, et le reste sont réservés pour une utilisation future. Relativement complet et à jour guide sections de types de codes peuvent être trouvés dans Ralf Brown Liste d' interruption dans la table de fichier INTERRUPT.D 00652, qui est contenu dans l'archive (de cette écriture) inter61a.zip à http://www.pobox.com/ ralf ~ / files.html . Ici, je donne un tableau des types de partitions qui sont créés par les systèmes d'exploitation Windows 9x et Windows NT / 2000 / XP:
  Code de l'article Type de
 01h 12-bit FAT
 04h FAT et 32 ​​16 bits MB
 section avancée 05h
 06h FAT 16 bits à 32 Mo
 07h Windows NT NTFS (et quelques autres - est déterminé par le type de contenu BR)
 0Bh 32 bits FAT
 0Ch FAT 32 bits en utilisant le contrôle INT13 étendu
 0Eh LBA VFAT (le même que 06h, avec l'utilisation de pointe INT13 de gestion)
 0Fh LBA VFAT (le même que 05h, avec l'utilisation de pointe INT13 de gestion)
 partition NTFS Caché 17h
 partition 1Bh cachée FAT 32 bits (le même que 0Bh)
 1Ch FAT caché partition 32 bits en utilisant étendue INT13 de contrôle (le même que 0Ch)
 1Eh partition cachée LBA VFAT (le même que 06h, avec l'utilisation de la gestion avancée INT13)
 Section 86h FAT-16 Windows NT bande-array
 Section 87h NTFS bande-ensemble de Windows NT
 B6h miroir maître partition FAT-16 Windows NT
 B7h miroir maître-section NTFS Windows NT
 FAT-16 Windows NT S6H Mirror esclave section
 S7H Mirror esclave section NTFS Windows NT
section Symptôme d'activité - à savoir, un signe que le système d'exploitation doit le télécharger à partir de cette section - peut avoir une valeur de 80h (partition est active) et 00h (partition est pas active). D'une manière générale, la quantité de la partition active doit être inférieure à 1 (sauf pour faire un choix?). Si la partition active est pas - alors le système d'exploitation à partir de ce disque dur ne peut pas être chargé. D'autres valeurs sont rejetées comme mauvais. Toutefois, la décision sur le transfert du contrôle prend le code bootloader, donc la valeur de la fonction octet de démarrage - un axiome que les téléchargeurs standard.
début du bloc de Trёhbaytny et les adresses de la section des adresses d'extrémité ont un format identique. Il utilise en fait la valeur de l'emballage afin d'avoir une quantité minimale. format de paquet est pleinement compatible avec la façon dont les données sont transmises procédures fonctionnent avec disque dur (Int 13h), situé dans le BIOS de l'ordinateur, de sorte que les frais généraux de calcul, on obtient un minimum. Dans le même cylindres et pistes sont numérotées, à partir de zéro, et le secteur - pour quelque raison que le premier. Je ne sais vraiment pas pourquoi - il est arrivé historiquement.
Le secteur, qui indique l'adresse de début de la section contient une entrée spéciale, appelée un enregistrement d'amorçage (BR). Sa nomination et la composition seront discutées dans un article distinct.
Décalage du premier secteur de la partition - il est en fait le numéro du secteur lorsque tous les secteurs du disque dur renumérotés à partir de 0 (conformément à la numérotation utilisée Int 25h / 26h) dans l'ordre croissant du premier secteur d'une piste, dans l'ordre croissant des numéros de tête et, enfin, cylindres. Et quel est le nombre de secteurs de la partition - il est clair sans explication.
Naturellement, toutes ces valeurs sont liées par des dépendances simples, parce que les informations qui y sont contenues est excessive. Parce que la formule donnera la relation entre eux.
Donc, si l'on note:
C M - cylindre sur lequel le MBR;
H M - piste, sur laquelle le MBR;
S M - secteur, qui est le MBR;
C S, H S, S S , C E, H E, S E - est le même, pour le début de secteurs (S) et à la fin (E) de la section;
H H - le nombre de pistes sur le disque dur;
S H - le nombre de secteurs par piste sur le disque dur,
puis:
Le nombre absolu de secteurs dans lesquels le PT:
Num PT = C M * H H * S H + H M * S H + S M -1
Le nombre absolu de secteurs au début de cette section:
Num S = C S * H H * S H + H * S S H + S S -1
Absolute numéro de la section d'extrémité du secteur:
Num E = C E * H H * E H + H E * E H + E E -1
Le décalage du premier secteur de la partition:
Offset S = Num S - Num PT
Le nombre de secteurs de la partition:
Montant = Num E - Num S +1
A partir de ces formules, d'ailleurs, il est évident qu'il est important de voir comment de nombreuses pistes ont un disque dur et comment les secteurs de chaque piste de cylindres longs. Ces valeurs dépendent de la géométrie du disque dur, et les paramètres sélectionnés dans le mode de traduction du BIOS. Par conséquent, le disque est divisé en sections dans un mode de diffusion, il peut être illisible lorsque vous modifiez le mode de diffusion.
Pour IDE durs, il existe plusieurs modes de traduction:
CHS (Cylinder-Head-Sector) - dans ce cas, la géométrie du disque est considéré comme ce qu'il dit qu'il est un ordinateur. Ne soyez pas dupe - la majorité de la géométrie réelle d'entraînement ne sont pas comme ça. Toutefois, le contrôleur fait partie du disque dur, fait le nécessaire vous change, et la façon dont il le fait est sans importance pour nous. Le nombre maximum de cylindres - 1024 (0 à 1023), les pistes - 16 (0 à 15), les secteurs - 63 (1 à 63), et la capacité du disque maximal disponible dans la diffusion sans l'utilisation de programmes spéciaux - 504 Mo . Lorsque l'adresse du secteur des opérations de disque est transmis au contrôleur de disque dur BIOS de l'ordinateur inchangé.
LBA (Logical Block Addressing) - avec le mode de diffusion, pas la géométrie du disque, dont il informe le BIOS de l'ordinateur. Produit apporter au format lorsque le nombre de cylindres est inférieure à 1024, et le nombre de secteurs par piste est égal à 63. Le nombre prévu des pistes en même temps dépend du BIOS et le disque de volume de disque de votre ordinateur, et peut être égal à 16, 64, 128 ou 255, la dernière version du BIOS est généralement utiliser la réduction à 255 (0-254) chemins, quelle que soit la capacité de stockage. Lorsqu'on se réfère à conduire transféré au numéro de cylindre LBA-diffusion, la tête et le secteur traduit en un nombre absolu de secteurs, et qu'il passa le contrôleur de disque dur du BIOS de l'ordinateur pour effectuer l'opération. Lorsque le volume de stockage de plus de 8 Go du nombre de cylindres est obtenu plus de 1024, parce que sur les ordinateurs qui ne prennent pas en charge l'extension en mode Int 13h, sans avoir à installer un espace de logiciel spécial au-delà des limites de 8 Go disponible (quel que soit le mode de diffusion). Parfois, cependant, il est utile de mettre à jour le BIOS de l'ordinateur.
LARGE, ou ECHS (Extended CHS) - avec le mode de diffusion est faite pour porter le nombre de cylindres à la valeur d'au moins 1024 en raison de l'augmentation du nombre de trajets multiples. Le nombre prévu de pistes est strictement un multiple du nombre réel de secteurs par piste ne change pas. Cependant, la plupart des lecteurs modernes, le nombre de secteurs par piste (sur les assurances du contrôleur d'entraînement) est 63. Le montant maximal disponible sur les ordinateurs qui ne prennent pas en charge l'extension en mode Int 13h, dépend du nombre réel de pistes, mais pas plus de 8 Go (par exemple, si le disque a 16 pistes, dans leur diffusion LARGE peut être 16, 32, 48 ... 240, mais pas 255, puisque 255 est pas un multiple de 16 et le maximum disponible volume - 1024 * 240 * 63 * 512 / (1024 3) = 7,38 Go).
Si vous utilisez LBA ou LARGE émission en raison de l'arrondissement des nombres entiers plusieurs secteurs à la fin de l'entraînement peut "tomber" de l'espace décrit et devenir inaccessible. Cependant, les pertes sont généralement de petite taille.
Qu'est-ce que sur les lecteurs SCSI-disques, ils travailleront toujours dans la transmission LBA-mode. Au contraire, le contrôleur SCSI représente la géométrie de l'entraînement en conformité avec les exigences de la LBA-diffusion et la manipulation du disque lui envoie une adresse de secteur absolu. Naturellement, il est de la responsabilité du BIOS SCSI-contrôleur pour rendre le recalcul nécessaire.
De retour sur le MBR. Comme cela a déjà été mentionné, il contient un bloc de données de quatre éléments de sections de table. Cela signifie que le nombre maximal de partitions qui peuvent être décrites dans un MBR, égal à quatre. Toutefois, cela ne signifie pas que le nombre maximum de sections, qui peut être divisé en voiture, quatre aussi. Pour surmonter cet obstacle a été introduit un type spécial d'interface avec le code 05h - partition étendue (partition étendue).
Une partition étendue est très différent de tous les autres types de sections. En premier lieu, il ne décrit pas l'unité de séparation et la région de l'espace dans lequel les autres parties sont situées. Le nombre des occupants des sections est théoriquement illimité. Cependant, les sections qui se trouvent dans ce domaine, plusieurs "droits limités", la limitation la plus importante est qu'ils ne peuvent pas être actifs (ou plutôt, il est possible de le faire, en raison de cette partition du système d'exploitation sera chargé, mais les moyens réguliers de la plupart de l'existant OS ne permet pas, avoir à utiliser des outils spéciaux). Deuxièmement, le MBR doit contenir qu'une seule entrée pour la partition étendue. Au contraire, ils peuvent être faites et plus (au moins quatre), mais se comporte comme OS, rencontrant un difficile à prévoir. Par exemple MS-DOS 6.20 ignore toutes les partitions étendues, sauf le premier dans la liste, comme si elles n'existent pas. Troisièmement, contrairement à d'autres types de partitions dans le secteur, qui est enregistré dans la structure du secteur en tant que section de démarrage, ne contient pas BR. Il est en fait un MBR, qui a une signature, et une table de partition, mais ne contient généralement pas de code de programme (en général un secteur, y compris une table de partition, mais ne contient pas le code d'amorçage qui est appelé Abstract MBR). Cependant, puisqu'il n'y a aucune partition active, puis le code est inutile. Dans ce secteur, la table de partition, il est généralement une ou deux entrées. La première section décrit l'habituel (Partition), d'ailleurs, cette section doit être complètement à l'intérieur de l'espace Extended Partition. Si une section ordinaire prend toute la place dans la table de partition, un deuxième élément, qui décrit l'espace restant que la partition étendue. Dans un autre secteur exactement comme décrit par une section et, si l'espace reste, même un enregistrement de la partition étendue. Et il se poursuit aussi longtemps que l'espace est terminé. chaîne En fait, tous les enregistrements sur les sections étendues sont connectées (chaîne de partition étendue), qui pincent des morceaux de sections habituelles de l'espace de stockage, le lieu ne va pas à la fin. Une erreur dans un élément quelconque de la chaîne va conduire à sa désintégration en raison de tous les dossiers après la pause ne fonctionne pas, et l'espace du système d'exploitation occupée par eux seront trouvés seront considérés comme vacants.
habituellement OS respecte quelques règles au moment de remplir le circuit. D'abord décrit dans le prochain "lien" partition normale du circuit ne doit pas être placé au milieu, comme pour décrire les deux morceaux d'espace libre résultant est nécessaire dans PT cet élément entrer deux enregistrements sur deux partitions étendues différentes aussi bien, comme je l'ai dit plus tôt, le système d'exploitation en général ignorer tous ces dossiers, sauf la première, et à la suite de la chute d'espace disque partitionnement. Deuxièmement, habituellement un enregistrement de la section normale est faite de sorte qu'il occupait une superficie initiale de la partition étendue, et l'élément suivant des sections de chaîne - le reste.
Quels problèmes peuvent résulter des contenus du MBR? Tout d'abord, la destruction physique ou logique, à savoir les dommages de surface ou un autre problème mécanique ou servo corrompu, ce qui rend impossible la lecture de ce secteur à partir du disque. Cependant, de tels cas sont en dehors de la portée de notre considération. Le deuxième problème le plus commun - la destruction de tout ou partie des informations contenues dans le secteur, de sorte que les sections ou ne peuvent pas être trouvés par le système d'exploitation, ou leurs paramètres sont déterminés incorrect.
Le cas le plus simple - la destruction de la signature. Dans le même temps l'OS pense que le secteur contient des informations aléatoires, des «ordures», et le lecteur lui-même n'a pas divisé en sections, et aucune information sur ce n'est pas. Pour restaurer juste assez par tous les moyens d'accès direct aux secteurs du disque (la plus populaire du paquet DISKEDIT NORTON UTILITIES) pour restaurer la signature. La plupart des systèmes d'exploitation, cependant, doivent être redémarré depuis le système d'exploitation est généralement lorsque vous commencez à lire les informations sur la partition d'un disque, puis dans le processus de ses modifications ne sont pas pris en compte.
Un cas plus compliqué - est la destruction du code. Dans le même temps perdre la possibilité de démarrer le système d'exploitation du lecteur et tenter de démarrer normalement se termine par "accrocher" l'ordinateur. Dans le même temps, si vous démarrez à partir d'un autre lecteur (un autre disque dur, disquette, CD-ROM de démarrage, etc.), puis toutes les informations sur le lecteur est disponible pour utilisation. Dans ce cas, il est recommandé d'utiliser des outils standards de récupérer le code de démarrage, qui sont disponibles dans chaque OS. Par exemple, sur Windows 9x pour ce programme FDISK.EXE polyvalent qui fonctionne avec la touche / MBR.
La destruction du code - événement pas aussi rare que cela puisse paraître. En règle générale, un tel problème survient lorsque plusieurs systèmes d'exploitation d'un d'entraînement sont installés en série dans une ou plusieurs sections. Toute installation de l'OS souhaitent avoir dans le propre code MBR, mais se soucient pas tout sur le maintien du code qui était auparavant dans le secteur. Par exemple sur Windows 9x réécrire le code de bootloader, sans en informer l'utilisateur popularité et détruire définitivement les anciens contenus. Cependant, ce cas est tout simplement pas très effrayant, parce que tous les chargeurs OS sont très similaires. Le problème se produit si la partition du lecteur en partitions utilisées par des logiciels tiers, tels que EZ-lecteur, ODM ou telle SpeedStore, qui vient de concepts et MBS MBR ne sont pas équivalents. En raison de différentes idéologies télécharger (que nous verrons plus loin) le code dans les MBS, effectue une autre fonction, à savoir, la recherche et le téléchargement du code MBR, situé dans les autres secteurs du disque. Code de remplacement conduit au fait que cette fonction est perdue, et donc il y a des problèmes de nature différente. L'utilisateur doit être très prudent lors de l'utilisation de tels logiciels - récupération de code dans de tels cas peut être très difficile.
Et l'expérience la plus forte et désagréable - est la destruction de la table de partition elle-même. Cependant, comme nous le savons, le problème ne vient jamais seul, et souvent tous les trois sont composant MBR détruit, mais il est la destruction des résultats PT dans les conséquences les plus graves, parce qu'il a perdu la capacité d'accéder aux informations stockées sur le disque. PT peut être complètement détruit, et peut-être en partie - à savoir, des éléments détruits, et le reste intact. Il y a des cas où le PT, situé dans un MBR, intact et battu un record des sections dans l'un des maillons de la chaîne Extended Partition. Toutefois, étant donné la structure du MBR et la structure sont identiques (sauf qu'il n'y a pas de code d'éléments de partition étendue), la procédure de récupération dans les deux cas est le même.
Il y a un nombre suffisant de programmes capables de reconstruire leur PT brisé. La qualité de leur travail est différent et dépend principalement du processus de partitionnement de disque était la difficulté en sections que tous les types de partitions qui sont sur le disque, programme connu, et il n'y a pas d'autre que la destruction de PT n'a pas de données de dommages dans d'autres secteurs, en particulier les sections BR. Cependant, nous ne cherchons pas des moyens faciles, et si vous avez l'âme ne se bloque pas la tête avec des cris de "plus, plus vite, l'impression de sauter ma forme, je suis en vacances en retard!", Vous aurez beaucoup plus de plaisir si eux-mêmes, sans aucune programmation-machines en utilisant seulement leurs connaissances, être en mesure de récupérer toutes les informations. Vous pouvez même simplement faire toutes les recherches nécessaires pour obtenir tous les numéros qui doivent être écrit dans le PT, puis lancer le programme de récupération, puis le faire fonctionner, que tout se sentait bien. Et peut-être même d'améliorer les résultats de ses travaux, si elle est pas remplie de 100%.
Nous avons donc besoin de travailler: une disquette de démarrage DOS avec le tout, à laquelle le DISKEDIT.EXE de fichier copié, crayon, papier et calculatrice (bien que la calculatrice est dans le DISKEDIT) et certains cerveaux. Il est souhaitable, bien sûr, et le DOS et DISKEDIT étaient plus fraîche. J'utilise DOS 7.10 à partir de Windows 98 SE et DISKEDIT du paquet NORTON UTILITIES 2002. Aucun pilote à ce stade, nous ne devons pas, eh bien, sauf lorsque le lecteur est connecté à l'ancien SCSI-contrôleur et sans charge, le pilote est tout simplement pas visible. Vous pouvez télécharger le pilote de souris - sera un peu plus pratique. Maintenant, le principal changement - en plus des fichiers sur une disquette ne doit pas être quelque chose! Ceci est important - s'il n'y a pas de fichier de disquette de configuration de disque, DISKEDIT.EXE exécuté en mode lecture seule (Read-Only) et aucune donnée ne sera changé sur le disque, jusqu'à ce que nous ne demandons pas explicitement. Une disquette pour fermer toutes les entrées.
Démarrage à partir de la disquette. Exécutez DISKEDIT.EXE. Après le chargement, appuyez sur les touches Alt-D (ou via le menu Object - Drive). Il affiche une fenêtre avec des unités de disque disponibles. Tout d'abord, nous rappelons que nous avons besoin d'un dispositif physique (disques physiques), puis sélectionnez le lecteur souhaité (par exemple, disque dur 1), puis cliquez sur OK. Dans le même temps dans tous les secteurs du disque sera sélectionnée comme la plage de vue du premier au dernier. Ce dont nous avons besoin.
Premièrement, nous allons demander au programme pour effectuer le point de vue du disque et rechercher tous les secteurs qui peuvent être des éléments de circuit partition ou BR Extended. Et bien qu'il soit facile de regarder secteur DISKEDIT avec la signature, de ne pas analyser le contenu (nous prenons en charge) - de grands résultats peuvent faciliter le travail. La vérité devra être patient - le processus est pas rapide, et d'ailleurs, tout le monde trouve le secteur aura besoin de prendre un crayon, mais vaut poudre et des balles.
Donc, Outils - Trouver Objet - Partition / Boot. Allons-y. Chaque fois que vient le secteur avec la signature, la recherche s'arrête, l'écran affiche un vidage du secteur, et dans le coin inférieur droit - nombre de secteurs. Ce sont les adresses et doivent prendre un crayon. Toutefois, si vous partitionner un disque ne soit pas utilisé des méthodes très sophistiquées, tout ce que nous sommes intéressés par le secteur sera placé sur le premier côté zéro ou dans le premier secteur, à savoir Side 0 ou 1, Secteur 1. D'autres secteurs, par exemple environ 12 Cyl, Side 4, secteur 52 peuvent être ignorées en toute sécurité - accidentellement. Cependant, nous avons un nombre absolu de secteurs, mais il est pas terrible, pour le nombre «droit» des secteurs sera divisible par le nombre de secteurs par piste, généralement 63 (autres valeurs il y a maintenant beaucoup moins - 17, 26, 40, 56, donc ci-après partout où je vais parler du nombre de secteurs 63, gardez à l'esprit que tout autre numéro) doivent être utilisés sur votre stockage particulier possible. Et ce chiffre, nous pouvons voir dans le menu (Info - Infos sur le lecteur). Malheureusement, le nombre de côtés et le cylindre, il peut être incorrect (ne convient pas pour la traduction), mais il est pas terrible. La rédaction du prochain numéro de secteurs, nous continuons à chercher (vous pouvez par le menu Outils - Trouver Encore une fois, vous pouvez simplement Ctrl-G). Et jusqu'à ce que nous obtenons un message que l'objet est introuvable. À ce point dans nos mains (ou plutôt, sur papier) tous les secteurs des chambres dans lesquelles il y a une signature.
Теперь обрабатываем список, отсеивая явно случайные номера (это которые не делятся на 63), и особо выделяя пары номеров, которые различаются на 63. Эти пары - не что иное как пара из элемента Extended Partition и BR описанного в нём раздела.
Теперь отложим на минутку листок с цифрами и попытаемся вспомнить, какого размера разделы были на диске. Так, крупными мазками, 600 мегабайт, 12 гигабайт… запишем всё что помним. Если сумма не равна объёму накопителя - либо что-то забылось, либо неверно вспомнилось, либо было пространство, не принадлежавшее ни одному разделу (а что, бывает… знаю не один случай, когда десятигигабайтный жёсткий диск разбивался на компьютере, материнская плата которого не понимала более восьми гигабайт, а при апгрейде это как-то не вспомнилось… вот так 2 гигабайта и зависли). На этом этапе желательно вспомнить ещё и типы файловых систем в каждом из разделов.
Теперь возьмём оба листка и попытаемся совместить полученные данные. Мегабайт - две тысячи секторов, гигабайт - два миллиона… приблизительно. Но обычно удаётся совершенно однозначно наложить одно на другое. Полезно бывает нарисовать длинный прямоугольник, расставить на нём границы, соответствующие найденным секторам, и поделить на кусочки, соответствующие размерам разделов. Даже если однозначности нет - не беда. Разберёмся. При совмещении данных рекомендую помнить, что некоторые BR и элементы цепи Extended Partition могут быть разрушены (и соответственно не будут найдены), причём наиболее часто разрушаются BR первого (по положению на накопителе) раздела и BR активного раздела.
Впрочем, на данном этапе, пожалуй, всё… и не потому, что дальше некуда, а по другой причине - для дальнейшей работы по восстановлению требуется анализ других структур, которые располагаются уже в "найденных" разделах - это BR, FAT/MFT, каталоги и пр… мы их пока не рассматривали. Впрочем, иногда и найденной и вспомненной информации достаточно. В конце статьи приведен пример такого восстановления (пока не написан).
Иногда знание структуры разделов применяют совершенно для других целей - например, для создания своего собственного разбиения диска на разделы. Пример такого применения также есть в конце статьи.
При создании нестандартного разбиения диска на разделы, кроме требований, описанных ранее (один расширенный раздел и пр.), рекомендую также учитывать то, в каком порядке ОС MS-DOS и Windows назначают разделам буквы логических дисков ( Q51978 - Order in Which MS-DOS and Windows Assign Drive Letters ). Буквы присваиваются, начиная с C: (A: и B: зарезервированы для дисководов гибких дисков, возможно виртуальных). Порядок подключения таков:
  1. Раздел, с которого загружается ОС (при загрузке с жёсткого диска).
  2. Первые первичные разделы остальных жёстких дисков в порядке их нумерования (инициализации) BIOS компьютера.
  3. Разделы в Extended Partition жёстких дисков в порядке их нумерования (инициализации) BIOS компьютера, в порядке их записи в Partition Table дисков.
  4. Остальные первичные разделы дисков, в порядке их записи в Partition Table по порядку их нумерования (инициализации) BIOS компьютера.
  5. Устройства, формируемые драйверами, запускаемыми в файлах config.sys и autoexec.bat, в порядке их формирования и инициализации, если формируемому устройству не назначается в явной форме определённая буква или диапазон букв.
  6. Для ОС, которые могут опознавать и подключать накопители, не инициализируемые BIOS компьютера (не описанные в установках CMOS накопители) - разделы этих накопителей в соответствии с правилами 3 и 4 в порядке инициализации накопителей операционной системой.
Разделы не известных ОС типов не инициализируются и буквы им не присваиваются.
Следует помнить, что ОС семейства Windows NT имеют штатные средства переопределения букв логических дисков.

Пример 1. Ручное разбиение на разделы.

  • Параметры накопителя в LBA-трансляции (взяты из BIOS - Autodetect Hard Disk) - Cylinders 1216, Heads 255, Sectors 63, Capacity 10 Gb.
  • Желаемое разбиение: система 2 Гбайт, данные - 2 Гбайт, игры и дистрибутивы - остальное. Желательно разместить системный раздел в конце диска (по тестам там самая быстрая область), игры - в начале диска (по заверениям специалистов, наиболее часто данные повреждаются именно там).
  • Операционная система - Windows 98 SE rus, все разделы - FAT-32.
Исходя из желаемого разбиения, видится следующая схема: сначала расширенный раздел с двумя логическими дисками в нём - 6 и 2 Гбайт, потом первичный активный раздел 2 Гбайт, либо 3 первичных раздела в указанном порядке и с указанными размерами. Последний вариант нам не подходит (неважно по каким соображениям). Особенности работы программы FDISK выбранной ОС не позволяют выполнить разбиение штатно: если сначала мы создадим первичный раздел, он будет находиться в начале накопителя, если же мы сначала создадим расширенный раздел, то программа отказывается создавать первичный.
Принимаем решение провести разбиение с помощью FDISK насколько возможно, а затем доделать вручную. Первый этап: создать расширенный раздел с двумя дисками; второй: вручную добавить запись о первичном разделе.
Первый этап проблем не вызывает: загружаемся с дискеты, создаём extended partition размером 8 Гбайт, и в ней два логических диска - 6 Гбайт и 2 Гбайт. Перезагружаемся с дискеты, убеждаемся, что на диске появились (но недоступны - ведь мы не форматировали разделы!) диски C: и D:. Форматируем их при помощи стандартного FORMAT и в процессе форматирования убеждаемся, что диск C: имеет размер 6 Гбайт, диск D: - 2 Гбайт. Запускаем DISKEDIT и смотрим содержимое MBR. В нём имеется следующая запись:
  Lieu de départ Lieu d'arrivée relative Nombre de système d'amorçage Side Secteur Cylinder Side Secteur Cylindre Secteurs Secteurs PROLONGER Non 1 0 1 254 972 63 63 15631182 utilisé Non 0 0 0 0 0 0 0 0 utilisé Non 0 0 0 0 0 0 0 0 utilisé Non 0 0 0 0 0 0 0 0 
Nous avons besoin d'ajouter un enregistrement de la section primaire. secteur par rapport type (System) sera 0Ch (FAT32x), un signe du téléchargement est installé, la section de début à 973/0/1, la section d'extrémité à 1215/254/63, section commençant 15631245 (973 * 255 * 63 * 63 + 0 + 1-1), la section relative fin du secteur 19535039 (1215 * 255 * 63 + 254 * 63 + 63-1), le nombre de secteurs 3903795 (19535039-15631245 + 1). Il est subtilité très essentiel - si un numéro de cylindre 1023, est entré dans la valeur du champ correspondant de 1023 - malheureusement, cela est la valeur maximale qui peut être écrit - et la valeur correcte de l'OS calcule sur la base d'un nombre prédéterminé de secteurs.
Traduire DISKEDIT en mode lecture-écriture (Outils-Configuration), et la deuxième ligne de données calculée est entré. Après avoir entré et de vérifier toutes les valeurs sortent de clé DISKEDIT Esc, et la question de ce qu'il faut faire avec les changements qui sont responsables - à enregistrer (écriture). Redémarrage de l'ordinateur. Nous sommes sûrs que le disque est maintenant divisé en trois sections - C: - pas disponible, D: - 6 GB, E: - 2 Go. Formater le lecteur C: avec le transfert à elle des fichiers système dans le processus de formatage faire en sorte que le lecteur C: a une taille de 2 Go. Code Update commandement MBR FDISK / MBR, retirer la disquette, redémarrez votre ordinateur, assurez-vous que le système d'exploitation démarré, pousse C: D: et E: sont disponibles et ont des dimensions de 2, 6, et 2 Go. Exécutez NDD et assurez-vous qu'aucune erreur dans la table de partition, ni aucun disque. Cloisonnement est terminé.
La table de partition lorsqu'elle est vue par DISKEDIT ressemble à ceci:
  Démarrage Situation Situation Ending relative Nombre de
 Système Boot Side Secteur Cylinder Side Secteur Cylindre Secteurs Secteurs
 PROLONGER Non 1 0 1 254 972 63 63 15631182;  partition étendue
 FAT32x Oui 1254 63 1023 0973 15631245 3903795;  Une partition primaire (C :) Non utilisé 0 0 0 0 0 0 0 0
 Non utilisé 0 0 0 0 0 0 0 0
Si vous placez le curseur sur la ligne à l'entrée de la partition étendue et appuyez sur Entrée, puis regarder DISKEDIT transférer automatiquement au secteur, ce qui indique l'adresse de début de la section (pour la partition primaire, il sera le BR, pour les étendues - sections d'éléments de la chaîne). Dans notre cas, nous allons voir le contenu de cette sections de circuit d'élément:
  Démarrage Situation Situation Ending relative Nombre de
 Système Boot Side Secteur Cylinder Side Secteur Cylindre Secteurs Secteurs
 FAT32x No 2 0 1254728 63 63 11711259;  Une partition logique (D :) PROLONGER No 0 729 1 254 972 63 11711322 3919923;  partition étendue
 Non utilisé 0 0 0 0 0 0 0 0
 Non utilisé 0 0 0 0 0 0 0 0
Continuer sur les sections de la chaîne dans l'élément suivant:
  Démarrage Situation Situation Ending relative Nombre de
 Système Boot Side Secteur Cylinder Side Secteur Cylindre Secteurs Secteurs
 FAT32x No 1254972 63 63 1729 3919860;  Une partition logique (E :) Non utilisé 0 0 0 0 0 0 0 0
 Non utilisé 0 0 0 0 0 0 0 0
 Non utilisé 0 0 0 0 0 0 0 0
Un autre élément de circuit ne contient pas d'enregistrement de la partition étendue. La chaîne a pris fin.