Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mbr [Le 22/04/2011, 14:45]
127.0.0.1 modification externe
mbr [Le 06/01/2023, 14:09] (Version actuelle)
176.142.4.73 [Qu'est ce que le mbr et comment y accéder]
Ligne 4: Ligne 4:
 ====== Qu'est ce que le mbr ? ====== ====== Qu'est ce que le mbr ? ======
  
-Ce tutoriel explique ce qu'est le mbr d'un disque ou d'un média amovible, son organisation et à quoi il sert+Ce tutoriel explique ce qu'est le [[wpfr>​Master_boot_record|MBR]] ​d'un disque ou d'un média amovible, son organisation et à quoi il sert.\\ 
 + <​note tip>​**Voir [[GPT]] pour les HDD > 2To**</​note>​
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 21: Ligne 22:
  
  
-Compte tenu du risque encouru, son accès ne peut s'​effectuer qu'en mode superutilisateur (sudo). ​\\ +Compte tenu du risque encouru, son accès ne peut s'​effectuer qu'en mode superutilisateur (sudo).
 \\ \\
 Pour y accéder nous aurons besoin de la fonction [[:dd|dd]]. Cette fonction permet d'​accéder directement à un contenu présent sur le disque en s'​affranchissant de tout système de fichiers. Pour y accéder nous aurons besoin de la fonction [[:dd|dd]]. Cette fonction permet d'​accéder directement à un contenu présent sur le disque en s'​affranchissant de tout système de fichiers.
  
-Le disque est considéré comme un espace linéaire constitué de blocs de données, appelés secteurs, de 512 octets chacun, et dont la position est repérée ​par la LBA (Logical block addressing). +Le disque est considéré comme un espace linéaire constitué de blocs de données ​successifs, appelés secteurs, de 512 octets chacun, et dont la position est repérée ​son rang dans cet espace, à partir de 0 (adresse du MBR). Cette méthode d'​adressage est nommée ​LBA (Logical block addressing). 
-La première adresse commence en zéro (mbr) et la dernière ​(pas forcément utilisablepeut être calculée en divisant la taille du disque en octets par 512 et en retirant 1.+La dernière ​adresse, qui n'​est ​pas forcément utilisablepeut être calculée en divisant la taille du disque en octets par 512 et en retirant 1.
  
 \\ \\
Ligne 90: Ligne 91:
  
 \\ \\
-Au milieu de tout ce charabia :-( on distingue quelques messages - en fait des messages d'​erreurs - qui pourraient être affichés en cas de détection de problèmes. ​+Au milieu de tout ce charabia :-( on distingue quelques messages - en fait des messages d'​erreurs - qui pourraient être affichés en cas de détection de problèmes.
 \\ \\
 <note tip>On remarque que nous sommes dans la situation où l'​amorceur Grub est dans le mbr (chaine faisant référence à grub)</​note>​ <note tip>On remarque que nous sommes dans la situation où l'​amorceur Grub est dans le mbr (chaine faisant référence à grub)</​note>​
Ligne 102: Ligne 103:
 La première partie, adresses comprises entre **000 et 1b7**, correspond à la partie exécutable du mbr. Elle est chargée en mémoire vive (ainsi que le reste du mbr) lorsque le PC démarre ("​boote"​) sur ce disque. Elle a pour fonction de vérifier la validité de la table des partitions et de rechercher une partition amorçable du disque. La première partie, adresses comprises entre **000 et 1b7**, correspond à la partie exécutable du mbr. Elle est chargée en mémoire vive (ainsi que le reste du mbr) lorsque le PC démarre ("​boote"​) sur ce disque. Elle a pour fonction de vérifier la validité de la table des partitions et de rechercher une partition amorçable du disque.
  
-<​note>​Détailler cette partie</​note>​+<​note>​Voir par ici une analyse détaillée de [[:​la_partie_executable_du_mbr|la ​partie ​executable du mbr]]</​note>​
 \\ \\
  
Ligne 110: Ligne 111:
 Entre **1b8 et 1bb** se trouve l'​identifiant du disque, soit les octets **5d 52 5d 52**, que l'on peut avoir par exemple en faisant un<​code>​sudo fdisk -lu</​code>​ Entre **1b8 et 1bb** se trouve l'​identifiant du disque, soit les octets **5d 52 5d 52**, que l'on peut avoir par exemple en faisant un<​code>​sudo fdisk -lu</​code>​
 \\ \\
-<​code>​Identifiant de disque : 0x525d525d</​code><​note tip>​L'​ordre des octets est inversé du fait du codage [[http://​fr.wikipedia.org/​wiki/​Endianness|little endian]] (on commence par mettre les octets de "poids faible"​ avant les octets de "poids fort"​).+<​code>​Identifiant de disque : 0x525d525d</​code><​note tip>​L'​ordre des octets est inversé du fait du codage [[wpfr>Endianness|little endian]] (on commence par mettre les octets de "poids faible"​ avant les octets de "poids fort"​).
 </​note>​ </​note>​
  
Ligne 122: Ligne 123:
  
 <note important>​Cette table commençant à l'​adresse **1be** (446) et se terminant en **1fd** (509) contient 64 octets qui correspondent aux quatre entrées de 16 octets des 4 partitions principales - c'est d'​ailleurs pour cela que les partitions principales sont limitées à 4 dans les tables de type msdos.</​note>​ <note important>​Cette table commençant à l'​adresse **1be** (446) et se terminant en **1fd** (509) contient 64 octets qui correspondent aux quatre entrées de 16 octets des 4 partitions principales - c'est d'​ailleurs pour cela que les partitions principales sont limitées à 4 dans les tables de type msdos.</​note>​
 +<note tip>Dans le cas d'un partitionnement de type GPT, le mbr est un mbr protector qui ne contient qu'une unique partition de type ee commençant à la LBA 1.\\ 
 +Le code présent dans le mbr n'est pas utilisé en cas de boot en mode UEFI 
 +</​note>​
 \\ \\
 Cette table des partitions est donc ici (en affichant à partir de l'​adresse 1be pour avoir une ligne par partition puis en séparant par groupes d'​octets) Cette table des partitions est donc ici (en affichant à partir de l'​adresse 1be pour avoir une ligne par partition puis en séparant par groupes d'​octets)
Ligne 150: Ligne 153:
 \\ \\
 \\ \\
-L'​octet suivant code le [[http://​fr.wikipedia.org/​wiki/​Partition_de_disque_dur|système de fichier de la partition]],​ ici le **07** signifie ntfs (j'ai un dual boot avec Windows :-?), les autres valeurs couramment rencontrées sont :\\+L'​octet suivant code le [[wpfr>Partition_de_disque_dur|système de fichier de la partition]],​ ici le **07** signifie ntfs (j'ai un dual boot avec Windows :-?), les autres valeurs couramment rencontrées sont :\\
 **05, 0f** : étendue\\ **05, 0f** : étendue\\
 **0b** : fat32\\ **0b** : fat32\\
Ligne 165: Ligne 168:
  
 Nous arrivons au plus intéressant car c'est ici que sont codés le début et la taille des partitions dans le système LBA (Logical block addressing). Nous arrivons au plus intéressant car c'est ici que sont codés le début et la taille des partitions dans le système LBA (Logical block addressing).
-Le premier groupe de 4 octets correspond à l'​emplacement du début de la partition (en hexadécimal et en [[http://​fr.wikipedia.org/​wiki/​Endianness|little endian]]) et la taille (même format).+Le premier groupe de 4 octets correspond à l'​emplacement du début de la partition (en hexadécimal et en [[wpfr>Endianness|little endian]]) et la taille (même format).
 \\ \\
  
Ligne 185: Ligne 188:
 **//début espace suivant = début partition + taille partition//​** **//début espace suivant = début partition + taille partition//​**
  
-<note tip>​Souvent les partitions principales commencent au début d'un cylindre. Pour une géométrie classique, les pistes font 63 secteurs et le disque possède 255 têtes, ce qui fait une taille de cylindre de 63x255=16065 secteurs.+<note tip>​Souvent les partitions principales commencent au début d'un cylindre. Pour une géométrie classique, les pistes font 63 secteurs et le disque possède ​//au maximum// ​255 têtes, ce qui fait une taille de cylindre de 63x255=16065 secteurs.
 La première partition échappe à cette règle et commence au début de la deuxième tête du premier cylindre, soit à l'​adresse 63 (décimal) La première partition échappe à cette règle et commence au début de la deuxième tête du premier cylindre, soit à l'​adresse 63 (décimal)
 </​note>​ </​note>​
-<note tip>Avec l'​arrivée des disques de grande taille ​(et peut être de seven), il semble que la géométrie (virtuelle) ​des disques ​ait changé ​et la première partition commence souvent à l'​adresse 2048.</​note>​ +<note tip>Avec l'​arrivée des disques de grande taille et des disques ​plus performants comme les ssd, cette antique géométrie tend à disparaître ​et la première partition commence souvent à l'​adresse 2048. Les autres partitions commencent également à un multiple de 2048 secteurs assurant un alignement de ces dernières au Mio.</​note>​ 
-<​note>​Le système des tables des partitions à base de secteurs de 512 octets, limite la taille des disques à 2 Tio. Il est possible que les nouveaux schémas des partitions supposent des secteurs ​de plus grande taille ​avec une structure virtuelle de disque différente</​note>​+<​note>​Le système des tables des partitions à base de secteurs de 512 octets, limite la taille des disques à 2 Tio. Pour les disques ​de plus grande taille ​il faudra abandonner les tables des partitions msdos au profit des tables gpt.</​note>​
 \\ \\
 ==== Le nombre magique ==== ==== Le nombre magique ====
Ligne 238: Ligne 241:
 \\ \\
    
-  * **(fr)** [[http://​fr.wikipedia.org/​wiki/​Master_boot_record]] +  * **(fr)** [[wpfr>Master_boot_record|Master boot record sur Wikipédia]] 
-  * **(fr)**[[http://​fr.wikipedia.org/​wiki/​Partition_de_disque_dur]] +  * **(fr)**[[wpfr>Partition_de_disque_dur|Les partition de disque dur sur Wikipédia]] 
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=390336]] sur le forum ubuntu-fr +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=390336|Forum ​ubuntu-fr]] 
-  * **(fr)**[[http://​fr.wikipedia.org/​wiki/​Logical_block_addressing]]+  * **(fr)**[[wpfr>Logical_block_addressing|Adressage logique sur Wikipédia]]
  
  
  • mbr.1303476341.txt.gz
  • Dernière modification: Le 03/08/2012, 16:23
  • (modification externe)