Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/11/2019, à 03:36

Béru

[Résolu] grub rescue normal.mod not found - traduction

Bonjour,
Suite à... je ne sais pas quoi (1), j'ai eu droit à ça au reboot:

error: file '/boot/grub/x86_64-efi/normal.mod' not found.
grub rescue>

Impossible de démarrer, seul le boot windows marchait.
Après avoir bien cherché, j'ai trouvé une solution en anglais qui a marché(2), donc je vais vous la traduire, ou du moins la partie qui m'a concerné.
Pour le reste, cf le site en question:
How to Rescue a Non-booting GRUB 2 on Linux par Carla Schroder.
Un liveCD n'est à priori pas indispensable (mais utile).

Le problème est du à grub 2 qui ne trouve plus "normal.mod". Sur d'autres forums, le texte peut varier mais au final, l'erreur est que normal.mod est introuvable. Donc grub2 ne peut pas se charger. Donc grub2 ne peut pas lancer le système (avec le grub d'origine il me semble que c'était possible).

Je passe certains ronchonnements de l'auteur que je partage en partie (en gros, au début il y avait grub qui marchait bien mais qui ne faisait pas tout ce que les dev voulaient, et il y eu donc grub2 qui fait ce que les devs veulent mais qui ne fonctionne que par script et qui est donc beaucoup moins réparable à la main mais compatible GUID, bref).

Grub rescue est minimaliste, avec un minimum de fonctionnalités.
Il est sur mon système en QWERTY, ce qui n'aide pas (si quelqu'un sait comment le passer en AZERTY, je prends).
Vous trouverez la disposition des touches d'un clavier QWERTY ici, ça risque d'être utile:
Clavier qwerty

  1. Il faut d'abord localiser la partition de votre système contenant /boot/grub/
    Soit vous pouvez le faire avec un liveCD (ex: SystemRescueCd), soit vous êtes limité à grub rescue.
    Note:
    Attention, un liveCD vous indiquera les partitions en mode "moderne" (ex: premier disque dur: sda, première partition du premier disque: sda1, deuxième disque dur: sdb, première partition du deuxième disque: sdb1) alors que grub rescue a son propre style (ex: premier disque dur: (hd0), première partition du premier disque: (hd0,gpt1), deuxième disque dur: (hd0), première partition du deuxième disque: (hd1,gpt1))

    Dans ce cas:

    grub rescue> ls

    doit vous donner la liste des partitions, sous les formes suivantes:

    (hd0) (hd0,msdos2) (hd0,msdos1)

    (msdos: Partitionnement Intel/MBR/MS-DOS partition tables)
    ou

    (hd0) (hd0,gpt2) (hd0,gpt1)

    (gpt: partition de type GUID)
    Je ne sais pas ce que ça donne avec les lvm ou partitions chiffrées.

    Pour chaque partition, il va falloir taper la commande suivante:

    ls (hd0,gpt1)/

    (ici pour (hd0,gpt1), puis même chose pour (hd0,gpt2), etc.)
    afin de déterminer laquelle contient /boot/grub/
    Si vous obtenez

    boot/

    dans les résultats, c'est à priori la bonne partition (à ma connaissance, grub est toujours dans /boot/)

    Si vous obtenez

    unknown filesystem

    pas de soucis, c'est juste que c'est une partition non linux (non ext2/3/4) (au passage, je ne sais pas si grub rescue sait lire les partitions btrfs).
    _

  2. Une fois la bonne partition localisée (ici par exemple (hd0,gpt3), il vous faudra entrer les commandes suivantes:

    grub rescue>set prefix=(hd0,gpt3)/boot/grub
    grub rescue>set root=(hd0,got3)
    grub rescue>insmod normal
    grub rescue>normal

    En gros, on explique à grub où se situe normal.mod, on lui dit de le charger, puis de le lancer.
    Pour moi, ça a suffit: grub s'est lancé correctement, j'ai pu alors aller sur ubuntu. Si c'est votre cas, sautez l'étape suivante.
    _

  3. L'auteur précise qu'il est possible de booter linux à partir de grub rescue.
    Il vous faudra toutefois connaître la localisation des vmlinux et initrd.img que vous utilisez et leur version. L'auteur n'explique pas comment faire; là aussi un liveCD peut aider.
    A défaut, ils sont situés dans le même répertoire /boot que grub, donc je suppose que tenter un

    grub rescue>ls (hd0,gpt3)/boot/

    devrait marcher (avec /boot situé sur (hdo,gpt3) - sda3).
    Si vous en avez beaucoup (j'ai 4 versions de kernel différentes big_smile), la dernière doit être la bonne (ex: initrd.img-4.4.0-142-generic et vmlinuz-4.4.0-142-generic).

    grub rescue> insmod linux
    grub rescue> linux /boot/vmlinuz-4.4.0-142-generic root=/dev/sda3
    grub rescue> initrd /boot/initrd.img-4.4.0-142-generic
    grub rescue> boot

    Normalement, le système démarre, ouf!
    _

  4. Une fois le système démarré, il reste encore à réinstaller grub2.

    Ouvrez un terminal.

    ordi a toto ~ $ sudo update-grub 

    grub se met à jour en listant tous vos noyaux, OS, etc.
    Puis, à l'endroit où vous aurez choisi d'installer grub (en général le disque de boot spécifié dans le bios, donc sda):

    ordi a toto ~ $ sudo grub-install /dev/sda 

Normalement roll , c'est bon.
Vous pouvez aller dormir.

(1) double boot, donc peut-être windows qui a fait l'idiot? Ou alors du à un arrêt un peu brutal (coupure courant) après une mise à jour...?
(2) le tuto "Comment réinstaller GRUB ?" n'explique pas à cette heure comment faire quand on a pas d'autres options qu'un grub rescue...


Actuellement sous buntu sauce mint (bien que pas anglais). Grande préférence pour les versions LTS qui ne changent pas toutes les 5minutes.
Ai testé fedora, debian. Aime bien aussi win, du moment que ça marche. Ai rien contre OSX.
Aime(ait?) bien le forum Ubuntu pour son esprit non élitiste.

Hors ligne

#2 Le 13/11/2019, à 03:40

Béru

Re : [Résolu] grub rescue normal.mod not found - traduction

Note aux modos:
Je ne sais pas si j'ai posté ça dans la bonne partie, mais je me suis dis que vu que j'avais trouvé une solution, elle pourrait peut-être être utile à autrui.
Note générale:
Je dois dire que j'ai méchamment flippé lorsque l'écran noir est apparu. Je connaissais les plantages win (suffit de débrancher rebrancher pour résoudre le problème dans 95% des cas (les 5% restant, c'est soit foutu totalement (1%), soit ça nécessite un redémarrage en mode sans échec ou équivalent)), les plantages classiques de linux (redémarrage, choisir un kernel plus vieux), mais là, ça sentait l'écran bleu de la mort...
Note perso:
Toujours garder un liveCD fonctionnel dans un coin accessible.
Note anecdotique:
pour ceux qui se demandent "pourquoi qwerty et azerty", la réponse est: la disposition date des premières machines à écrire (1850). Aurait été fait pour éviter la frappe successive de deux barres à caractère trop proches: risque de blocage. Comme quoi un choix vieux de 150ans nous impacte encore. Comme quoi les habitudes sont plus fortes que l'innovation.

Dernière modification par Béru (Le 13/11/2019, à 03:52)


Actuellement sous buntu sauce mint (bien que pas anglais). Grande préférence pour les versions LTS qui ne changent pas toutes les 5minutes.
Ai testé fedora, debian. Aime bien aussi win, du moment que ça marche. Ai rien contre OSX.
Aime(ait?) bien le forum Ubuntu pour son esprit non élitiste.

Hors ligne