#1 Le 01/11/2010, à 08:51
- YannUbuntu
(re)installation de GRUB a partir d'un live-CD ?
Bonjour
J'ai besoin de l'avis d'experts en la matière : comment faire pour installer (ou réinstaller) GRUB-PC de façon fiable a partir d'un live-CD Ubuntu sur une distro linux se trouvant sur la partition sda1 ?
Je pose la question car j'ai eu des echos comme quoi
ni http://doc.ubuntu-fr.org/grub-pc#reinst … rer_grub_2
ni http://doc.ubuntu-fr.org/grub-pc#config … du_live_cd
ne fonctionnaient de façon fiable.
Est-ce que les commandes ci-dessous conviendraient mieux ?
sudo mount /dev/sda1 /mnt
for j in "dev" "proc" "sys" ; do sudo mount --bind /$j /mnt/$j;done
chroot /mnt <eof
grub-install $disk
update-grub
exit
eof
sudo umount /mnt/dev /mnt/proc /mnt/sys
sudo umount /mnt
Que recommandez-vous ?
Dernière modification par YannUbuntu (Le 01/11/2010, à 09:02)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#2 Le 01/11/2010, à 09:15
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
tu veux donc installer grub sur la partition d'une clé usb et non dans le mbr ?
Il te faut donc faire un chroot comme expliqué dans le wiki et aussi, à la commande grub-install il faudra ajouter l'option --force car l'installation dans le bs à la place du mbr est déconseillée et n'aboutira pas sans cette option --force.
Aussi, surtout, il faudra vérifier l'adresse /dev/ de la clé usb, qui ne sera peut-être pas sur /dev/sda.
le for in est un luxe inutile qu'il ne faut pas encourager, car pour certains il est sources de problèmes en cas d'erreurs et il est préférable de rester sur des routines x fois présentées, cela met à l'abri de petits rigolos.
Hors ligne
#3 Le 01/11/2010, à 09:51
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
Merci pour ta réponse. Désolé si je me suis mal exprimé, en fait je pensais a une installation classique dans le bootsector (63 premiers secteurs, dont MBR) de sda, mais avec les fichiers de configuration GRUB dans sda1. Je considère que la vérification du nom du disque (sda) et du numéro de partition (sda1) est faite. Quelles commandes recommanderais-tu ?
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#4 Le 01/11/2010, à 10:17
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
ah ok, j'avais mal lu.
il te faudra aussi monter le fs dans lequel se trouvent les fichiers de config de grub.
Par exemple si grub est sur /dev/sda1 et que tu montes /dev/sda1 dans /media/sda1 (après un mkdir /media/sda1 ) la commande sera donc :
grub-setup -d /media/sda1 /dev/sda
l'option -d est pour --directory
Voir le man grub-setup
Mais, encore une fois, bien vérifier l'adresse /dev/*
Édit : si nécessaire utiliser aussi l'option -m et l'adresse du device.map
Édit 2 : mais la solution la plus simple est tout de même le chroot classique depuis un live-cd et ensuite depuis le chroot lancer un simple
grub-setup /dev/sda
Dernière modification par cep (Le 01/11/2010, à 10:50)
Hors ligne
#5 Le 01/11/2010, à 11:51
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
merci pour ces précisions. Si je comprends bien le man grub-setup, grub-setup ne fonctionnera pas si GRUB avait deja préalablement été installé dans DEVICE (c'est-a-dire sda1), donc dans le cas d'une reinstallation uniquement, c'est bien cela ?
Pour satisfaire les 2 cas (installation et reinstallation), il semble qu'il faille utiliser grub-install ?
Autres points qui clochent dans la Doc :
- dans http://doc.ubuntu-fr.org/chroot , pour la preparation des dossiers spéciaux on a :
sudo mount --bind /dev /media/system/dev
sudo mount -t proc /proc /media/system/proc
- or dans http://doc.ubuntu-fr.org/grub-pc#config … du_live_cd , on a :
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
qui a raison ?
Dernière modification par YannUbuntu (Le 01/11/2010, à 12:16)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#6 Le 01/11/2010, à 12:16
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
grub-setup est appelé par grub-install.
grub-install va copier tous les fichiers nécessaires à grub dans le répoertoire /boot/grub/ , faire toutes les routines nécessaires puis appeler grub-setup, le binaire, pour installer certaines parties de grub dans le mbr et parties adjacentes de la cible désignées.
Grub-setup est suffisant pour installer ces routines même dans un mbr vierge mais ne doit pas être appelé si /boot/grub/* n'existe pas.
À l'inverse grub-install n'est pas nécessaire s'il s'agit seulement de réinstaller grub dans le mbr.
Pour savoir ce que fait grub-install un simple cat /usr/sbin/grub-install suffit. Pour grub-setup il faut avoir les sources, dans util/i386/pc/grub-setup.c
Édit : je n'avais pas vu ta partie sur --bind et proc
qui a raison ? les deux en principe. Il est fort probable que tu feras un chroot avec un kernel très ressemblant au kernel installé et dans ce cas le bind est tout à fait admis. Dans certains cas le -t proc est plus fiable.
Dernière modification par cep (Le 01/11/2010, à 12:25)
Hors ligne
#7 Le 01/11/2010, à 12:44
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
merci, j'y vois un peu plus clair. Pour que la manip fonctionne dans le cas d'une 1ere installation et d'une réinstallation, il faudrait donc si je ne me trompe pas :
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc
sudo chroot /mnt
sudo grub-install /dev/sda
exit
sudo umount /mnt/dev /mnt/proc /mnt/sys
sudo umount /mnt
Qu'en penses-tu ?
Sais-tu a quoi sert de monter /sys ?
est-ce que les commandes ci-dessus ne reviennent pas exactement a faire :
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
sudo umount /mnt
comme indiqué dans ce paragraphe ?
Dernière modification par YannUbuntu (Le 01/11/2010, à 13:03)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#8 Le 01/11/2010, à 13:35
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
l'avantage du chroot c'est que tu vas installer dans le mbr des images qui correspondent à la version de grub installée dans ton système. Imagine que le grub de ton système soit à la version 10 (chiffre fantaisiste) alors que celui de ton live cd est à la version 3, donc plus ancien. Tu vas ainsi installer des versions non compatibles avec ton système. De même si ton grub a été patché.
Ensuite, le grub-install ne s'impose que si le répertoire /boot/grub de ton système est corrompu ou n'existe pas. S'il s'agit seulement de réinstaller grub dans le mbr, grub-setup suffit.
Enfin le --root-directory est inutile dans un chroot et, s'il est utilisé, il faut inscrire l'adresse complète.
Enfin, dans un chroot, en principe seuls /proc et /dev sont utiles. sys, à la rigueur en cas de problème sur les blocks.
Par contre sur des systèmes corrompus il m'est arrivé que mount --bind /dev /montage/dev ne fonctionne pas et je devais faire
mount -o bind /dev /point_montage/dev
Donc, pour résumer, préférer le chroot et grub-setup s'il faut simplement réinstaller dans le mbr.
Si on fait un grub-install vérifier ensuite /boot/grub/grub.cfg et si nécessaire refaire un grub-mkconfig (update-grub)
Bonne continuation.
cep
Hors ligne
#9 Le 02/11/2010, à 00:03
- Aldian
Re : (re)installation de GRUB a partir d'un live-CD ?
En ce qui me concerne, j'ai utilisé la commande de la doc:
sudo grub-install --root-directory=/media/Maverick_LXDE /dev/sda
de nombreuses fois sans jamais avoir le moindre problème.
Hors ligne
#10 Le 02/11/2010, à 07:45
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
En ce qui me concerne, j'ai utilisé la commande de la doc:
sudo grub-install --root-directory=/media/Maverick_LXDE /dev/sda
de nombreuses fois sans jamais avoir le moindre problème.
si tu relis la discussion, et plus particulièrement le résumé dans le dernier poste tu verras qu'il n'a jamais été écrit que cette commande générait systématiquement des problèmes, elle n'est simplement pas toujours indiquée même si elle est juste .
Hors ligne
#11 Le 02/11/2010, à 08:23
- Aldian
Re : (re)installation de GRUB a partir d'un live-CD ?
Eh bien quand je relis la discussion, je vois qu'on remet en question ce qui est écrit dans la doc, et qu'on propose des tas de trucs compliqués à la place (Le jour où vous arriverez à faire faire un chroot à un débutant, vous m'appelez). Donc tout ce que j'en fais c'est donner un peu de poids à cette commande en ajoutant au débat le fait qu'il y a beaucoup de cas où elle est fiable.
Et c'est le mec qui a du modifier manuellement son premier secteur avec un éditeur hexadécimal à cause de ce bug qui vous dit ça (Je dis pas ça pour la ramener, hein? Mais comme je n'ai jamais vraiment trop su à quel moment le bug s'était produit, je juge bon de le citer au passage vu qu'il est peut être relaté).
Eh oui, maintenant, quand on poste, il faut aussi expliquer pourquoi on poste
Dernière modification par Aldian (Le 02/11/2010, à 08:24)
Hors ligne
#12 Le 02/11/2010, à 08:50
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
Eh bien quand je relis la discussion, je vois qu'on remet en question ce qui est écrit dans la doc, et qu'on propose des tas de trucs compliqués à la place (Le jour où vous arriverez à faire faire un chroot à un débutant, vous m'appelez). Donc tout ce que j'en fais c'est donner un peu de poids à cette commande en ajoutant au débat le fait qu'il y a beaucoup de cas où elle est fiable.
. . .
Eh oui, maintenant, quand on poste, il faut aussi expliquer pourquoi on poste
bien entendu, si je comprends bien tes propos, les débutants sont stupides et n'ont aucune envie d'apprendre.
Bref, tu interprètes comme tu veux cette discussion, c'est ton droit, et chacun fait comme il veut, mais de préférence en toute connaissance et, encore une fois, la commande que tu rapportes n'est pas du tout fausse, simplement il en existe d'autres ( très justement le wiki contient aussi la commande sur le chroot) et, contrairement à ce que tu écrits, de nombreux débutants ne demandent qu'à progresser.
Je te laisse poursuivre avec tes "voies uniques", juste une dernière chose, open your mind
Dernière modification par cep (Le 02/11/2010, à 08:51)
Hors ligne
#13 Le 02/11/2010, à 12:01
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
He be, ne vous fâchez pas
Dans mon 1er post je parle de fiabilité, mais effectivement je devrais plutôt dire "adaptabilité a tous les cas de figures", car plus je creuse plus je me rends compte qu'il peut y avoir un tas de configurations/soucis différents avec GRUB. Mon but est de trouver une procédure qui marche a tous les coups, mais quand je vois ceci : http://ubuntuforums.org/showthread.php?t=1581099 (qui est une vraie mine d'or au passage), je me dis que la solution unique est peut-être un peu trop complexe (tout effacer pour tout réinstaller, ce qui nécessite internet d'ailleurs ce que tout le monde n'a pas forcement), et qu'on va être obligés de garder plusieurs procédures dans la Doc.
Par contre actuellement la Doc n'indique pas clairement quoi faire quand la 1ere procédure (http://doc.ubuntu-fr.org/grub-pc#reinst … rer_grub_2) ne fonctionne pas. Ca peut être un premier point a améliorer ?
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#14 Le 02/11/2010, à 20:24
- Aldian
Re : (re)installation de GRUB a partir d'un live-CD ?
Oh mais je ne suis pas faché du tout . Pour répondre à Cep, je dirais qu'on ne doit pas parler des mêmes débutants. Je faisais référence au débutant total. Et celui là, même s'il a envie d'apprendre, je suis pas certain qu'il faille l'envoyer tout de suite sur des pistes noires .
Concernant la procédure dont nous parlions, je viens de me souvenir que je l'avais illustrée dans mon tutoriel d'installation d'ubuntu en 200 screenshots:
http://picasaweb.google.fr/101027216843 … 6744814386
Ton lien est très intéressant, Yann, ça vaut peut être le coup d'en faire une trad, même si je rajouterai bien la tentative supplémentaire suivante avant d'aller trop loin:
faire une sauvegarde du premier secteur, puis le remplir de zéros, et enfin retenter l'installation sur un support propre (on ne sait jamais trop ce qui peut se produire comme vieux bugs). Quelque chose dans le genre:
sudo dd if=/dev/sda of=mbr.img bs=512 count=1
sudo dd if=/dev/zero of=/dev/sda bs=446 count=1
Attention, je tape les commandes de tête, donc à pas reprendre sans vérification, la moindre erreur peut causer une catastrophe à ce stade
Dernière modification par Aldian (Le 02/11/2010, à 20:26)
Hors ligne
#15 Le 03/11/2010, à 03:24
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
sauf que GRUB s'installe sur le MBR, mais aussi sur le reste des 63 premiers secteurs du disque d'ailleurs il faudrait que je mette une note sur le tuto "sauver son MBR"..
et effectivement il y a de nombreux soucis lies au fait que des logiciels (de Windows surtout) proprios ecrivent sur ces 63 secteurs, ecrasant en partie GRUB.
en lisant le lien anglophone j'ai l'impression qu'il y a aussi pas mal de bugs qui viennent de problemes dans les fichiers de configuration se trouvant sur la partition Ubuntu (dossier /boot , etc..)
Dernière modification par YannUbuntu (Le 03/11/2010, à 03:26)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#16 Le 03/11/2010, à 08:29
- Aldian
Re : (re)installation de GRUB a partir d'un live-CD ?
sauf que GRUB s'installe sur le MBR, mais aussi sur le reste des 63 premiers secteurs du disque
ça me dit vaguement quelque chose, mais je n'ai jamais pu trouver d'explication détaillée à ce sujet. Si jamais tu as un lien qui explique le truc, je suis preneur. Jusqu'à ce jour j'ai utilisé la page suivante comme référence pour le MBR: http://mirror.href.com/thestarman/asm/mbr/STDMBR.htm et celle là pour GRUB: http://mirror.href.com/thestarman/asm/mbr/GRUB.htm
Hors ligne
#17 Le 03/11/2010, à 09:03
- cep
Re : (re)installation de GRUB a partir d'un live-CD ?
très brièvement et très schématiquement, lors de l'installation, ou la réinstallation, sont créés /boot/grub/boot.img qui fait exactement 512 otets et /boot/grub/core.img qui représente environ 24 ko. Ce dernier fichier, remplaçant l'ancien stage1,5 et suivant est installé après le mbr, avant le fs lui-même
Sur partitions gpt il est installé dans ce que l'on appelle la bios_boot_partition ( http://www.cepcasa.info/blog/?p=192 )
Pour plus de détails sur core.img voir la doc officielle grub.
Hors ligne
#18 Le 03/11/2010, à 22:24
- Aldian
Re : (re)installation de GRUB a partir d'un live-CD ?
Alors ça signifie que si quelqu'un suit cette manipulation (qui est de mon fait et qui marche très bien) : http://doc.ubuntu-fr.org/tutoriel/comme … _demarrage il va se produire des effets collatéraux non controlés dans les 63 premiers secteurs du disque. J'ai jamais eu de problèmes pourtant, et j'avais signalé la modif sur la liste.
Merci pour l'explication
Hors ligne
#19 Le 04/11/2010, à 05:24
- YannUbuntu
Re : (re)installation de GRUB a partir d'un live-CD ?
Bonjour a tous,
Sur ce forum, Malbo a démontré que lors de l'installation d'Ubuntu, grub-pc écrit sur les octets des 63 premiers secteurs du disque (aussi appelés "boot-sector", ce sont les octets avant la 1ere partition), c'est-a-dire plus que le simple MBR (qui lui se situe uniquement dans le 1er secteur).
Ca correspond aux commentaires des devs de grub-pc sur ce bug : certains logiciels non-libres modifient le secteur de boot entre le MBR et la 1e partition : https://bugs.launchpad.net/ubuntu/+sour … bug/441941 , ce qui écrase donc une partie de Grub-pc. Pour diminuer l'impact de ce problème, les devs de Grub essayent d'identifier quels sont les octets où ces logiciels écrivent, et font en sorte que Grub évite ces zones.
Pour info, Grub Legacy est moins gros que grub-pc, et est donc moins affecté par ce bug.
Pour info toujours, je suis en train d'essayer de coder un logiciel qui :
- sauve automatiquement le boot-sector lors de l'installation d'Ubuntu
- propose a l'utilisateur de "désinstaller proprement Ubuntu", via une restauration de ce boot-sector + autres artifices.
Il permettrait donc :
- de pallier aux soucis de "PC tatoués"
- de pallier aux soucis des logiciels proprios qui écrasent Grub
- de proposer un moyen simple et propre de désinstaller Ubuntu (pas besoin de passer par gParted, et on ne se retrouve plus avec un menu Grub qui fait tache avant le démarrage de Windows)
Ce projet est deja bien avancé, une première version a deja été incluse dans Linux Mint, et si j'arrive a régler la partie "réinstallation de GRUB", j'espère bientôt pouvoir le proposer aux développeurs d'Ubuntu. Voir http://forum.ubuntu-fr.org/viewtopic.php?id=420952 si ca vous branche d'y participer.
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne