web-dev-qa-db-fra.com

Grub2 pointe vers le mauvais disque dur après l'installation d'un disque dur supplémentaire

J'ai un ordinateur de bureau avec deux disques durs SATA installés. Sur l'une de ces versions, j'ai Windows, de l'autre, j'ai Ubuntu 12.04. Tout fonctionne bien. Maintenant, je veux installer un disque dur supplémentaire. Ceci est un lecteur IDE. Après avoir installé le lecteur IDE, Grub ne pointe plus le disque dur approprié ni le répertoire de démarrage. Je me retrouve donc au secours de grub. Dans mon grub.cfg, l'installation d'Ubuntu est sur hd1. Il semble que le nouveau lecteur IDE devienne hd0. Est-ce que cela signifie que mon Ubuntu (et le répertoire de démarrage) est maintenant sur hd2 (et Windows sur hd1)? Si oui, comment puis-je changer cela dans Grub pour qu'il pointe vers le bon disque dur? Peut-on le faire depuis l'invite de secours? Puis-je démarrer sans le lecteur IDE installé, modifier grub.cfg, arracher l'ordinateur, connecter le lecteur IDE et démarrer? Si je me trompe ici, puis-je éditer grub.cfg à partir d'un CD live? Ou y a-t-il une meilleure façon de faire cela?

3
Bambino

La ligne de commande Grub contient des commandes qui vous aideront à résoudre ce problème. Vérifiez-en la liste ici: http://www.gnu.org/software/grub/manual/html_node/Command_002dline-and-menu-entry-commands.html
Dans votre cas, vous devez identifier le lecteur et la partition où se trouvent vos fichiers Grub. Essayez la commande ls. Gardez à l'esprit que la convention de nommage des partitions est différente dans Grub. Par exemple, la 2e partition du premier disque s'appelle (hd0,1) (les disques et les partitions sont comptés à partir de zéro). Consultez la section "Syntaxe du périphérique" dans l'aide pour la commande ls à l'aide du lien mentionné.
Dès que vous saurez exactement où se trouve le dossier /boot/grub, vous pouvez essayer de démarrer votre système à l’aide des commandes suivantes (j’utilise la précédente exemple avec Drive 1, Partition 2 - changez-les en conséquence) :

grub> set root=(hd0,1)
grub> set prefix=(hd0,1)/boot/grub
grub> insmod normal
grub> normal

Maintenant, votre système devrait démarrer normalement. Connectez-vous et restaurez votre chargeur de démarrage à partir du terminal:

Sudo update-grub
Sudo grub-install /dev/sda

(utilisez le nom/dev/sdX approprié pour le lecteur, où se trouve votre installation GNU/Linux).

3
whtyger

Vous devez avoir une ancienne installation grub cassée sur le disque IDE qui est en train de démarrer à la place de celle du disque d’origine, qui fonctionnera toujours correctement si vous demandez à votre BIOS d’amorcer à partir de ce lecteur. le IDE un.

Le bios affecte toujours (hd0) au lecteur sur lequel il essaie de démarrer, car DOS/Windows ne peut démarrer à partir d’un autre lecteur.

0
psusi