找不到EFI目录:grub-install问题


14

我试图在Linux中拯救GRUB。我可以按照此教程登录操作系统:

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

我必须升级GRUB才能解决此问题。但是,当我运行时grub-install,出现错误:

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

我的文件系统包含sda4sda5和,分别sda6用于EFI系统,Linux交换和Linux文件系统。

我对使用mount或其他命令不是很有经验。

Answers:


11

在默认情况下运行grub-install时,它假定EFI系统已安装为/ boot / efi

这取决于您在EFI系统上安装的发行版,在某些发行版中还没有在启动后挂载它。

首先检查/ boot / efi是否已安装

mount | grep /boot/efi

如果那不起作用,请首先尝试以下方法,看看它是否已安装在其他地方。

mount | grep /dev/[efi device]

如果这些工作都不做:

mount /dev/[efi device] /mnt

现在运行:

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

其中[efi dir]是/ boot / efi或/ mnt,[efi设备]是具有EFI系统分区的设备。如果您不知道使用命令lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
谢谢,在grub-install --efi-directory=/boot/EFIchroot进入时/mnt
krishnakant

也许是愚蠢的Q,但是我没有EFI目录。我在哪里得到一个?我的意思是应该包含文件,哪个命令可以重新创建它?
Lennart Rolland

@LennartRolland如果您具有兼容UEFI的系统,则系统驱动器将进行GPT分区,并包含“ UEFI系统分区”。通常是第一个分区,类型为EF00。默认情况下,许多发行版会将其安装为/ boot / efi,以允许GRUB引导加载程序更新其文件。如果不是,则必须自己安装它并将其添加到fstab中。您可能也有UEFI系统,但是使用的是旧版模式,这意味着您的分区将是msdos类型,并且您将没有/ boot / efi。存在怪异的配置,但涵盖了大多数配置。
jdwolf

如果未安装EFI,则说明错误。看到我的编辑。mount | grep /dev/sda6不起作用。如果未安装EFI,则必须检查分区的类型。
giusti

@giusti最好不要引用特定的设备名称。
jdwolf

1

rub救援模式可以视为

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

登录后,输入sudo update-grub && sudo grub-install /dev/sda


grub-install难道不应该做之前update-grub
危险89年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.