找不到 EFI 目录:grub 安装问题

找不到 EFI 目录:grub 安装问题

我试图在 Linux 中拯救 GRUB。我能够按照本教程登录操作系统:

https://www.liisenet.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 或其他命令不太有经验。

答案1

当你跑步时grub 安装默认情况下,它假定 EFI 系统安装为 /boot/efi

这取决于您安装 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 device] 是具有 EFI 系统分区的设备。如果你不知道使用命令lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

答案2

efi 目录必须位于/启动/efi/

要知道efi在哪个分区,我们必须检查分区表,所以如果你的主磁盘是/dev/sda那么。

fdisk -l /dev/sda
Device             Start        End   Sectors   Size Type
/dev/sda1           2048     309247    307200   150M EFI System
/dev/sda2         309248  964843519 964534272 459.9G Linux filesystem
/dev/sda3      964843520 1000214527  35371008  16.9G Linux filesystem

在结果中搜索类似的内容电喷系统或者EFI (FAT-12/16/32)

一旦知道分区号(在本例中为 sda1),我们必须将其挂载到/启动/efi

如果由于某种原因目录 /boot/efi/ 不存在,请创建它:

mkdir /boot/efi

并将 efi 挂载到该目录中:

mount /dev/sda1 /boot/efi/

我认为仅此而已,您必须能够在磁盘中安装 grub。

答案3

我刚刚遇到这个问题。我启动了救援 USB 记忆棒。让我描述一下对我有用的修复方法。

四处搜寻,gdisk -l /dev/sda我可以看到我原来的根分区是/dev/sda2.要访问它,我输入sudo mount /dev/sda2 /mnt

到目前为止,一切都很好。我先描述一下什么没有工作,然后是解决方案。有些页面建议chroot /mnt然后grub-install,但这行不通;给出grub-install: error: cannot find EFI directory.错误。

根据其他建议,我看到我的 EFI 分区是这样,/dev/sda1所以我尝试sudo mount /dev/sda1 /mnt/boot/efi再次 chroot。现在,grub 抱怨缺少/dev所以我mount --bind /dev/ /mnt/dev。 ...但是随后 grub 抱怨了其他事情。事情像滚雪球一样失控。chroot不是答案。

起作用的是:grub-install -d /mnt/usr/lib/grub/x86_64-efi --boot-directory=/mnt/boot /dev/sda

请注意,该-d标志是强制性的,否则 grub 会尝试使用/usr/lib/grub/i386-pc救援映像,该映像不包含正确的内容。

耶耶!我的系统现在又可以启动了!

答案4

sudo apt-get --purge autoremove  grub-efi-amd64-signed

相关内容