如何在新磁盘上安装 Grub 2 以便从 Memtest 的其他 UEFI 文件启动

如何在新磁盘上安装 Grub 2 以便从 Memtest 的其他 UEFI 文件启动

我的目标是在最初空白的驱动器上安装 Grub 2,然后添加 UEFI 的启动分区,以便可以添加 UEFI .img 并且一切都可以作为独立程序启动。

请参阅以下说明:

使用 Ubuntu Linux 安装 MemTest86 Grub

但是,这些最终以 UEFI 启动选项作为其他启动选项的辅助 GRUB 安装,而不是独立的。

这里有一些关于如何在全新安装的 Ubuntu 上安装 UEFI .img(如 Memtest86+)的信息。相反,我更愿意使用 root 终端来添加 GRUB 并从 Ubuntu 对其进行配置,以便它能够从具有一个 UEFI 分区和 GRUB 引导区域的独立磁盘运行:

Wiki 社区 GRUB 安装

上面的链接对我来说很难理解。我正在寻找更简单的说明或建议。感谢您的建议或推荐的具体步骤。

更新:我确保 GRUB 版本已更新至最新版本:

/mnt/boot/memtest86# grub-install --version
grub-install (GRUB) 2.04-1ubuntu26.15

grub-install 使用强制选项继续在引导扇区中安装 GRUB,当然,指定的不是 UBUNTU 引导盘,而是另一个 SATA 磁盘,我将把它传输到新计算机进行引导。我现在可以引导到“Grub>”提示符来手动发出命令。但是,最后一个命令,链式加载程序不起作用。

在另一台电脑上,一切正常。但我想退回我购买的 USB 棒以获得退款,而不是在那里安装 memtest86 V10,因为软件开发商 PassMark 支持。

我也在这个网站上发现了类似的问题memtest efi grub 安装;然而这个问题没有得到真正的答案。

更新 2:

我发现了一些可能有用的其他参考资料:

BIOS 和 UEFI 的可启动设置

已解决:Grub 2 给出错误:签名无效

如何从 GRUB2 提示符获取设备的 UUID

我仍然无法让链式加载程序工作,即使使用了强制选项,即使使用了 boot after。使用强制选项时,除了另一个“grub>”提示之外没有任何输出。如果我没记错的话,启动时只会进入一个空白屏幕。

答案1

外部驱动器从 /EFI/Boot/bootx64.efi 启动。内部驱动器可能将该条目作为后备或驱动器启动条目。Ubuntu 通常从 /EFI/ubuntu/shimx64.efi 启动。

您需要在驱动器上创建一个大小合适的 ESP - efi 系统分区。我不知道 memtest 有多大。

从我的 Ubuntu 安装开始,我有 grub 和一个标记为 focal 的闪存驱动器的 ESP,安装在 /media/fred 上,我安装了 grub。standalong 参数将 grub 安装到 /EFI/Boot。您仍然必须在 /EFI/ubuntu 或 /EFI/Boot 中手动创建 grub.cfg。不确定我当时做了什么。我想我使用了典型的配置文件 UEFI 条目来加载另一个文件夹中的另一个 grub.cfg,类似于 UEFI 配置文件从安装的 / 分区加载完整的 grub.cfg 的方式。

sudo grub-install --target=x86_64-efi --boot-directory=/media/fred/FOCAL/EFI/BOOT --efi-directory=/media/fred/FOCAL --removable

我的 Kubuntu dolphin 不会自动挂载 ESP 分区,所以我必须手动挂载才能查看或编辑它们。

根据您在 memtest 上的链接。然后您需要提取您的 memtest 文件。复制到 /EFI/memtest/bootx64.efi 并创建启动节。如果此驱动器仅用于 memtest,您可能可以制作一个 grub.cfg,如他们为 40_custom 展示的示例

示例 UEFI 配置文件:

如何让外部 USB 磁盘可启动 bios 和 uefi

如果您有任何实时安装程序 ISO,您可以安装它并查看它用于直接启动闪存驱动器的文件夹和 grub.cfg。您的配置需要类似。

答案2

我之前尝试加载 GRUB,因为创建 Linux 或 Mac 的 USB 启动盘的主要说明对我来说不起作用。此外,GRUB 启动说明也不起作用。但是,现在有了更新版本的 Memtest86 Version 10.1.0009,Linux USB 启动说明又起作用了,解决了之前尝试 GRUB 启动时遇到的障碍——启动问题。

更新:我使用 dd 将 UBUNTU .iso 文件复制到 SSD 并从中启动,以便在第二个 SSD 驱动器上安装 UEFI 版本的 Ubuntu。我能够按照说明从实时 UBUNTU SSD 手动进行 GRUB 启动,手动进行 UEFI 启动:

GRUB 引导加载程序说明

需要注意的一件重要事情是,我使用“insmod chain”添加了模块链,在“chainloader”步骤之后,我必须添加“boot”行。我能够顺利启动第二个驱动器中的 UEFI Ubuntu Linux!我还从 .iso 文件中更新的 memtest86-10.01.009 源 .img 复制了必要的文件(使用 Ubuntu Disks 很容易做到)。我创建了推荐的目录,然后我也可以从那里手动启动。

所以现在我可以从 GRUB 启动。但是现在这很麻烦,因为 Ubuntu 没有在安装 UEFI 版操作系统的磁盘上正确安装 GRUB。该 BOOT 磁盘只有一个条目,并且它不能使用第二个磁盘的 GRUB 作为启动卷。目前只有 Ubuntu 实时手动 GRUB 可以工作。

较早的评论:

我需要使用启动盘,因为 PassMark 的 MemTest Free Version 10 无法启动。问题是 PassMark 需要一种较新的解决方法。此问题记录在此处:

Memtest86 在 USB 启动时挂起 - PassMark 的 Macbook 2014 文章

参考图像位于该网站的以下链接:

memtest86-usb-10.1.0009.zip文件下载链接

我下载了链接文件,然后在下载目录中创建了一个名为“memtest86-usb-10.1.0009”的子目录。我将 zip 文件复制到该目录中,然后像这样使用 unzip:

unzip memtest86-usb-10.1.0009

然后,我按照问题中的链接使用 dd 复制了 .iso 映像,注意使用实际的 USB 驱动器而不是 SSD。它也可能从 SSD 映像工作,但我还没有尝试过。我使用 MemTest86 引导加载程序而不是 GRUB,因为它安装起来更简单:

在 Linux/Mac 中创建 MemTest86 可启动 USB 闪存驱动器

我只是以 BIOS 模式启动 Intel 计算机并选择第一个 UEFI 条目。根据其网站,计算机在 BIOS 中配置为 UEFI 启动,因为最新版本的 MemTest 版本 10 需要该启动才能正常启动。

我目前正在测试 32 GB 的内存,之前已经用旧版本进行过测试,一切正如预期的那样正常。

PS 我还测试了从 .iso 文件到 SSD /dev/sda 的 dd,然后我将该 SSD 驱动器移到另一台计算机,并选择从 BIOS 选择菜单从该驱动器启动。那里一切正常。计算机启动正常,MemTest 10.1 FREE 运行良好。下一步是 Ubuntu 的 UEFI 安装。出于某种原因,我的计算机缺少 UEFI 选项。我仍在尝试弄清楚如何在新磁盘上安装 Ubuntu——使用 UEFI 启动选项。

我确实找到了参考:

安装/UEFI-和-BIOS/稳定替代方案

但目前为止,这个参考对我来说过于复杂了。有没有更简单、更有效的方法?

相关内容