AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 897516
Accepted
Rosamunda
Rosamunda
Asked: 2017-03-28 10:33:41 +0800 CST2017-03-28 10:33:41 +0800 CST 2017-03-28 10:33:41 +0800 CST

在 U 盘上安装 GRUB:一直出现“找不到 EFI 目录”错误

  • 772

我正在尝试在 USB 记忆棒上安装 grub 以使其可启动。我想让它可以启动以进行 USB 多重启动,在一个 USB 中携带多个发行版(即 rescatux 和 tails)。我已经这样做了:

sudo mkdir -p /media/MULTIBOOT/boot

接着:

sudo grub-install --target=x86_64-efi --boot-directory=/media/MULTIBOOT/boot /dev/sdc1

我得到这个错误:

为 x86_64-efi 平台安装。grub-install:错误:找不到 EFI 目录。

我有 Ubuntu 14.04 LTS,它是 64 位的。

这是我的 USB 配置: 在此处输入图像描述

这是我第一次尝试这个,我在这里有点迷路,我应该使用/dev/sdc1还是/dev/sdc?

我已经尝试过(结果相似),这是另一种选择:

sudo grub-install --target=x86_64-efi --boot-directory=/media/victoria/MULTIBOOT/boot /dev/sdc

问题出在哪里?

谢谢你的帮助!

boot
  • 1 1 个回答
  • 3229 Views

1 个回答

  • Voted
  1. Best Answer
    Rod Smith
    2017-03-28T11:55:26+08:002017-03-28T11:55:26+08:00

    我无法为您的问题提供完整的答案,因为 GRUB 配置和安装的某些方面超出了我的技能水平,并且因为您想要做什么有一些歧义(正如 sudodus 在他对您的问题的评论中所指定的那样)。也就是说,我可以提出一些可能有用的意见和建议:

    • 当您从 Ubuntu 将 GRUB 安装到正常运行的 EFI 系统时,GRUB 将EFI/ubuntu/grubx64.efi位于EFI 系统分区 (ESP) 上,并且 NVRAM 条目指向该位置。
    • 相比之下,EFI 可引导的 USB 驱动器通常从EFI/BOOT/bootx64.efiUSB 驱动器的 ESP 上调用的引导加载程序引导。此文件名通常称为备用文件名,如果没有 NVRAM 条目指向有效的引导加载程序,或者用户从内置引导管理器菜单中选择引导介质,EFI 应该寻找该文件名作为最后的手段。因此,要安装到此位置,您必须调整grub-install命令(我什至不是 100% 肯定它支持此命令)或手动复制文件。
    • 使上述情况复杂化的是,如果计算机使用 Secure Boot,Ubuntu 会安装一个名为Shim ( shimx64.efi) 的程序,并创建一个指向它的 NVRAM 条目,而不是指向grubx64.efi. 同样,要启动外部媒体,shimx64.efi必须将原始媒体命名为EFI/BOOT/bootx64.efi. 无论哪种情况,Shim 都会grubx64.efi在与 Shim 相同的目录中启动。
    • 不使用 Secure Boot时,Ubuntu 的 GRUBgrub.cfg会在目录中查找一个文件,该文件/boot/grub不太可能是 ESP。但是,在启用安全启动的情况下启动时,grubx64.efi会grub.cfg在与grubx64.efi. 那grub.cfg,虽然,寻找和加载/boot/grub/grub.cfg,所以效果是一样的,但路径更复杂。在任何一种情况下,都依赖于 ESP 和任何分区/boot/grub。一些发行版的设置不同;例如,Fedora 将最终grub.cfg文件和所有相关文件放在 ESP 上。
    • 该/boot/grub/grub.cfg文件由每当您安装新内核或 GRUB 二进制文件时运行的配置脚本构建(或重新构建)。这适用于单引导系统,但如果您使用另一个 Linux 发行版进行多引导,事情会很快变得混乱。特别是,如果发行版 A 的 GRUB 控制引导过程并且您更新发行版 B 的内核,则 GRUB 不会显示新的发行版 B 内核,直到您update-grub在发行版 A 中运行(或类似的东西)。

    在这些因素之间,要使用 GRUB 执行您想要的操作,您可能必须安装到备用文件名而不是标准文件名;您可能需要也可能不需要将 Shim 挤入图片中;你可能需要调整你grub.cfg的两个分布设置。有很多事情要做。如果我需要用 GRUB 完成所有这些,我的方法是将两个发行版都安装到 USB 驱动器上,就好像它是一个内部硬盘一样,然后将 GRUB(或 Shim)移动/重命名为备用文件名。这将有一个优势,你不应该需要与grub.cfg文件。一个重要的警告是,如果你想使用以不寻常方式安装的东西(比如通过 UNetbootin 或 Rufus 而不是 Ubuntu 的 Ubiquity 安装程序),这可能会改变等式,需要一些完全不同的方法。看起来您正尝试在硬盘上使用 Ubuntu 将 GRUB 安装到 USB 驱动器,以用于从 USB 驱动器引导。如果您比我更像 GRUB 专家,这种方法可能会奏效,但是有足够多的模糊变量在起作用,您的方法很可能是一个复杂的雷区。

    另一种方法是使用我的rEFInd 引导管理器。您需要将其安装到备用文件名,但 rEFInd 在引导时会扫描内核,因此当您使用另一个发行版安装 GRUB 或 rEFInd 时,在一个发行版中安装新内核不太可能被破坏。OTOH,如果您想使用安全启动,您需要跳过额外的障碍(记录在rEFInd 的安全启动页面上)以使其正常工作,可能在您用于启动 USB 驱动器的每台计算机上。您可能还需要为您的两个/boot/refind_linux.conf发行版创建文件以处理特定于发行版的内核选项。(有关这方面的信息,请参阅rEFInd Linux 文档,尤其是该页面的下半部分。)

    • 4

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve