.. _pi_5_nvme_fail: ========================== 树莓派nvme异常 ========================== :ref:`pi_5` 的一个改进是集成了 :ref:`pcie` **2** ,我原本以为这将彻底提升树莓派的存储能力,并且可以借助拆分转接卡,能够支持双 :ref:`nvme` 实现一个模拟企业级存储。然而,实践发现,这个功能扩展非常鸡肋,给我带来非常多的困扰: - PCIe通道只有一个,由于板卡限制,在电压和电流上感觉像在刀锋边缘行走,对于电流要求较高的pcie 4非常挑存储 - 没有统一的厂商(供应链)质量控制,第三方拆分卡看似能用,但是无形中又降低了pcie接口的电气特性,使得存储稳定性降低 双pcie设备 =========== 由于树莓派的 :ref:`pcie` 2 接口只有一个,而现代计算机设备其实依赖大量的pcie设备,例如GPU,存储都是通过宝贵的pcie接口连接。所以,我的最初想法是购买第三方PCIe转接卡。我选购的国内较有知名度的"微雪"拆分卡,一个板卡可以安装2个 ``m.2`` 设备 我从官方下载的OS镜像,通过 ``dd`` 写入到 :ref:`kioxia_exceria_g2` 和 :ref:`intel_optane_m10` ,发现一个非常诡异的事情: - 首次启动后很长时间(其实自动做了存储分区resize),会出现提示 ``PARTUUID=c037849a-02 does not exist`` (也就是操作系统根分区无法读取) 我最初以为是 :ref:`intel_optane_m10` 电气兼容性问题,所以我也验证测试了之前一直在 :ref:`pi_5` 上使用的 :ref:`kioxia_exceria_g2` ,但是报错依旧。 我使用常规的 SD 卡启动系统( :ref:`kioxia_exceria_g2` 安装在 ``m.2`` 上),我惊奇地发现,原来自动resize后的操作系统分区已经被破坏了: .. literalinclude:: pi_5_nvme_fail/partuuid_fail :caption: 显示OS分区已经扩展好,但是无法挂载读取并且所有的 ``blkid`` 已经丢失