Le cas d'utilisation typique de ce Tuto, c'est l'installation ratée de Ubuntu dans un disque dur externe en dual-boot avec Windows (se trouvant lui sur le disque dur interne au PC) : le novice, n'ayant pas la documentation adéquate (voir nota) en main pendant l'installation, ne pense pas à imposer que Grub soit installé dans le MBR du disque dur externe. De ce fait, Grub se retrouve dans le MBR du disque dur interne (install par défaut). Après installation, tant que le disque dur externe est connecté, le novice ne se rend compte de rien mais dès que le disque dur externe est débranché, Grub ne fonctionne plus. Avec l'aide de la doc (et éventuellement du forum), le novice répare le MBR du disque dur interne (en y remettant le lanceur pour Windows) et il installe Grub dans le MBR du disque dur externe (ce qu'il aurait dû faire pendant l'install). Apparemment, tout semble réparé. Ben non, il y a une bombinette à retardement : lors d'une future mise à jour du paquet grub-pc, Grub sera réinstallé dans le MBR du disque dur interne et le démarrage du PC se retrouvera avec la même panne si le disque dur est déconnecté. Motif : le changement d'emplacement de Grub (disque dur externe au lieu de disque dur interne) n'a pas été enregistré par grub-pc.
La procédure décrite ci-dessous vise à enregistrer la modif pour éviter la "bombinette"
C'est ce post de cep qui m'a incité à étudier la chose puis à rédiger ce howto : http://forum.ubuntu-fr.org/viewtopic.php?pid=3968690#p3968690
EDIT du 13 mars 2014 : dans
ce post, on peut voir une mise en pratique de la procédure décrite ci-dessous, dans le cas où on veut réaliser un chaînage entre deux Ubuntu
1) ÉTAT DES LIEUX AVANT MODIF
Le PC étant démarré sur Ubuntu, passer la commande suivante dans un terminal :
sudo debconf-show grub-pc
Le résultat de cette commande contient une ligne commençant par "* grub-pc/install_devices:..." qui ressemble à celle-ci :
* grub-pc/install_devices: /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S13PJDWS343446
C'est l'enregistrement dans grub-pc de l'emplacement de Grub. Dans l'exemple, il est dans le MBR de mon disque dur SAMSUNG_HD103UJ. Il convient de modifier cet enregistrement si le disque qui est mentionné n'est pas le bon. Dans le cas de Ubuntu sur disque dur externe, il faut que ce soit le disque dur externe qui soit enregistré.
2) MISE A JOUR DE GRUB-PC
EDIT le 9 oct 2020 : si cette partie "mise à jour de grub-pc" ne fonctionne pas, il est possible de la remplacer par une procédure plus radicale que je détaille dans le post #30 (purge puis réinstallation de grub-pc)
On passe la commande suivante :
sudo dpkg-reconfigure grub-pc
1ère étape : suite à cette commande, une fenêtre apparait avec un baratin qui parle du fichier menu.lst et plus bas "
Ligne de commande Linux :"
Il ne faut rien renseigner : seulement appuyer sur la touche TAB pour que <OK> soit sélectionné puis valider par la touche Entrée
2ème étape : une nouvelle fenêtre apparaît avec en bas "
Ligne de commande par défaut de Linux :"
Peu importe ce qui est écrit dans la zone surlignée en bleu, on agit de même qu'à l'étape précédente : seulement appuyer sur la touche TAB pour que <OK> soit sélectionné puis valider par la touche Entrée
3ème étape : (elle n'apparait pas forcément suivant les cas) : nouvelle fenêtre avec cette mention : "
Action souhaitée pour le fichier de configuration modifié grub :"
Il faut se déplacer avec les flèches haut et bas pour sélectionner la ligne "garder la version actuellement installée" et appuyer sur la touche TAB pour que <OK> soit sélectionné puis valider par la touche Entrée
4ème étape : nouvelle fenêtre pleine de baratin qui commence par "
The grub-pc package is being upgraded..." (ou "Le paquet grub-pc est en cours de mise à jour...." si c'est écrit en français ). Même punition : appuyer sur la touche TAB pour que <OK> soit sélectionné puis valider par la touche Entrée
5ème étape : ENFIN CELLE QUI NOUS INTÉRESSE ! la fenêtre qui s'est ouverte contient la ligne "
GRUB install devices :" (ou "Périphériques où installer GRUB" si c'est écrit en français) , suivie de lignes de choix. Il faudra donc sélectionner le disque dur à enregistrer : on se déplace avec les flèches haut et bas pour sélectionner la ligne et on appuie sur la touche espace pour que l'étoile apparaisse, indiquant la sélection, ensuite, on se rend sur la ligne à "désenregistrer" : le disque dur à désélectionner (ou la partition à désélectionner si on avait installé l'amorceur de grub dans le secteur de boot d'une partition) avec les flèches haut et bas puis on appuie sur la touche espace pour que l'étoile disparaisse puis on valide le tout : appuyer sur la touche TAB pour que <OK> soit sélectionné puis valider par la touche Entrée.
EDIT le 10 avril 2019 : dans certain cas particulier, on peut avoir deux emplacement pour Grub, ce qui peut donner ceci par exemple :
* grub-pc/install_devices: /dev/disk/by-id/ata-ST2000DM001-1ER164_W4Z21F64, /dev/disk/by-id/ata-ST2000DM001-1ER164_W4Z21F64-part8
On y voit un chargeur d’amorçage de Grub dans le MBR du disque dur ST2000DM001-1ER164_W4Z21F64 et un autre chargeur d’amorçage de Grub dans le secteur de boot de la partition 8 (qui est la partition racine de Ubuntu dans cet exemple) de ce même disque dur.
3) VÉRIFICATION
On repasse la commande :
sudo debconf-show grub-pc
Dans le résultat de cette commande qui apparait, la ligne qui commence par "* grub-pc/install_devices:..." n'est plus celle du paragraphe 1) , à présent c'est le disque dur sélectionné à la 5ème étape qui apparait.
C'est terminé, tout est d'aplomb.
nota : la doc adaptée à l'installation de Ubuntu sur disque dur externe est celle-ci :
http://doc.ubuntu-fr.org/tutoriel/installation_sur_disque_usb