Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

réparer secteur de boot invalide -> solution !!

8 réponses
Avatar
julien
ça y est j'ai enfin trouvé un lien qui m'a permis de résoudre mon
problème de secteur invalide !

Il suffit de simuler l'installation de n'importe quelle distribution et
au moment du partitionnement, choisir un partitionnement manuel puis
décrire ses partitions (/boot, /, etc...) puis positionner le démarrage
sur la partition de boot enfin laisser l'installation de grub se faire
toute seule !

A titre d'info, contrairement à ce que laisse faire fdisk sur Linux, il
ne faut en fait définir qu'1 seule partition bootable (celle de /boot !)
même si on a Windows sur une autre partition.

un lien exemple :
http://doc.gwos.org/index.php/Restore_Grub

Ouf !!

8 réponses

Avatar
julien
ça y est j'ai enfin trouvé un lien qui m'a permis de résoudre mon
problème de secteur invalide !

Il suffit de simuler l'installation de n'importe quelle distribution et
au moment du partitionnement, choisir un partitionnement manuel puis
décrire ses partitions (/boot, /, etc...) puis positionner le démarrage
sur la partition de boot enfin laisser l'installation de grub se faire
toute seule !

A titre d'info, contrairement à ce que laisse faire fdisk sur Linux, il
ne faut en fait définir qu'1 seule partition bootable (celle de /boot !)
même si on a Windows sur une autre partition.

un lien exemple :
http://doc.gwos.org/index.php/Restore_Grub

Ouf !!


Heu, quelqu'un pour confirmer ou infirmer la partie "1 seule partition
bootable" ?

Avatar
Fabien LE LEZ
On Wed, 15 Nov 2006 22:20:35 +0100, julien :

Heu, quelqu'un pour confirmer ou infirmer la partie "1 seule partition
bootable" ?


Je ne sais pas si avoir deux partitions bootables est réellement
autorisé. Ce qui est sûr, c'est que ça n'a aucun sens, et est en
conséquence déconseillé.

Avatar
julien
On Wed, 15 Nov 2006 22:20:35 +0100, julien :

Heu, quelqu'un pour confirmer ou infirmer la partie "1 seule partition
bootable" ?


Je ne sais pas si avoir deux partitions bootables est réellement
autorisé. Ce qui est sûr, c'est que ça n'a aucun sens, et est en
conséquence déconseillé.

Je pensais que pour qu'un chargeur puisse lancer Linux ou Windows, la

partition contenant /boot devait être bootable mais aussi que la
partition Windows devait être bootable.
J'avais tort effectivement mais ça me semblait avoir du sens.


Avatar
Pascal Hambourg
Salut,


Je ne sais pas si avoir deux partitions bootables est réellement
autorisé. Ce qui est sûr, c'est que ça n'a aucun sens, et est en
conséquence déconseillé.

Je pensais que pour qu'un chargeur puisse lancer Linux ou Windows, la

partition contenant /boot devait être bootable mais aussi que la
partition Windows devait être bootable.
J'avais tort effectivement mais ça me semblait avoir du sens.


Il faut distinguer deux cas : le cas où le MBR contient le code de
démarrage standard de DOS/Windows et le cas ou il contient le chargeur.

D'après un spécialiste de DOS/Windows, le code standard du MBR amorce la
première partition principale ou étendue marquée active dans la table de
partitions. Il peut y avoir plusieurs partitions marquées actives, ça ne
gêne pas.

Quand le code standard du MBR a été remplacé par un chargeur (lilo ou
autre), ça dépend du chargeur en question. Lilo ignore les partitions
actives, c'est sa configuration à lui (boot=...) qui compte. Je ne peux
me prononcer en ce qui concerne les autres chargeurs, mais je suppose
que grub fait de même.


Avatar
Michel_D
"Pascal Hambourg" a écrit dans le message de news:ejk601$tbh$
Salut,


Je ne sais pas si avoir deux partitions bootables est réellement
autorisé. Ce qui est sûr, c'est que ça n'a aucun sens, et est en
conséquence déconseillé.

Je pensais que pour qu'un chargeur puisse lancer Linux ou Windows, la

partition contenant /boot devait être bootable mais aussi que la
partition Windows devait être bootable.
J'avais tort effectivement mais ça me semblait avoir du sens.


Il faut distinguer deux cas : le cas où le MBR contient le code de
démarrage standard de DOS/Windows et le cas ou il contient le chargeur.

D'après un spécialiste de DOS/Windows, le code standard du MBR amorce la
première partition principale ou étendue marquée active dans la table de



Une partition étendue marquée active, cela sert à quoi ???????


partitions. Il peut y avoir plusieurs partitions marquées actives, ça ne
gêne pas.



Hum, d'accord si c'est sur plusieurs disques, mais surement pas sur un
seul disque avec le code de démarrage standard de DOS/Windows.


Quand le code standard du MBR a été remplacé par un chargeur (lilo ou
autre), ça dépend du chargeur en question. Lilo ignore les partitions
actives, c'est sa configuration à lui (boot=...) qui compte. Je ne peux
me prononcer en ce qui concerne les autres chargeurs, mais je suppose
que grub fait de même.



Ok.



Avatar
Pascal Hambourg

D'après un spécialiste de DOS/Windows, le code standard du MBR amorce la
première partition principale ou étendue marquée active dans la table de


Une partition étendue marquée active, cela sert à quoi ???????


Dans le cas de ma station en multiboot Windows+Linux, cela me permet de
loger la première partie de lilo dans l'EBR (équivalent du MBR dans une
partition étendue, qui contient notamment la table de partitions étendue
à partir de laquelle on accède aux partitions logiques) sachant que tous
les systèmes de fichiers Linux sont sur des partitions logiques donc non
amorçables directement par le code standard du MBR. Des alternatives
existaient, consistant à loger lilo directement dans le MBR ou à
installer un code MBR alternatif capable d'amorcer une partition
logique, mais j'ai justement choisi de ne pas toucher au code du MBR.

partitions. Il peut y avoir plusieurs partitions marquées actives, ça ne
gêne pas.


Hum, d'accord si c'est sur plusieurs disques, mais surement pas sur un
seul disque avec le code de démarrage standard de DOS/Windows.


Non, sur le même disque, dans la même table de partition du même MBR.
Dans ce domaine, j'ai tendance à faire confiance à la personne qui me
l'a affirmé (JC Bellamy pour ceux qui connaissent).


Avatar
Michel_D
"Pascal Hambourg" a écrit dans le message de news:ejkgch$11t9$

D'après un spécialiste de DOS/Windows, le code standard du MBR amorce la
première partition principale ou étendue marquée active dans la table de


Une partition étendue marquée active, cela sert à quoi ???????


Dans le cas de ma station en multiboot Windows+Linux, cela me permet de
loger la première partie de lilo dans l'EBR (équivalent du MBR dans une
partition étendue, qui contient notamment la table de partitions étendue
à partir de laquelle on accède aux partitions logiques) sachant que tous
les systèmes de fichiers Linux sont sur des partitions logiques donc non
amorçables directement par le code standard du MBR. Des alternatives
existaient, consistant à loger lilo directement dans le MBR ou à
installer un code MBR alternatif capable d'amorcer une partition
logique, mais j'ai justement choisi de ne pas toucher au code du MBR.



Hou la la, t'es pas compliqué toi, tu pouvais pas mettre le loader au niveau
du bootsecteur de tes partitions linux, c'est ce que j'ai fait avec suse 10.1,
ubuntu 6.06, mandriva 2006 et fedora core 5 et j'utilise mon gestionnaire
de boot perso qui est situé au niveau du mbr car il n'a pas besoin de
fichier de config.


partitions. Il peut y avoir plusieurs partitions marquées actives, ça ne
gêne pas.


Hum, d'accord si c'est sur plusieurs disques, mais surement pas sur un
seul disque avec le code de démarrage standard de DOS/Windows.


Non, sur le même disque, dans la même table de partition du même MBR.
Dans ce domaine, j'ai tendance à faire confiance à la personne qui me
l'a affirmé (JC Bellamy pour ceux qui connaissent).


He bien, cela devait pas être son jour, car voici le début du code
désassemblé d'un MBR issu d'un fdisk /mbr, celui issu d'un fixmbr
est légérement différent (emploi du registe BP au lieu de SI)

1000:7c00 33c0 xor ax, ax
1000:7c02 8ed0 mov ss, ax
1000:7c04 bc007c mov sp, 7c00h
1000:7c07 fb sti
1000:7c08 50 push ax
1000:7c09 07 pop es
1000:7c0a 50 push ax
1000:7c0b 1f pop ds
1000:7c0c fc cld
1000:7c0d be1b7c mov si, 7c1bh
1000:7c10 bf1b06 mov di, 61bh
1000:7c13 50 push ax
1000:7c14 57 push di
1000:7c15 b9e501 mov cx, 1e5h
1000:7c18 f3a4 rep movsb
1000:7c1a cb retf
1000:7c1b bebe07 mov si, 7beh
1000:7c1e b104 mov cl, 04h
Début de la boucle pour tester s'il existe une partition active
1000:7c20 382c cmp [si], ch
1000:7c22 7c09 jl loc_00007c2d
1000:7c24 7515 jnz loc_00007c3b
1000:7c26 83c610 add si, 10h
1000:7c29 e2f5 loop 7c20h
Fin de la boucle et reset s'il n'existe pas de partition active
1000:7c2b cd18 int 18h
1000:7c2d 8b14 mov dx, [si]
1000:7c2f 8bee mov bp, si
1000:7c31 83c610 add si, 10h
1000:7c34 49 dec cx
1000:7c35 7416 jz loc_00007c4d
1000:7c37 382c cmp [si], ch -> test du drapeau "active"
1000:7c39 74f6 jz 7c31h -> saute si drapeau à 0
Début pour afficher le message d'erreur "Table de partition erroné ..."
1000:7c3b be1007 mov si, 710h
1000:7c3e 4e dec si
1000:7c3f ac lodsb
1000:7c40 3c00 cmp al, 00h
1000:7c42 74fa jz 7c3eh
1000:7c44 bb0700 mov bx, 07h
1000:7c47 b40e mov ah, 0eh
1000:7c49 cd10 int 10h
1000:7c4b ebf2 jmp 7c3fh



Avatar
Pascal Hambourg

Hou la la, t'es pas compliqué toi,


Non, vraiment pas. :-) C'est aussi simple qu'un boot sur une partition
principale normale :
1) Dans la configuration de lilo, mettre boot=/dev/hda2 ;
2) Dans la table de partitions, activer /dev/hda2.

La seule difficulté éventuelle est que tous les gestionnaires de
partitions ne permettent pas forcément d'activer une partition étendue.

tu pouvais pas mettre le loader au niveau
du bootsecteur de tes partitions linux, c'est ce que j'ai fait avec suse 10.1,
ubuntu 6.06, mandriva 2006 et fedora core 5 et j'utilise mon gestionnaire
de boot perso qui est situé au niveau du mbr car il n'a pas besoin de
fichier de config.


L'ennui c'est que contrairement à toi je n'ai pas de gestionnaire de
boot perso super évolué, alors j'ai fait avec les moyens du bord.

Il peut y avoir plusieurs partitions marquées actives, ça ne
gêne pas.


Hum, d'accord si c'est sur plusieurs disques, mais surement pas sur un
seul disque avec le code de démarrage standard de DOS/Windows.


Non, sur le même disque, dans la même table de partition du même MBR.
Dans ce domaine, j'ai tendance à faire confiance à la personne qui me
l'a affirmé (JC Bellamy pour ceux qui connaissent).


He bien, cela devait pas être son jour, car voici le début du code
désassemblé d'un MBR issu d'un fdisk /mbr, celui issu d'un fixmbr
est légérement différent (emploi du registe BP au lieu de SI)
<snip code>


Mon assembleur x86 est un peu rouillé, alors je vais te faire confiance
pour le décryptage. Et comme rien ne vaut un bon vieux test grandeur
nature, j'ai essayé et effectivement le MBR de Microsoft gueule et se
bloque. J'en ferai part à qui de droit. :-)