Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 29/12/2009, à 11:18

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

Michel Leunen a écrit :

Oui, mais le disque de mac-gyver31 est non-amorçable aussi puisque les 446 premiers octets sont tous nuls. Ne me dis pas qu'il trouve une routine d'amorçage là-dedans hmm

Il en cherche pas. Je pense qu'il prends ce qu'il trouve et qu'il l'exécute. Ce qui en gros plante le PC.

Autre hypothèse : il existe une routine, pour les disques ne contenant pas de partition amorçable, qui redonne la main au bios pour qu'il passe à l'unité suivante, avec éventuellement affichage d'un message tel celui que cite faustus.

Autre chose : je pense que tous les outils de formatage et/ou d'édition des partitions, style fdisk, gparted ou autre ne touchent pas aux 446 premiers octets du MBR.

Il y avait avant (à la préhistoire des PC, c'est à dire du DOS), une commande appelé "hdformat", qu'on ne trouve plus, parcequ'elle était me semble-t-il spécifique à chaque disque, et donc fournie par le constructeur, qui faisait un formatage de bas niveau des disques. Celle là devait je pense refaire le MBR.

Les seuls plus connus à s'installer la dedans sont Grub et lilo. Il doit bien y avoir l'équivalent chez Crosoft.


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne

#27 Le 29/12/2009, à 11:41

Michel Leunen

Re : [Résolu]Le MBR des disques non bootables

mac-gyver31 a écrit :

Autre hypothèse : il existe une routine, pour les disques ne contenant pas de partition amorçable, qui redonne la main au bios pour qu'il passe à l'unité suivante, avec éventuellement affichage d'un message tel celui que cite faustus.

Oui, c'est comme cela que ça se passe ou que ça devrait se passer.

mac-gyver31 a écrit :

Autre chose : je pense que tous les outils de formatage et/ou d'édition des partitions, style fdisk, gparted ou autre ne touchent pas aux 446 premiers octets du MBR.

fdisk ou gparted sont des outils de gestion des partitions. Donc ils touchent à la table des partitions mais en effet, ils ne touchent pas au reste du MBR. Le reste est dédié au bootloader (routine d'amorçage) et est donc gérée pas-r des programmes du style grub ou lilo.
Sous Linux, il y a les utilitaires mbr et ms-sys qui sont capables de réécrire un MBR par défaut.

mac-gyver31 a écrit :

Il y avait avant (à la préhistoire des PC, c'est à dire du DOS), une commande appelé "hdformat", qu'on ne trouve plus, parcequ'elle était me semble-t-il spécifique à chaque disque, et donc fournie par le constructeur, qui faisait un formatage de bas niveau des disques. Celle là devait je pense refaire le MBR.

Je ne sais pas trop comment fonctionne un formatage de bas niveau si ce n'est que ça agit au niveau des clusters mais je crois qu'en effet, le MBR est réécris vu que c'est toute la surface du disque qui est traitée par ce type de formatage.


Michel Leunen
http://linux.leunen.com

Hors ligne

#28 Le 29/12/2009, à 13:24

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

Michel Leunen a écrit :

fdisk ou gparted sont des outils de gestion des partitions. Donc ils touchent à la table des partitions mais en effet, ils ne touchent pas au reste du MBR. Le reste est dédié au bootloader (routine d'amorçage) et est donc gérée pas-r des programmes du style grub ou lilo.
Sous Linux, il y a les utilitaires mbr et ms-sys qui sont capables de réécrire un MBR par défaut.

Effectivement. J'ai un peu joué avec mbr. La richesse de ses paramètres laisse penser qu'on peut tout faire, y compris par exemple charger son propre bootloader pour ceux qui sont capable d'en écrire.
Et en particulier certains paramètres restent assez incompréhensibles pour moi qui suis pourtant pas un newbie. Faut donc connaître parfaitement la structure d'un MBR et en détails les différentes phases de démarrage d'un PC, car par ailleurs, il semble pas évident de trouver une doc détaillée des différentes fonctions de cet utilitaire.
Comparé à une commande comme fixmbr sous windows qui permet de regénérer un bootloader windows sans pratiquement rien connaître au sujet. La contrepartie est qu'il est dangereux pour ceux qui l'utilisent sans trop réfléchir.


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne

#29 Le 29/12/2009, à 13:50

Michel Leunen

Re : [Résolu]Le MBR des disques non bootables

mac-gyver31 a écrit :

Comparé à une commande comme fixmbr sous windows qui permet de regénérer un bootloader windows sans pratiquement rien connaître au sujet.

Oui, cette commande réécrit un MBR complet avec le bootloader. Ced qui est intéressant c'est de voir qu'un MBR écrit par exemple par XP est différent de celui écrit par Vista.


Michel Leunen
http://linux.leunen.com

Hors ligne

#30 Le 29/12/2009, à 14:34

Nasman

Re : [Résolu]Le MBR des disques non bootables

Quelques élément concernant le boot.

1) Après la mise sous tension, lorsque cette dernière est stabilisée, un signal déclenche différentes opérations comme
- test du processeur
- test de la mémoire
(c'est le POST)
2) Le bios recherche un média bootable en commençant dans l'ordre prédéfini
par exemple
- clé usb
- cd
- disque dur
...

Il faut que le média soit présent et possède les octets 55 aa pour les 511 et 512ème octets
Si tel est le cas, alors le premier secteur est chargé en mémoire vive à l'adresse 7c00 puis exécuté.
Souvent le début du programme en langage machine se recopie en 0x600 (de 0x600 à 0x7ff) pour rester opérationnel lorsque le secteur suivant sera chargé en 7c00.
La routine teste alors la validité de la table des partitions - située de 0x1be à 0x1fd.
Cette validité pour le boot demande:
- une unique partition marquée boot (octet 0x80) en 1be, 1ce, 1de, 1ee
- éventuellement dans l'ebr s'il y a une partition étendue

Par la suite, une fois cette partition trouvée, son début est chargé en mémoire vive et elle est exécutée

En cas d'erreur un message est affiché. Parfois il y a une recherche d'une cassette basic.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#31 Le 29/12/2009, à 14:56

serged

Re : [Résolu]Le MBR des disques non bootables

Cool!

Sur un disque non-amorçable, il y a dans le MBR un petit bout de programme qui affiche "Disque non-amorçable" et quelques infos sur les partitions, c'est tout!

Ensuite, le fait d'ajouter un boot-loader (grub, lilo, celui de Windows ou tout autre) remplace ce bout de programme par le code kivabien et qui va chercher le bootloader.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#32 Le 29/12/2009, à 15:56

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

Super. Merci à tous

Maintenant qu'on est bien tous au clair là-dessus, je reviens à ma question d'origine, que je reformule à la lumière de toutes ces précisions :

comment, avec install-mbr, ou autre utilitaire, virer Grub des 446 premiers octets, et y remettre le bout de programme classique qui fait que le Bios ne va pas tenter de démarrer, mais passera à l'unité suivante de la boot-list dans sa routine de recherche d'un média bootable ?

Franchement, j'avoue ne pas y arriver avec install-mbr, surement par manque de connaissances, et je suis pas sûr d'y arriver un jour par tatonnement (c'est long, lourd et fastidieux : sauvegarde du MBR, essai d'un jeu de paramètres de install-mbr, reboot pour constater l'effet, reboot encore pour revenir sous ubuntu, and so on....)


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne

#33 Le 29/12/2009, à 16:16

Michel Leunen

Re : [Résolu]Le MBR des disques non bootables

mac-gyver31 a écrit :

Maintenant qu'on est bien tous au clair là-dessus, je reviens à ma question d'origine, que je reformule à la lumière de toutes ces précisions :

comment, avec install-mbr, ou autre utilitaire, virer Grub des 446 premiers octets, et y remettre le bout de programme classique qui fait que le Bios ne va pas tenter de démarrer, mais passera à l'unité suivante de la boot-list dans sa routine de recherche d'un média bootable ?

C'est ça le noeud du problème. Avec tes 446 octets à zéro, ça devrait fonctionner.
Moi, j'ai utiliser avec succès la commande ms-sys pas plus tard qu'il y a quelques jours suite à un problème avec un disque dur externe. Voir:
http://linux.leunen.com/?p=704
http://linux.leunen.com/?p=762
La commande :

sudo ms-sys -m /dev/sdc

a fonctionné à merveille et a recréé un MBR msdos sur mon disque. Et mon BIOS n'essaie pas de booter dessus.
Je ne sais pas pourquoi ça ne se passe pas comme ça chez toi. C'est bizarre.


Michel Leunen
http://linux.leunen.com

Hors ligne

#34 Le 29/12/2009, à 18:00

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

J'essaierai bien ms-sys, mais synaptic ne me l'affiche pas....

J'ai lu quelque part qu'il n'était plus reconduit, et qu'il fallait le chercher dans les anciens dépots.

Sais tu me dire dans quel dépot le trouver ?


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne

#35 Le 29/12/2009, à 21:04

Michel Leunen

Re : [Résolu]Le MBR des disques non bootables

Non, tu dois le compiler toi-même. Voir http://linux.leunen.com/?p=704
Ce n'est pas vraiment compliquer.


Michel Leunen
http://linux.leunen.com

Hors ligne

#36 Le 30/12/2009, à 10:43

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

Bingo !!!!!!!!!

Voilà qui marche au poil...

En plus, ca touche pas à la table des partitions.

Probablement que install-mbr permet d'aboutir au même résultat, mais avec une syntaxe plus complexe que j'ai pas trouvé.

Maintenant, mon PC ne cherche plus a booter sur le disque, et va booter sur le suivant.

Un grand merci.


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne

#37 Le 30/12/2009, à 12:42

Michel Leunen

Re : [Résolu]Le MBR des disques non bootables

Super. Content que ton problème soit résolu. smile


Michel Leunen
http://linux.leunen.com

Hors ligne

#38 Le 30/12/2009, à 13:09

compte supprimé

Re : [Résolu]Le MBR des disques non bootables

mac-gyver31 a écrit :

Bingo !!!!!!!!!

Voilà qui marche au poil...

En plus, ca touche pas à la table des partitions.

Probablement que install-mbr permet d'aboutir au même résultat, mais avec une syntaxe plus complexe que j'ai pas trouvé.

Maintenant, mon PC ne cherche plus a booter sur le disque, et va booter sur le suivant.

Un grand merci.

Tu peux envoyer une copie du mbr, s'il te plaît.
Ça peut toujours servir, puisqu'il suffit probablement de copier le fichier vers le mbr avec dd, si ça se trouve...

#39 Le 04/01/2010, à 13:52

mac-gyver31

Re : [Résolu]Le MBR des disques non bootables

Yo..

La bonne année à tous.

Le temps de récupérer de la fête, voici en réponse à faustus,  le résultat de la commande xxd sur le MBR du disque que j'ai corrigé avec la commande ms-sys indiquée par Michel Leunen :

0000000: 33c0 8ed0 bc00 7c8e c08e d8be 007c bf00  3.....|......|..
0000010: 06b9 0002 fcf3 a450 681c 06cb fbb9 0400  .......Ph.......
0000020: bdbe 0780 7e00 007c 0b0f 8510 0183 c510  ....~..|........
0000030: e2f1 cd18 8856 0055 c646 1105 c646 1000  .....V.U.F...F..
0000040: b441 bbaa 55cd 135d 720f 81fb 55aa 7509  .A..U..]r...U.u.
0000050: f7c1 0100 7403 fe46 1066 6080 7e10 0074  ....t..F.f`.~..t
0000060: 2666 6800 0000 0066 ff76 0868 0000 6800  &fh....f.v.h..h.
0000070: 7c68 0100 6810 00b4 428a 5600 8bf4 cd13  |h..h...B.V.....
0000080: 9f83 c410 9eeb 14b8 0102 bb00 7c8a 5600  ............|.V.
0000090: 8a76 018a 4e02 8a6e 03cd 1366 6173 1efe  .v..N..n...fas..
00000a0: 4e11 0f85 0c00 807e 0080 0f84 8a00 b280  N......~........
00000b0: eb82 5532 e48a 5600 cd13 5deb 9c81 3efe  ..U2..V...]...>.
00000c0: 7d55 aa75 6eff 7600 e88a 000f 8515 00b0  }U.un.v.........
00000d0: d1e6 64e8 7f00 b0df e660 e878 00b0 ffe6  ..d......`.x....
00000e0: 64e8 7100 b800 bbcd 1a66 23c0 753b 6681  d.q......f#.u;f.
00000f0: fb54 4350 4175 3281 f902 0172 2c66 6807  .TCPAu2....r,fh.
0000100: bb00 0066 6800 0200 0066 6808 0000 0066  ...fh....fh....f
0000110: 5366 5366 5566 6800 0000 0066 6800 7c00  SfSfUfh....fh.|.
0000120: 0066 6168 0000 07cd 1a5a 32f6 ea00 7c00  .fah.....Z2...|.
0000130: 00cd 18a0 b707 eb08 a0b6 07eb 03a0 b507  ................
0000140: 32e4 0500 078b f0ac 3c00 74fc bb07 00b4  2.......<.t.....
0000150: 0ecd 10eb f22b c9e4 64eb 0024 02e0 f824  .....+..d..$...$
0000160: 02c3 496e 7661 6c69 6420 7061 7274 6974  ..Invalid partit
0000170: 696f 6e20 7461 626c 6500 4572 726f 7220  ion table.Error 
0000180: 6c6f 6164 696e 6720 6f70 6572 6174 696e  loading operatin
0000190: 6720 7379 7374 656d 004d 6973 7369 6e67  g system.Missing
00001a0: 206f 7065 7261 7469 6e67 2073 7973 7465   operating syste
00001b0: 6d00 0000 0062 7a99 787a ba0f 0000 0001  m....bz.xz......
00001c0: 0100 07fe ffff 3f00 0000 803d fc06 0000  ......?....=....
00001d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa  ..............U.

Encore merci à tous.


Il est temps d'enlever les fenêtres, et de construire un monde ouvert.

Hors ligne