Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ebr [Le 19/04/2011, 11:54] – Nasman | ebr [Le 21/05/2013, 14:45] (Version actuelle) – [La première entrée d'un EBR - Une partition logique] 46.218.89.25 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> tutoriel}} | ||
+ | ---- | ||
+ | |||
+ | ====== Qu'est ce qu'un EBR ? ====== | ||
+ | |||
+ | Au cours de vos lectures fructueuses dans la doc ou dans le forum, vous êtes peut être tombés sur des gourous parlant un jargon incompréhensible de partitions, de [[: | ||
+ | \\ | ||
+ | Ce tuto a pour but d' | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Connaitre la numération hexadécimale. | ||
+ | * Utiliser la calculatrice gcalctool en mode programmation (pour faire facilement des conversions hexadécimal/ | ||
+ | * Connaitre la structure des tables des partitions du [[: | ||
+ | |||
+ | ===== Qu'est ce qu'un ebr ===== | ||
+ | |||
+ | |||
+ | |||
+ | Alors que le [[: | ||
+ | \\ | ||
+ | Pour qu'il y ait des partitions logiques il faut que le disque contienne une **partition étendue** (une seule est possible). Elle sera un **contenant à partitions logiques**. | ||
+ | \\ | ||
+ | \\ | ||
+ | Contrairement au mbr, les ebr - oui il peut y en avoir plusieurs - ne contiennent pas de partie exécutable mais seulement une table de partitions concernant les partitions logiques. | ||
+ | |||
+ | ===== Comment accéder aux EBR ? ===== | ||
+ | |||
+ | L' | ||
+ | \\ | ||
+ | Pour y accéder nous aurons de nouveau besoin de la fonction [[:dd|dd]] - pour ceux qui ont lu le tuto sur le [[: | ||
+ | \\ | ||
+ | Pour les autres la fonction [[:dd|dd]] permet d' | ||
+ | |||
+ | 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). | ||
+ | La première adresse commence en zéro (mbr) et la dernière (pas forcément utilisable) peut être calculée en divisant la taille du disque en octets par 512 et en retirant 1. | ||
+ | \\ | ||
+ | Contrairement au mbr, dont le numéro du secteur est connu (secteur d' | ||
+ | |||
+ | \\ | ||
+ | Nous y accèderons en utilisant une commande similaire à celle nécessaire pour afficher le mbr à une différence près : | ||
+ | Il faut sauter des secteurs avant de pouvoir afficher ce qui nous intéresse. | ||
+ | \\ | ||
+ | |||
+ | Nous devrons commencer par afficher la table des partitions du mbr, par exemple avec | ||
+ | < | ||
+ | Ici on affiche les 64 octets à partir de la position 446 (table des partitions du mbr). Ce qui donne par exemple | ||
+ | < | ||
+ | 00000010 | ||
+ | 00000020 | ||
+ | 00000030 | ||
+ | Le début de la partition étendue (type **05**) en dernière ligne est indiqué par les 4 octets **50 63 7f 0a**, soit le secteur 0xa7f6350 (en hexadécimal) ou **176120656** en décimal. | ||
+ | \\ | ||
+ | Nous retiendrons cet emplacement qui sera un point de référence pour localiser les ebr. | ||
+ | \\ | ||
+ | \\ | ||
+ | Nous pouvons alors afficher le contenu du premier ebr (confondu avec le début de la partition étendue) en sautant (skip) les **176120656** premiers secteurs du disque, soit | ||
+ | < | ||
+ | Ceci donne, dans le cas de mon disque | ||
+ | < | ||
+ | 000001b0 | ||
+ | 000001c0 | ||
+ | 000001d0 | ||
+ | 000001e0 | ||
+ | 000001f0 | ||
+ | 00000200</ | ||
+ | |||
+ | |||
+ | <note tip>Pour le premier ebr (ici sda4) on peut afficher directement son contenu en commençant, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Analyse d'un ebr ===== | ||
+ | |||
+ | \\ | ||
+ | |||
+ | La structure d'un ebr est calquée sur celle du mbr concernant les partitions. Les entrées commencent toujours à l' | ||
+ | \\ | ||
+ | La principale différence est qu'il n'y a que deux entrées et que les autres sont vides. La zone amorce se termine toujours par le mot magique **aa55**. | ||
+ | \\ | ||
+ | En décalant les adresses (pour mieux voir la structure on obtient : | ||
+ | \\ | ||
+ | < | ||
+ | 000001ce | ||
+ | 000001de | ||
+ | 000001ee | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | ==== La première entrée d'un EBR - Une partition logique==== | ||
+ | |||
+ | La première ligne qui correspond à la première entrée concerne une partition logique. C'est sda5 pour le premier ebr. | ||
+ | \\ | ||
+ | Cette partition est en Linux-swap (type **82**) et commence **2** secteurs (octets **02 00 00 00**) après l'ebr courant, soit au secteur : | ||
+ | \\ | ||
+ | 176120656 + 2 = **176120658** | ||
+ | \\ | ||
+ | |||
+ | La taille de la partition logique, donnée par les octets cd b1 41 00, est de 4305357 secteurs, soit 2152678,5 kio | ||
+ | \\ | ||
+ | \\ | ||
+ | ==== La deuxième entrée - L'EBR suivant==== | ||
+ | |||
+ | La deuxième entrée ne concerne pas une partition logique mais les caractéristiques de l'ebr suivant. | ||
+ | \\ | ||
+ | Parmi ces dernières nous retrouvons le type, le début et la taille de cet ebr. | ||
+ | \\ | ||
+ | <note important> | ||
+ | \\ | ||
+ | Ce deuxième ebr (type **05**) commence donc 4305359 (cf b1 41 00) secteurs après le début de la partition étendue soit en | ||
+ | \\ | ||
+ | 176120656 + 4305359 = **180426015** | ||
+ | \\ | ||
+ | \\ | ||
+ | Sa taille est de **132150690** secteurs (a2 75 e0 07) | ||
+ | |||
+ | ===== Exercice pratique ===== | ||
+ | \\ | ||
+ | Nous pouvons continuer l' | ||
+ | \\ | ||
+ | < | ||
+ | \\ | ||
+ | Ce qui donne : | ||
+ | \\ | ||
+ | < | ||
+ | 000001c0 | ||
+ | 000001d0 | ||
+ | * | ||
+ | 000001f0 | ||
+ | </ | ||
+ | \\ | ||
+ | On retrouve la structure des tables des partitions avec une nouvelle partition logique, sda6, de type **83** (en fait ext4) mais ici il n'y a qu'une entrée car il n'y a pas d' | ||
+ | \\ | ||
+ | <note help> | ||
+ | \\ | ||
+ | Cette partition commence 63 secteurs (3f 00 00 00) après l'ebr courant, soit en : | ||
+ | \\ | ||
+ | 180426015 + 63 = **180426078** | ||
+ | \\ | ||
+ | \\ | ||
+ | Sa taille est de 132150627 secteurs (63 75 e0 07), soit 66075313,5 kio | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | Nous retrouvons les débuts des partitions et les tailles avec la commande | ||
+ | \\ | ||
+ | < | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | < | ||
+ | 255 têtes, 63 secteurs/ | ||
+ | Unités = secteurs de 1 * 512 = 512 octets | ||
+ | Sector size (logical/ | ||
+ | I/O size (minimum/ | ||
+ | Identifiant de disque : 0x525d525d | ||
+ | |||
+ | Périphérique Amorce | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | \\ | ||
+ | ===== Schéma d' | ||
+ | Le partitionnement du disque dur fait alors apparaitre le mbr, les partitions principales, | ||
+ | \\ | ||
+ | Les ebr sont encastrés les uns dans les autres à la façon de poupées russes selon le schéma suivant : | ||
+ | \\ | ||
+ | \\ | ||
+ | {{ : | ||
+ | \\ | ||
+ | \\ | ||
+ | Les zones hachurées représentent des secteurs du disque normalement inutilisés (secteurs suivant le mbr, fin du disque). A noter que certains secteurs entre le MBR et la première partition sont utilisés par [[grub-pc|l' | ||
+ | |||
+ | ===== Intérêt de connaitre la structure de ces EBR ===== | ||
+ | \\ | ||
+ | Il arrive parfois que la table des partitions soit corrompue pouvant empêcher tout redimensionnement. Cette corruption peut se trouver dans le mbr tout comme dans les ebr. | ||
+ | \\ | ||
+ | Si l' | ||
+ | \\ | ||
+ | |||
+ | <note important> | ||
+ | <note important> | ||
+ | ===== Voir aussi ===== | ||
+ | \\ | ||
+ | * **(en)** [[http:// | ||
+ | * **(fr)** [[http:// | ||
+ | * **(fr)**[[http:// | ||
+ | * [[http:// | ||
+ | * **(fr)**[[http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | // | ||