web-dev-qa-db-fra.com

Comment exécuter update-grub à partir d'un LiveCD?

Ok, alors j'ai fait quelque chose de stupide. J'essayais de nettoyer mes entrées Grub et j'ai accidentellement retiré tous mes noyaux Linux de Grub (ils sont toujours sur le disque dur). Alors maintenant, évidemment, Grub ne me donne aucun moyen de démarrer Ubuntu; Je peux très bien démarrer Windows, mais Ubuntu n’est même pas répertorié.

Donc, je veux juste lancer "Sudo upgrade-grub" en quelque sorte pour restaurer Ubuntu à la liste. Je peux démarrer à partir d'un LiveCD, mais une fois sur cette page, comment exécuter cette commande? (En passant, mon installation Ubuntu est sur sda5.)

58
Kelley

Puisque vous dites que votre chargeur de démarrage Grub apparaît, mais que le menu est vide, je pense que vous n'avez pas besoin de réinstaller grub, mais plutôt, comme vous le demandez, lancez update-grub. Pour ce faire, vous pouvez utiliser un Live CD, monter les partitions appropriées à partir de votre disque dur, chrooter dans le répertoire monté et exécuter update-grub, qui devrait fonctionner comme si vous utilisiez le disque dur proprement dit.

Démarrez avec votre Live CD en sélectionnant "Essayez Ubuntu sans l’installer".

Une fois qu'il démarre, ouvrez un terminal (ctrl-alt-t) et montez votre partition Ubuntu sur/mnt. Je suppose que la partition Ubuntu est/dev/sda5, mais vous devriez le déterminer vous-même. Faites-moi savoir si vous avez besoin d'aide pour ce faire:

Sudo mount /dev/sda5 /mnt

Montez ensuite quelques répertoires supplémentaires:

Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /sys /mnt/sys
Sudo mount --bind /proc /mnt/proc

De plus, si vous avez une partition de démarrage Ubuntu distincte (assez rare de nos jours, mais ce peut être le cas):

Sudo mount /dev/sdaX /mnt/boot

Comment pouvez-vous savoir si vous avez une partition de démarrage?

Une fois votre partition Ubuntu montée, ouvrez /mnt/etc/fstab. Si vous voyez une entrée pour /boot, notez le périphérique sur lequel elle pointe (/dev/sda4 peut-être?). C'est celui que vous devez monter.

Une fois ceux-ci montés, faites chroot pour commencer à utiliser le répertoire monté comme partition racine:

Sudo chroot /mnt

Vous recevrez un invite #/. La première chose à faire est de confirmer que vous utilisez le bon répertoire /boot. Allez à /boot/grub et regardez les fichiers là-bas. Il devrait y avoir un tas de fichiers .mod et un fichier grub.cfg. Si le répertoire est vide, ne continuez pas car cela signifie qu'il ne s'agit PAS de votre répertoire bootname__. Regardez ci-dessus pour savoir comment déterminer si vous devez monter un répertoire bootsupplémentaire.

Une fois que vous avez confirmé que /boot/ contient les fichiers corrects, ce qui signifie qu'il est le bon emplacement, tapez:

Sudo update-grub

Cela devrait reconstruire votre fichier /boot/grub/grub.cfg avec les entrées de menu.

Puis quittez le chroot:

exit

À ce stade, vous voudrez peut-être vérifier que les éléments ont été correctement mis à jour. Pour cela, cd /mnt/boot/grub et vérifier que les fichiers grub sont là, il devrait y avoir un tas de fichiers .mod et grub.cfg, ce dernier devrait avoir des entrées pour vos noyaux Ubuntu. Si vous ne voyez que grub.cfg et aucun fichier .mod, cela signifie que ce n'est pas le bon répertoire de démarrage, regardez ci-dessus pour savoir comment monter une partition de démarrage distincte.

Démontez les systèmes de fichiers:

Sudo umount /mnt/dev
Sudo umount /mnt/sys
Sudo umount /mnt/proc
Sudo umount /mnt/boot #Only if you mounted it earlier
Sudo umount /mnt/

Et puis redémarrez, espérons que votre menu Grub sera restauré.

75
roadmr

Démarrez à partir d'un Live CD.

Frappé Alt+Ctrl+T pour ouvrir le terminal et exécuter les commandes suivantes:

Sudo mount/dev/sda5/mnt

Installez le chargeur de démarrage GRUB2:

Sudo grub-install --root-directory =/mnt/dev/sda

C'est /dev/sda - le disque dur lui-même, pas la partition Ubuntu - /dev/sda5.

Démontez la partition Ubuntu et redémarrez l'ordinateur comme suit:

Sudo umount/dev/sda5; Sudo redémarrer

Si vous avez plus d'un système d'exploitation installé, re-détectez les systèmes d'exploitation de la manière suivante:

Sudo update-grub

C'est tout!

13
Basharat Sialvi

Ma solution à ce problème était la suivante:

  1. téléchargez supergrub2disk depuis http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
  2. mettez-le sur la clé USB http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
  3. ordinateur de démarrage à partir de la clé USB avec supergrub2disk dessus
  4. connectez-vous à votre Ubuntu
  5. obtenez Boot-Repair pour Ubuntu auprès de https://help.ubuntu.com/community/Boot-Repair

Ce n’est peut-être pas la solution la plus rapide, mais pour moi c’était la plus simple.

1
jmarceli

Les instructions combinées de roadmr et Basharat Sialvi peuvent être trouvées ici: https://askubuntu.com/a/88432/293759

Les instructions pour les commandes chainloader et multiboot de Grub2 se trouvent à Wiki d'aide de la communauté .

0
user293759