Comment exécuter update-grub depuis un LiveCD?

48

Ok, alors j'ai fait quelque chose de stupide. J'essayais de nettoyer mes entrées Grub et j'ai accidentellement supprimé 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 dans Ubuntu; Je peux démarrer Windows correctement, mais Ubuntu n'est même pas répertorié.

Je veux juste lancer "sudo upgrade-grub" pour restaurer Ubuntu dans la liste. Je peux démarrer depuis un LiveCD, mais une fois sur place, comment puis-je exécuter cette commande? (Au fait, mon installation Ubuntu est sur sda5.)

    
posée Kelley 01.06.2012 - 22:31
la source

5 réponses

0

Merci pour votre aide! Cependant, à la fin, rien ne semblait fonctionner, et comme j'avais une partition séparée / home, je pouvais réinstaller Ubuntu sans perdre aucune donnée. Je dois encore réinstaller les programmes et faire de la configuration, mais tout semble bien pour le moment.

    
réponse donnée Kelley 02.06.2012 - 01:27
la source
63

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

Démarrez avec votre Live CD, en sélectionnant "Essayez Ubuntu sans 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 faire cela:

sudo mount /dev/sda5 /mnt

Montez ensuite quelques autres répertoires nécessaires:

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

Aussi, si vous avez une partition de démarrage Ubuntu distincte (plutôt rare ces jours-ci, mais cela peut être le cas):

sudo mount /dev/sdaX /mnt/boot

Comment 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 il 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 une invite #/ . La première chose à faire est de confirmer que vous utilisez le bon répertoire /boot . Allez dans /boot/grub et regardez les fichiers ici. 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 que ce n'est PAS votre répertoire boot actuel. Regardez ci-dessus pour voir comment déterminer si vous devez monter un répertoire boot supplémentaire.

Une fois que vous avez confirmé que /boot/ contient les fichiers corrects, ce qui signifie que est l'emplacement correct, tapez:

sudo update-grub

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

Puis quittez le chroot:

exit

À ce stade, vous voudrez peut-être vérifier que les choses ont été correctement mises à jour. Pour cela, cd /mnt/boot/grub et vérifiez que les fichiers de 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 les fichiers grub.cfg et no .mod, cela signifie que ce n'est PAS le répertoire de démarrage correct, regardez ci-dessus 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/

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

    
réponse donnée roadmr 01.06.2012 - 23:02
la source
10

Démarrer à partir d’un CD live.

Cliquez sur 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 reboot

Si plusieurs systèmes d’exploitation sont installés, détectez à nouveau les systèmes d’exploitation tels que:

sudo update-grub

C'est ça!

    
réponse donnée Basharat Sialvi 01.06.2012 - 22:48
la source
1

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

  1. télécharger supergrub2disk depuis lien
  2. le mettre sur la clé USB lien
  3. démarrer l’ordinateur depuis la clé USB avec supergrub2disk dessus
  4. connectez-vous à votre Ubuntu
  5. obtenir une réparation de démarrage pour Ubuntu à partir de lien

Peut-être que ce n’est pas la solution la plus rapide mais pour moi c’était la solution la plus facile.

    
réponse donnée jmarceli 06.02.2014 - 15:55
la source
0

Les instructions combinées de roadmr et Basharat Sialvi se trouve ici: lien

Les instructions pour les commandes de chargeur de chaînes et de démarrage multiple de Grub2 se trouvent à l'adresse Wiki d'aide de la communauté .

    
réponse donnée user293759 29.11.2015 - 18:37
la source

Lire d'autres questions sur les étiquettes