启动 NVMe 驱动器

Mad*_*ter 5 partitioning boot bootloader uefi nvme

注意:这是这篇文章的后续内容:https://superuser.com/questions/1318478/booting-nvme-drive-with-a-bootloader,但我决定在这里发布,因为我正在尝试安装并启动Ubuntu。

摘要:我正在 NVMe 驱动器上安装 Ubuntu,安装在不支持 NVMe 启动的主板上。我这样做是通过:

  1. 有一个 SATA 驱动器。
  2. 在 UEFI 模式下启动安装 U 盘。
  3. 在 SATA 驱动器上创建 EFI 分区。
  4. /在 NVMe 驱动器上安装文件系统。
  5. 在 SATA 驱动器上安装引导加载程序。

系统已正确安装,但重新启动时,进入 grub rescue,提示卷未知。

请注意,当我在 NVMe 驱动器上创建主分区时,安装程​​序在开始时留下 1 Mb 的“可用空间”,因此我怀疑真正的 EFI 引导分区位于此处。

建议?谢谢。

小智 3

也经历过同样的磨难。我们发现修复需要多个步骤才能正常工作。我将简要解释一下,而确切而彻底的步骤可以通过下面的 ubuntu 官方论坛链接找到。

基本上,您必须将 /boot 定位在单独的驱动器上,并将 grub 安装到同一驱动器上。“启动”驱动器是 SATA,显然可以通过具有 GPT 分区和方案的 BIOS 看到和启动,如下所示:

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sdc: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:


Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1075MB  1074MB  ext4               legacy_boot
 2      1075MB  1085MB  10.5MB                     bios_grub
 3      1085MB  500GB   499GB   ext4
Run Code Online (Sandbox Code Playgroud)

您必须将 包含legacy_boot在 /boot 分区(分区 1)和分区 2bios_grubunknown

您的 NVMe 驱动器也必须采用 GPT 分区。在安装过程中,您必须选择在安装时执行“其他操作”,并告诉安装程序安装之前定义的 /boot 分区并将 grub 安装到同一驱动器上。

来源:


小智 2

经过几周的努力(确保您正确的设备启动!),我发现以下内容对我有用:

\n
    \n
  1. 使用 GPartEd 擦除 SATA 驱动器并在其上创建 GPT 分区表。
  2. \n
  3. 如果任何设备上已有 EFI 分区,请将其删除。
  4. \n
  5. 在安装程序中设置为从 SATA 驱动器启动(创建 BIOS_grub 和 EFI 分区),然后为 /boot 创建一个 500MB(可能更少?)的分区,并为操作系统创建另一个分区。该系统目录主要作为备份,以防 NVME 驱动器失效。
  6. \n
  7. 可以选择为 /home 设置另一个分区(甚至可以在 NVME 设备上)。
  8. \n
\n
sdb                 \n\xe2\x94\x9c\xe2\x94\x80sdb1              bios_grub\n\xe2\x94\x9c\xe2\x94\x80sdb2              EFI System Partition\n\xe2\x94\x9c\xe2\x94\x80sdb3              boot\n\xe2\x94\x94\xe2\x94\x80sdb4              system\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 再次运行安装程序,使用与第一次相同的设置。将NVME设备上的一个分区设置为/,并将/dev/sdb3再次设置为/boot。确保 SATA 驱动器是引导设备。我的 NVME 设备上有 2 个分区...第一个安装为 /home,第二个安装为操作系统的 /。它也有一个 GPT 分区表。
  2. \n
\n
nvme0n1             \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p1 home    home\n\xe2\x94\x94\xe2\x94\x80nvme0n1p2         sys\n
Run Code Online (Sandbox Code Playgroud)\n