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 | ||
| la_partie_executable_du_mbr [Le 22/09/2016, 09:58] – [Exemple de zone exécutable d'un mbr] Nasman | la_partie_executable_du_mbr [Le 20/12/2021, 19:22] (Version actuelle) – passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) wiki-corrector-bot | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | |||
| . | . | ||
| {{tag> tutoriel mbr BROUILLON}} | {{tag> tutoriel mbr BROUILLON}} | ||
| Ligne 5: | Ligne 6: | ||
| ====== Que trouve-t-on comme programme dans le mbr ====== | ====== Que trouve-t-on comme programme dans le mbr ====== | ||
| - | Si vous êtes arrivés sur cette page par erreur, faites demi tour sans tarder car ici se trouve l' | + | Si vous êtes arrivés sur cette page par erreur, faites demi tour sans tarder car ici se trouve l' |
| \\ | \\ | ||
| Le mbr est le premier secteur du disque chargé en mémoire lors du démarrage d'un ordinateur. Il a pour fonction principale de rechercher une partition où se trouve un système d' | Le mbr est le premier secteur du disque chargé en mémoire lors du démarrage d'un ordinateur. Il a pour fonction principale de rechercher une partition où se trouve un système d' | ||
| Ligne 29: | Ligne 30: | ||
| \\ | \\ | ||
| Une fois le chargement terminé et sans erreur, l' | Une fois le chargement terminé et sans erreur, l' | ||
| + | \\ | ||
| + | <note tip>Lors d'un démarrage en mode UEFI avec un disque GPT, le mbr (protector) ne semble quasiment pas utilisé et seul l' | ||
| ===== Comment accéder à ces informations ===== | ===== Comment accéder à ces informations ===== | ||
| Ligne 60: | Ligne 62: | ||
| J'ai effectué une analyse (partielle) du fonctionnement des différents morceaux mais des parties restent encore nébuleuses. | J'ai effectué une analyse (partielle) du fonctionnement des différents morceaux mais des parties restent encore nébuleuses. | ||
| \\ | \\ | ||
| - | Le programme utilise des fonctions du bios (seules fonctions | + | Le programme utilise des fonctions du bios (seules fonctions |
| | | ||
| \\ | \\ | ||
| Ligne 66: | Ligne 68: | ||
| Voilà donc à quoi ressemble la chose. | Voilà donc à quoi ressemble la chose. | ||
| \\ | \\ | ||
| - | < | + | < |
| 00000000 | 00000000 | ||
| 00000002 | 00000002 | ||
| Ligne 78: | Ligne 80: | ||
| ; Buffer pour chargement en mode LBA | ; Buffer pour chargement en mode LBA | ||
| - | 00000005 | + | 00000005 |
| 00000007 resw 1 ; 0x0001 - nb blocs à transférer | 00000007 resw 1 ; 0x0001 - nb blocs à transférer | ||
| 00000009 resw 1 ; 0x0000 | 00000009 resw 1 ; 0x0000 | ||
| Ligne 85: | Ligne 87: | ||
| 00000011 resd 1 ; 0x00000000 - démarrer au bloc 0x0000000000000001 | 00000011 resd 1 ; 0x00000000 - démarrer au bloc 0x0000000000000001 | ||
| - | 00000004 | ||
| - | 00000007 | ||
| - | 00000009 | ||
| - | 0000000B | ||
| - | 0000000E | ||
| - | 00000011 | ||
| - | 00000014 | ||
| - | 00000015 | ||
| - | 00000017 | ||
| - | 00000018 | ||
| - | 0000001B | ||
| - | 0000001C | + | 0000005A |
| - | 0000001D | + | 0000005C |
| - | 00000020 | + | 00000060 |
| - | + | 00000064 | |
| - | 00000023 | + | |
| - | 00000027 | + | |
| - | 00000029 | + | |
| - | 0000002D | + | |
| - | 00000030 | + | |
| - | 00000032 | + | |
| - | 00000034 | + | |
| - | 00000037 | + | |
| - | 00000038 | + | |
| - | 0000003C | + | |
| - | 00000040 | + | |
| - | 00000042 | + | |
| - | 00000045 | + | |
| - | 00000047 | + | |
| - | 00000048 | + | |
| - | 0000004A | + | |
| - | 0000004E | + | |
| - | 00000050 | + | |
| - | 00000054 | + | |
| - | 00000056 | + | |
| - | 00000059 | + | |
| - | 0000005A | + | |
| - | 0000005C | + | |
| - | 00000060 | + | |
| - | 00000064 | + | |
| 00000065 | 00000065 | ||
| Ligne 142: | Ligne 108: | ||
| 00000081 | 00000081 | ||
| 00000083 | 00000083 | ||
| - | 00000085 | + | 00000085 |
| 00000087 | 00000087 | ||
| - | 00000088 | + | 00000088 |
| - | 0000008B | + | 0000008B |
| 0000008E | 0000008E | ||
| 00000090 | 00000090 | ||
| Ligne 210: | Ligne 176: | ||
| ; Convertit adresse linéaire en tête, secteur et cylindre | ; Convertit adresse linéaire en tête, secteur et cylindre | ||
| - | 00000125 | + | 00000125 |
| 00000129 | 00000129 | ||
| - | 0000012C | + | 0000012C |
| - | 0000012F | + | 0000012F |
| 00000131 | 00000131 | ||
| 00000133 | 00000133 | ||
| - | 00000137 | + | 00000137 |
| 0000013A | 0000013A | ||
| 0000013C | 0000013C | ||
| Ligne 234: | Ligne 200: | ||
| 0000015A | 0000015A | ||
| + | ; Copie des données chargées (partie commune mode CHS ou LBA) | ||
| 0000015C | 0000015C | ||
| 0000015D | 0000015D | ||
| 0000015E | 0000015E | ||
| 00000161 | 00000161 | ||
| - | 00000163 | + | 00000163 |
| 00000165 | 00000165 | ||
| 00000168 | 00000168 | ||
| Ligne 245: | Ligne 212: | ||
| 0000016D | 0000016D | ||
| 0000016E | 0000016E | ||
| - | 0000016F | + | 0000016F |
| Ligne 257: | Ligne 224: | ||
| 00000186 | 00000186 | ||
| - | ; Chaines | + | ; Chaînes |
| 00000188 | 00000188 | ||
| 0000018E | 0000018E | ||
| Ligne 275: | Ligne 242: | ||
| 000001B7 | 000001B7 | ||
| \\ | \\ | ||
| - | La partie | + | <note tip> |
| + | \\ | ||
| + | Ici nous avons la LBA qui vaut 1, soit le secteur qui suit le mbr. Dans le cas d'un partitionnement GPT cet emplacement est occupé par l'en-tête GPT et n'est plus disponible pour core.img. Il faudra donc mettre l' | ||
| + | \\ | ||
| + | Le programme chargé en mémoire à l' | ||
| + | \\ | ||
| + | \\ | ||
| + | Différentes parties sont visibles : | ||
| \\ | \\ | ||
| - | Le programme chargé en mémoire à l' | ||
| \\ | \\ | ||
| + | de 065 à 095 - Routine vérifie que le boot s' | ||
| \\ | \\ | ||
| - | Différentes parties sont visibles | + | de 096 à 0b3 - Définit l' |
| - | de 004 à 01b - Routine qui recopie à une autre adresse | + | |
| \\ | \\ | ||
| - | de 01c à 037 - Détermine la partition | + | de 0b4 à 0e5 - Charge le premier secteur |
| \\ | \\ | ||
| - | de 038 à 059 - Détermine si le bios reconnait le système d' | + | de 0e6 à 0f8 - Récupère les paramètres du disque et gère les erreurs |
| \\ | \\ | ||
| - | de 05c à 05f - Adresse LBA de core.img | + | de 0f9 à 124 - Sauvegarde ces paramètres dans la zone des paramètres |
| \\ | \\ | ||
| - | de 125 à 14a - Calcule les valeurs HSC à partir de la LBA | + | de 125 à 15b - Convertit l' |
| \\ | \\ | ||
| - | de 14c à 158 - Charge un secteur | + | de 15c à 172 - Recopie le secteur |
| \\ | \\ | ||
| - | de 173 à 186 - Gestion | + | de 173 à 187 - Affichage |
| \\ | \\ | ||
| de 1ab à 1b0 - Affichage de caractères | de 1ab à 1b0 - Affichage de caractères | ||
| \\ | \\ | ||
| - | de 1b2 à 1b7 - Affichage des chaines | + | de 1b2 à 1b7 - Affichage des chaînes |
| \\ | \\ | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| \\ | \\ | ||
| - | * **(fr)** [[http:// | + | * **(fr)** [[https:// |
| - | * **(fr)**[[http:// | + | * **(fr)**[[https:// |
| - | * [[http:// | + | * [[https:// |
| - | * **(fr)**[[http:// | + | * **(fr)**[[https:// |
