EFI-Verzeichnis kann nicht gefunden werden: Problem mit grub-install

14

Ich habe versucht, GRUB unter Linux zu retten. Nach diesem Tutorial konnte ich mich im Betriebssystem anmelden:

https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

Ich muss GRUB aktualisieren, um das Problem zu beheben. Beim Ausführen grub-installwird jedoch eine Fehlermeldung angezeigt:

$ grub-install /dev/sda
grub-install: error: cannot find EFI directory.

Mein Dateisystem enthält sda4, sda5und sda6für das EFI - System, Linux - Swap und Linux - Dateisystem auf.

Ich bin nicht sehr erfahren mit Mount oder anderen Befehlen.

krishnakant
quelle

Antworten:

11

Wenn Sie grub-install standardmäßig ausführen , wird davon ausgegangen, dass das EFI-System als / boot / efi bereitgestellt ist

Dies hängt von Ihrer Distribution ab, in der das EFI-System bereitgestellt ist, und von einigen Distributionen, die nach dem Start nicht bereitgestellt werden.

Überprüfen Sie zunächst, ob / boot / efi mit gemountet ist

mount | grep /boot/efi

Wenn dies nicht funktioniert, versuchen Sie zunächst Folgendes, um festzustellen, ob es an einer anderen Stelle bereitgestellt ist.

mount | grep /dev/[efi device]

Wenn keine dieser Arbeiten funktioniert:

mount /dev/[efi device] /mnt

Führen Sie jetzt aus:

grub-install --efi-directory=[efi dir]
grub-mkconfig -o /boot/grub/grub.cfg

Dabei ist [efi dir] entweder / boot / efi oder / mnt und [efi device] das Gerät mit der EFI-Systempartition. Wenn Sie es nicht wissen, verwenden Sie den Befehllsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

jdwolf
quelle
2
Danke, in die grub-install --efi-directory=/boot/EFIich mich hineinversetze /mnt.
krishnakant
Vielleicht dummes Q, aber ich habe kein EFI-Verzeichnis. Woher bekomme ich einen? Ich meine, es soll Dateien enthalten, welcher Befehl kann es neu erstellen?
Lennart Rolland
@LennartRolland Wenn Sie ein UEFI-kompatibles System haben, wird Ihr Systemlaufwerk GPT-partitioniert und enthält eine "UEFI-Systempartition". normalerweise die erste Partition und vom Typ EF00. Viele Distributionen mounten dies standardmäßig als / boot / efi, damit der GRUB-Bootloader unter anderem seine Dateien aktualisieren kann. Wenn nicht, müssen Sie es selbst mounten und zu fstab hinzufügen. Möglicherweise haben Sie auch ein UEFI-System, das jedoch den Legacy-Modus verwendet. Dies bedeutet, dass Ihre Partitionen vom Typ msdos sind und Sie kein / boot / efi haben. Es gibt seltsamere Konfigurationen, die jedoch die meisten davon abdecken.
JDWolf
Ihre Anweisungen, wenn EFI nicht gemountet ist, sind falsch. Siehe meine Bearbeitung. mount | grep /dev/sda6funktioniert nicht Wenn EFI nicht bereitgestellt ist, müssen Sie die Partitionen auf Typ überprüfen.
Giusti
@giusti Wahrscheinlich besser, nur keine spezifischen Gerätenamenreferenzen zu erstellen.
JDWolf
1

Der Grub-Rettungsmodus kann als behandelt werden

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

Sobald Sie sich angemeldet haben, geben Sie ein sudo update-grub && sudo grub-install /dev/sda.

defalt
quelle
Sollte das grub-installnicht vor dem gemacht werden update-grub?
Gefahr89