注意:这是该帖子的后续:https://superuser.com/questions/1318478/booting-nvme-drive-with-a-bootloader,但我决定在这里发布,因为我正在尝试安装和启动 Ubuntu。
摘要:我正在 NVMe 驱动器上安装 Ubuntu,但主板不支持 NVMe 启动。我这样做:
- 有一个 SATA 驱动器。
- 以 UEFI 模式启动安装 U 盘。
- 在 SATA 驱动器上创建 EFI 分区。
/
在 NVMe 驱动器上安装文件系统。- 在 SATA 驱动器上安装引导加载程序。
系统安装正确,但重新启动时,进入 grub 救援状态,提示卷未知。
请注意,当我在 NVMe 驱动器上创建主分区时,安装程序在开头留下了 1 Mb 的“可用空间”,所以我怀疑真正的 EFI 启动分区就在那里。
有什么建议吗?谢谢。
答案1
经历了同样的磨难。发现修复需要多个步骤才能正常工作。我会简要解释一下,但可以通过以下官方 ubuntu 论坛的链接找到准确而详细的步骤。
基本上,您必须将 /boot 放在单独的驱动器上,并将 grub 安装到同一驱动器上。“启动”驱动器是 SATA,显然可以通过 BIOS 使用 GPT 分区和方案看到并启动,如下所示:
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
legacy_boot
您必须在 /boot 分区(分区 1)和分区 2bios_grub
中包含unknown
。
您的 NVMe 驱动器也必须是 GPT 分区。在安装过程中,您必须选择在安装时执行“其他操作”,并告诉安装程序安装您之前定义的 /boot 分区并将 grub 安装到同一驱动器上。
答案2
经过几周的胡闹之后(确保你是从正确的设备启动!),我发现以下方法对我有用:
- 使用 GPartEd 擦除 SATA 驱动器并在其上创建 GPT 分区表。
- 如果任何设备上已有 EFI 分区,请将其删除。
- 在安装程序中设置为从 SATA 驱动器启动(创建 bios_grub 和 EFI 分区),然后为 /boot 创建一个 500MB(可能更少?)的分区,并为操作系统创建一个分区。此系统目录主要用作备份,以防 NVME 驱动器坏掉。
- 可选择为 /home 设置另一个分区(甚至可以在 NVME 设备上)。
sdb
├─sdb1 bios_grub
├─sdb2 EFI System Partition
├─sdb3 boot
└─sdb4 system
- 再次运行安装程序,设置与第一次相同。将 NVME 设备上的分区设置为 /,并将 /dev/sdb3 再次设置为 /boot。确保 SATA 驱动器是启动设备。我在 NVME 设备上有 2 个分区...第一个安装为 /home,第二个安装为操作系统的 /。它也有一个 GPT 分区表。
nvme0n1
├─nvme0n1p1 home home
└─nvme0n1p2 sys
答案3
我用过Ubuntu Server 20.04.3 LTS在HP Z800 工作站(类似于 HP Z400 工作站和 HP Z600 工作站)英特尔 SSDSC2KW24 SATA 固态硬盘和三星 NVMe M.2 970 EVO Plus安装至 PCIe华硕 Hyper M.2 X4 Mini。
当然,BIOS 已经很旧了,所以它无法识别 NVMe 驱动器,但从 USB 驱动器安装的 Ubuntu 可以识别。这意味着,Ubuntu 拥有识别和使用 NVMe 所需的所有驱动程序。
步骤非常简单直接:
创建 Ubuntu 启动 USB。
在 BIOS 中设置启动顺序为从 USB 启动,然后从 SATA 启动。
将 USB 插入机器并开始安装。
当系统询问在哪里安装操作系统时,请选择手动配置。
如果您没有看到 NVMe 驱动器,则可能是硬件出了问题。此时,您无能为力,您需要找出无法识别的原因。但此屏幕可以很好地指示您的机器是否可以识别您的驱动器。
假设您可以看到 NVMe 驱动器,请格式化或重新格式化两个驱动器(NVMe 和 SATA)-请谨慎操作,因为它会清除两个驱动器上的所有数据!
确保为两个驱动器创建 LVM,并在每个驱动器的分区表中添加以下新分区(假设
/dev/nvme0n1
是 NVMe 和/dev/sda
SATA):Device Size Filesystem Mount ------ ---- ---------- ----- /dev/sda1 1M EFI /dev/sda2 200M ext4 /boot /dev/sda3 223.4G ext4 /home /dev/nvme0n1p1 232.9G ext4 /
笔记:
/dev/sda2
可以是 200M 以上的任意大小。我认为 200M 对于服务器配置来说已经足够了。如果用于桌面设置,可以将其设置为 1G。/dev/sda1
是 EFI 分区,创建/boot
分区后会自动创建。BIOS 需要它来启动操作系统。/dev/sda3
是可选的,可以安装到系统中的任何文件夹。就我而言,它通常用于/home
,因为所有用户的数据都将存储在那里,并且此类数据使用的性能不太重要。/dev/nvme0n1p1
是 NVMe 驱动器中唯一的卷,必须将其挂载到/
,才能实现 NVMe 速度与操作系统的性能。
就这样,您可以开始安装了。安装过程将发挥所有必要的魔力,使它们协同工作。
安装完成后,断开USB驱动器并重新启动机器。