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

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

Ich muss GRUB aktualisieren, um das Problem zu beheben. Wenn ich jedoch grub-install ausführe, wird folgende Fehlermeldung angezeigt:

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

Mein Dateisystem enthält sda4, sda5 und sda6 für das EFI-System, den Linux-Swap bzw. das Linux-Dateisystem.

Ich bin nicht sehr erfahren mit Mount- oder anderen Befehlen.

Antwort

Wenn Sie grub-install Standardmäßig wird davon ausgegangen, dass das EFI-System als / boot / efi

bereitgestellt wird. Dies hängt von Ihrer Distribution ab Wenn das EFI-System gemountet ist und auf einigen Distributionen nach dem Booten nicht gemountet wird.

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

mount | grep /boot/efi 

gemountet ist

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 Funktionen funktioniert:

mount /dev/[efi device] /mnt 

Führen Sie nun Folgendes aus:

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

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

Kommentare

  • Danke, im grub-install --efi-directory=/boot/EFI, während ich in /mnt chroot.
  • Vielleicht dummes Q, aber ich '
  • @LennartRolland Wenn Sie ein UEFI-kompatibles System haben, wird Ihr Systemlaufwerk GPT-partitioniert sein und eine " UEFI-Systempartition enthalten. " normalerweise die erste Partition und vom Typ EF00. Viele Distributionen werden gemountet Dies ist standardmäßig als / boot / efi möglich, 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 gibt es auch ein UEFI-System, das jedoch den Legacy-Modus verwendet. Dies bedeutet, dass Ihre Partitionen vom Typ msdos sind und Sie ' nicht haben a / boot / efi. Es gibt seltsamere Konfigurationen, die jedoch die meisten davon abdecken.
  • Ihre Anweisungen, wenn EFI nicht bereitgestellt ist, sind falsch. Siehe meine Bearbeitung. mount | grep /dev/sda6 funktioniert nicht '. Wenn EFI nicht bereitgestellt ist, müssen Sie die Partitionen auf Typ überprüfen.
  • @giusti Wahrscheinlich ist es besser, nur keine spezifischen Gerätenamenreferenzen zu erstellen.

Antwort

Der Grub-Rettungsmodus kann wie folgt behandelt werden:

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

Geben Sie nach der Anmeldung sudo update-grub && sudo grub-install /dev/sda.

Kommentare

  • Sollte die grub-install nicht erledigt sein vor dem update-grub?
  • , als ich den ersten Befehl eingab, bekam ich " bash: Syntaxfehler Nahezu unerwartetes Token `(' "
  • @ Another.Chemist: Die angegebenen Befehle sollten gehen Ich denke, auf die interaktive GRUB-Konsole. Das wäre, bevor der Kernel startet. Ihr Fehler sieht so aus, als hätten Sie die Befehle in Bash eingegeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.