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
la_partie_executable_du_mbr [Le 22/09/2016, 14:21]
Nasman [Que se passe-t-il au démarrage d'un PC ?]
la_partie_executable_du_mbr [Le 20/12/2021, 19:22] (Version actuelle)
wiki-corrector-bot 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)
Ligne 1: Ligne 1:
 +
 . .
 {{tag> tutoriel mbr BROUILLON}} {{tag> tutoriel mbr BROUILLON}}
Ligne 61: 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 ​disponible ​à ce stade du démarrage du PC) et je me suis servi de la liste des [[http://​www.ctyme.com/​intr/​int.htm|interruptions]]+Le programme utilise des fonctions du bios (seules fonctions ​disponibles ​à ce stade du démarrage du PC) et je me suis servi de la liste des [[http://​www.ctyme.com/​intr/​int.htm|interruptions]]
  ​établies par Ralph Brown.  ​établies par Ralph Brown.
 \\ \\
Ligne 90: Ligne 91:
 0000005C ​ 01000000 ​         dd 0x00000001 ;​ Adresse LBA (valeur basse) où se trouve le secteur suivant de chargement (core.img) 0000005C ​ 01000000 ​         dd 0x00000001 ;​ Adresse LBA (valeur basse) où se trouve le secteur suivant de chargement (core.img)
 00000060 ​ 00000000 ​         dd 0x00000000 ;​ Valeur haute du qword de l'​adresse LBA 00000060 ​ 00000000 ​         dd 0x00000000 ;​ Valeur haute du qword de l'​adresse LBA
-00000064 ​ FF                db 0xff             ; 0xff pour le chargement ​du noyau à partir du disque dur+00000064 ​ FF                db 0xff             ; 0xff pour le chargement ​de core.img sur le disque de boot, si 0x80 premier ​disque dur, si 0x81 deuxième...
  
 00000065 ​ FA                cli 00000065 ​ FA                cli
Ligne 107: Ligne 108:
 00000081 ​ 3CFF              cmp al,0xff 00000081 ​ 3CFF              cmp al,0xff
 00000083 ​ 7402              jz 0x87 00000083 ​ 7402              jz 0x87
-00000085 ​ 88C2              mov dl,al ; si non égal à 0xff, sauvegardé dans dl+00000085 ​ 88C2              mov dl,al ; si non égal à 0xff, sauvegardé dans dl - si core.img est sur un autre disque
 00000087 ​ 52                push dx 00000087 ​ 52                push dx
-00000088 ​ BB1704 ​           mov bx,0x417 +00000088 ​ BB1704 ​           mov bx,​0x417 ​       ; adresse clavier 
-0000008B ​ 802703 ​           and byte [bx],0x3+0000008B ​ 802703 ​           and byte [bx],​0x3 ​  ; teste si une touche shift est activée
 0000008E ​ 7406              jz 0x96 0000008E ​ 7406              jz 0x96
 00000090 ​ BE887D ​           mov si,0x7d88 ; pointe sur la chaine "​GRUB"​ 00000090 ​ BE887D ​           mov si,0x7d88 ; pointe sur la chaine "​GRUB"​
Ligne 166: Ligne 167:
 0000010D ​ 88F4              mov ah,dh ; 2 bits de poids fort cylindre 0000010D ​ 88F4              mov ah,dh ; 2 bits de poids fort cylindre
 0000010F ​ 40                inc ax ; nb de cylindres 0000010F ​ 40                inc ax ; nb de cylindres
-00000110 ​ 894408 ​           mov [si+0x8],​ax ; ​sLa partie qui commence à l'​adresse hexa 65 est commune avec le fichier boot.img qui se trouve dans /​boot/​grub/​ +00000110 ​ 894408 ​           mov [si+0x8],​ax ; ​sauvegardé ​en 7c0d
-\\ +
-auvegardé ​en 7c0d+
 00000113 ​ 0FB6C2 ​           movzx ax,dl ; copie le numéro maxi de secteurs (x4) 00000113 ​ 0FB6C2 ​           movzx ax,dl ; copie le numéro maxi de secteurs (x4)
 00000116 ​ C0E802 ​           shr al,0x2 ; numéro maxi de secteurs=nb secteurs 00000116 ​ C0E802 ​           shr al,0x2 ; numéro maxi de secteurs=nb secteurs
Ligne 206: Ligne 205:
 0000015E ​ B90001 ​           mov cx,0x100 0000015E ​ B90001 ​           mov cx,0x100
 00000161 ​ 8EDB              mov ds,bx ; charge le segment du buffer 00000161 ​ 8EDB              mov ds,bx ; charge le segment du buffer
-00000163 ​ 31F6              xor si,si ; ds:di pointe sur 7000:0000+00000163 ​ 31F6              xor si,si ; ds:si pointe sur 7000:0000
 00000165 ​ BF0080 ​           mov di,0x8000 00000165 ​ BF0080 ​           mov di,0x8000
 00000168 ​ 8EC6              mov es,si ; es:di pointe sur 0000:8000 00000168 ​ 8EC6              mov es,si ; es:di pointe sur 0000:8000
Ligne 276: Ligne 275:
 \\ \\
    
-  * **(fr)** [[http://​fr.wikipedia.org/​wiki/​Master_boot_record]] +  * **(fr)** [[https://​fr.wikipedia.org/​wiki/​Master_boot_record]] 
-  * **(fr)**[[http://​fr.wikipedia.org/​wiki/​Partition_de_disque_dur]] +  * **(fr)**[[https://​fr.wikipedia.org/​wiki/​Partition_de_disque_dur]] 
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=390336]] sur le forum ubuntu-fr +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=390336]] sur le forum ubuntu-fr 
-  * **(fr)**[[http://​fr.wikipedia.org/​wiki/​Logical_block_addressing]]+  * **(fr)**[[https://​fr.wikipedia.org/​wiki/​Logical_block_addressing]]
  
  
  • la_partie_executable_du_mbr.1474546914.txt.gz
  • Dernière modification: Le 22/09/2016, 14:21
  • par Nasman