grub-install:错误:找不到 efi 目录

grub-install:错误:找不到 efi 目录

我最近双启动kali-linux-2016.2-amd64使用 Windows 10。一段时间后,我更新了 Windows 10,因此 Windows 可能已从启动菜单中删除了 grub。现在我无法从启动菜单启动 kali-linux,因为它不再出现在那里。

所以我决定通过从 USB 启动 Live-kali(持久)来重新安装 grub。我在终端中输入了以下命令:

fdisk -l
sudo mount /dev/sda* /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda

CTRL+D

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

在第 7 个命令行之后,我收到此错误: 在此输入图像描述

答案1

很难帮助你,因为你不知道基本命令......但我会尝试一下,好吗?

  • 列出fdisk -l您当前的分区,就像您的映像一样。
  • 通过你的图像,我可以看到 /dev/sda1 作为 EFI 系统,/dev/sda10 作为 Linux 文件系统,/dev/sda11 作为 Linux 交换区。保留此信息。
  • 当您使用 live cd 启动时,您必须执行 achroot来访问系统,换句话说,该操作更改当前正在运行的进程及其子进程的表观根目录。我们走吧:

  • 将您的系统安装在 /mnt。记住? Linux 文件系统?是的。它是/dev/sda10。所以执行命令:

             sudo mount /dev/sda10 /mnt

    您正在使用,sudo因为您必须拥有管理员权限才能执行此操作。

  • 因此,使用以下命令挂载程序工作所需的临时文件系统:

             sudo mount --bind /dev /mnt/dev
             sudo mount --bind /dev/pts /mnt/dev/pts
             sudo mount --bind /proc /mnt/proc
             sudo mount --bind /sys /mnt/sys

  • 您正在修改启动,因此您还需要 /boot 分区。某些系统对 /boot 目录和系统根 (/) 使用相同的分区。如果您不知道自己的情况是什么,那么此时检查文件夹 /mnt/boot/ 中是否有文件(您将找到内核映像、配置等)。

       -如果/mnt/boot文件夹为空,则需要挂载/boot分区。您的机箱上唯一可能可用的分区是 /dev/sda1,因此也将如此。挂载在/mnt/boot。

       -如果您找到了这些文件,那么 /dev/sda1 处的另一个分区实际上应该是 EFI 文件系统,并且它必须安装在 /mnt/boot/EFI 处。

  • 全部安装完毕后,使用以下命令更改根目录:

             sudo chroot /mnt /bin/bash

  • 现在,在 chroot 中,您可以安装 grub:

    sudo grub-install /dev/sda

相关内容