使用 Raspberry Pi 5 启动 NVMe SSD

重要说明

NVMe SSD 不兼容列表

我们建议避免使用配备Phison 控制器的以下 NVMe SSD 驱动器,因为它们已被证明不兼容:

  • WD Blue SN550 系列(已解决!请参阅https://forums.raspberrypi.com/viewtopic.php?t=364327)
  • WD Blue SN580 系列(已解决!请参阅NVMe_SSD_boot_with_the_Raspberry_Pi_5#comment-4708
  • WD Green SN350 系列(已解决!请参阅NVMe_SSD_boot_with_the_Raspberry_Pi_5#comment-4602
  • WD Black SN850 系列
  • WD Black SN770
  • 西部数据 SN740
  • 内陆 tn446 nvme 驱动器
  • Corsair MP600 SSD
  • Micron 2450 SSD(可以识别但不支持从 NVME 启动)
  • 配备相同Phison 控制器的其他 NVMe SSD 驱动程序

这些特定型号已显示出兼容性问题,建议在考虑 X10xx 系列 NVMe 屏蔽的 NVMe SSD 选项时避免这些问题。您可以运行“ lspci ”命令来检查 SSD 的控制器品牌。

我们确认以下 SSD不兼容

  • Micron 2200 256GB M.2 NVMe Gen3 x4,型号:MTFDHBA256TCH,SSD 已被识别,但我无法从中启动。

另请注意:

  • 仅兼容 M.2 NVMe SSD,兼容 M.2 SATA SSD、M.2 PCIe AHCI SSD 或其他 M.2 非 NVMe 设备
  • 闪存介质效率较低的旧款 NVMe 驱动器的性能可能不如新款驱动器
  • 新的 NVMe SSD 未分区,首次连接到 Raspberry Pi 时需要进行分区和格式化,然后才能在 Explorer 中访问。
  • 我们收到客户反馈Polaris Controller也会有兼容性问题,如果不行请更换其他 SSD 测试,是否兼容 Raspberry Pi 5 不取决于 X100X 系列主板
  • 使用MAP1202控制器的 NVME可能不支持 PCIe Gen 2,必须强制启用 PCIe Gen 3 才能被识别。这是因为该控制器不向后兼容 PCIe Gen 2,使用该控制器的 NVME 会有兼容性问题,不建议使用。可以参考https://zhuanlan.zhihu.com/p/644984347

启用 PCIe

默认情况下 PCIe 连接器未启用。要启用它,您应该将以下选项添加到/boot/firmware/config.txt重新启动

须藤纳米 /boot/firmware/config.txt

然后添加以下评论;

# 启用 PCIe 外部连接器。
dtparam=pciex1

# 此行是上面的别名(您可以使用任一/或来启用端口)。
dtparam=nvme

Ctrl-O,然后按 Enter 键,将更改写入文件。

Ctrl-X退出 nano(编辑器)。


并且该连接已认证为 Gen 2.0 速度(5 GT/秒),但如果您在后面添加以下行,则可以将其强制为 Gen 3.0(10 GT/秒):

dtparam=pciex1_gen=3

警告:Raspberry Pi 5 未通过 Gen 3.0 速度认证,以这些速度连接 PCIe 设备可能会不稳定。

然后不要忘记重启

sudo 重启

您也可以参考官方文档:启用PCIe

重启后,使用lspci命令显示你的 PCIe 设备

命令lspci

输出如下,注意第三行的内容取决于您使用的NVME控制。

pi@raspberrypi: 〜$ sudo lspci
0000:00:00.0 PCI 桥:Broadcom Inc. 及其子公司设备 2712 (rev 21)
0000:01:00.0 非易失性内存控制器:Silicon Motion, Inc. SM2263EN/SM2263XT SSD 控制器(rev 03)
0001:00:00.0 PCI 桥:Broadcom Inc. 及其子公司设备 2712(修订版 21)
0001:01:00.0 以太网控制器:设备 1de4:0001
  • 确保您的 NVME SSD 已插入 PCIe PIP,而不仅仅是将 PCIe PIP 连接到 Pi 5,否则lspci将无法显示任何 PCIe 设备。
  • 如果您的 NVMe SSD 无法识别,则更新引导加载程序固件至关重要!请参阅如何更新 eeprom 固件以更新固件或#FAQ Q1 了解更多详细信息。

将 OS 刷入 NVME SSD 中

要让 NVMe SSD 启动你的 Pi,它需要有一个操作系统,所以 Raspberry Pi 操作系统需要刷入 NVME SSD 上,这非常重要!


支持 Raspberry Pi OS(Bookworm)版本,不支持 Raspberry Pi OS bullseye 或 Ubuntu 或 Home Assistant OS,请参阅

https://www.raspberrypi.com/software/operating-systems/

以下是将操作系统刷入 NVME SSD 的几种方法:


1. 使用SD 卡复制工具将操作系统刷入 Raspberry Pi OS 上的 NVME SSD 上(受到推崇的

如果您有 SD 卡并且已成功启动设备,此方法有效

在主屏幕上点击应用程序=>附件=> SD 卡复制器,运行SD 卡复制器程序,并将操作系统复制到 NVME ssd,如下图所示。

PI5-sd-复印机.png

点击开始运行。然后关机,拔下 SD 卡,并重新启动设备。

这是一个可视化操作,我们强烈推荐它!


2. 使用 Raspberry Pi Imager 刷新 SSD

您也可以直接使用MAC 计算机或 Windows 计算机上的 Raspberry Pi Imager工具将全新的 Pi OS 刷入 NVME SSD,但您需要额外的 USB 转 nvme 适配器。

  1. 安装 Pi Imager 并打开它
  2. 使用 USB 转 NVMe 适配器将 NVMe SSD 插入计算机
  3. 选择要安装的操作系统
  4. 选择要刷新的驱动器(通过适配器连接)
  5. 单击写入(并设置您想要的任何选项)
  6. 完成操作系统刷新后,请勿移除 nvme SSD。您必须#Enable PCIe

然后拉出 NVMe 驱动器,将其连接到您的 Pi 5,它应该从中启动(无论是否插入 microSD 卡) - 假设您已更新引导加载程序并适当地设置了BOOT_ORDER

笔记:

如果您正在将全新的 Pi OS 刷入 NVME ssd,则必须#Enable PCIe;但如果您正在将旧的 Pi OS 从 SD 卡 COPY 或 CLONE 到 NVME ssd,并且您已经在旧的 Pi OS 中提前启用了 pcie,那么您无需再次启用 pcie!

在启动顺序中尽早设置 NVMe

PCIe 连接在重启后应该可以正常工作,但您的 Pi 还不会尝试从 NVMe SSD 启动。为此,您需要更改Raspberry Pi 的引导加载程序配置中的 BOOT_ORDER :

  • 使用工具raspi-config设置启动顺序
sudo raspi-config

然后选择6 高级选项=> A4 启动顺序=> B2 NVMe/USB 启动回答,然后sudo reboot

  • 运行以下命令设置启动顺序。
sudo rpi-eeprom-config--编辑

然后将 BOOT_ORDER 行更改为以下内容:

启动顺序=0xf416

- 按Ctrl-O,然后按回车键,将更改写入文件。

- 按Ctrl-X退出 nano(编辑器)。

阅读https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER以了解所有详细信息。目前,相关的位是末尾的 6 :它告诉 Pi 首先尝试 NVMe 启动!

重新启动Raspberry Pi 5 以使更改生效。

关机时降低瓦数

默认情况下,Raspberry Pi 5 在关闭时消耗约 1W 至 1.4W 的电量。可以通过手动编辑 EEPROM 配置来降低此功耗sudo rpi-eeprom-config-e. 将设置更改为以下内容:

BOOT_UART=1
电源关闭开启暂停=1
启动顺序=0xf416

然后使用以下命令重启设备sudo 重启,这样断电时的功耗应该会下降到 0.01W 左右。

参考

  1.  参考https://www.jeffgeerling.com/blog/2023/nvme-ssd-boot-raspberry-pi-5


售后

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841