web-dev-qa-db-fra.com

Installé sur un disque externe, Grub utilisant une mauvaise architecture

J'ai installé Lubuntu sur un lecteur flash comme vous le feriez pour un HD (pas live/squashfs). Mais chaque fois que je le démarre, je reçois une invite de sauvetage grub.

Il le dit can't find /boot/grub/i386-pc/normal.mod ce qui explique l'invite de sauvetage. Cependant, il est installé pour x86_64. Le dossier de cet Arch est là avec tous les modules. Quand j'ai fait grub-install, je l'ai ciblé sur x86_64. Quand j'essaye d'insmod explicitement il dit wrong Arch elf magic. Il recherche donc définitivement le i386 et au bon endroit, mais pourquoi et comment le réparer?

Ma question est différente des doublons suggérés car il n'y a pas d'installation de Windows sur le lecteur flash, qui doit être indépendant de la machine. De plus, les solutions fournies dans l'un ou l'autre ne sont d'aucune utilité - même la réparation de démarrage ne le résout pas.

2
Duncan X Simpson

J'ai trouvé la solution. Il démarrait en mode hérité car il n'a pas pu démarrer en UEFI. La partition EFI contenait EFI/Boot et EFI/ubuntu. Il cherchait deux fichiers, grubx64.efi et MokManager.efi, dans/EFI/Boot, mais ils étaient dans ubuntu, donc j'ai fait cp EFI/ubuntu/*.efi EFI/Boot et ça l'a corrigé! Pour clarifier, le problème racine était que le programme d'installation a placé les fichiers de démarrage dans un emplacement qui ne convient qu'aux lecteurs fixes, et la solution était decp -rles fichiers à l'emplacement correct.

2
Duncan X Simpson