1 votes

Comment puis-je ouvrir le menu Grub à partir de la CLI Grub ?

J'exécute une Ubuntu 16.04.2 fraîche sur une machine toute neuve (2 semaines), mais il y a 2 nuits (2-3 mai) une mise à jour du noyau a complètement cassé mon système. J'ai des raisons de croire que je pourrais le réparer si je pouvais dire à Grub de choisir un noyau plus ancien au démarrage.

Problème, il s'agit d'une installation à démarrage unique, donc le menu de Grub est désactivé par défaut, et je n'arrive pas à le faire apparaître en appuyant sur Shift, de manière répétée ou non (ou en frappant la barre d'espace ou autre). Jusqu'à présent, je ne peux faire apparaître l'interface de ligne de commande de Grub qu'en appuyant sur Esc. C'est tout ce que j'ai pour le moment car je ne peux même pas ouvrir une session, encore moins un terminal, donc je ne peux pas éditer le fichier de configuration de Grub ou quoi que ce soit d'autre.

J'ai essayé de faire

grub> configfile /boot/grub/grub.cfg

mais il essaie juste de lancer mon système comme d'habitude sans que je puisse intervenir pour choisir un autre noyau.

J'ai entendu dire qu'il est possible de lancer l'interface du menu de Grub à partir de la CLI, mais il n'est pas expliqué comment on est censé faire cela dans la manuel . Pour l'instant, cela semble être ma seule option. Des idées ?

EDIT : Puisque je ne peux pas éditer les fichiers de configuration ou utiliser Shift pour faire apparaître le menu Grub, ceci n'est PAS un duplicata de cette autre question

3voto

TopHat Points 3221

Vous pouvez sélectionner manuellement le noyau et l'initrd à partir de la ligne de commande Grub. Cela ne changera les choses que pour le seul démarrage cependant. Après que le système ait démarré, vous devrez faire les ajustements nécessaires à Grub afin de le rendre permanent.

grub> set root=(hd<disk with kernel and initrd>,msdos<partition with kernel and initrd>)
grub> linux /boot/vmlinuz-<kernel version you want to boot from> root=/dev/<root device>
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boot

Selon que /boot est une partition séparée, ce qui précède peut être légèrement différent. Vous devez définir la racine initiale= pour qu'elle soit le disque et la partition /boot, puis lors de la suppression de la racine, vous pouvez utiliser la partition /boot. linux y boot vous n'incluriez pas boot/ puisqu'il commencera dans ce répertoire. Le site root= dans la ligne linux pointerait toujours vers le disque/partition racine.

---Editer pour inclure les informations des commentaires---

Sur la base de ce que nous avons discuté dans les commentaires, vous devriez essayer ces commandes pour démarrer :

grub> set root=(hd1,gpt2)
grub> linux /boot/vmlinuz-<version you want to boot from> root=/dev/sdb2
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boot

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X