12312312
  • 深圳市赛特恩电子有限公司
  • alibaba
  • aliexpress
  • 深圳市赛特恩电子有限公司
  • 深圳市赛特恩电子有限公司
Back 网站首页 客户服务 常问问题

Nvme硬盘、如何使用 nvme-cli 升级硬盘固件:详细教程

本文将详细介绍如何使用 nvme-cli 工具在 Linux 环境下对 NVMe 固态硬盘进行固件升级。该教程包括准备工作、关键命令、以及升级后的检查与重启步骤,旨在帮助用户顺利完成固件升级。

一、环境要求

在开始升级之前,请确保以下条件满足:
1. 操作系统:Linux OS
2. 已安装 nvme-cli 工具软件,支持固件更新的版本需为 v2.10 及以上

Linux OS 快捷安装命令

在不同的 Linux 发行版上安装 nvme-cli 的命令:

Ubuntu/Debian:
sudo apt-get install nvme-cli
CentOS/RHEL:
sudo yum install nvme-cli
Fedora:
sudo dnf install nvme-cli
Arch Linux:
sudo pacman -S nvme-cli

如果当前版本的 nvme-cli 不支持固件更新操作,可以手动下载最新版:

官网下载:NVME-CLI

二、升级前的准备工作

1. 硬盘连接与识别
首先,确保 NVMe 设备已正确连接到系统,并通过以下命令进行识别:

nvme list

输出结果应列出已连接的 NVMe 设备,确认其设备名称 Node(如 /dev/nvme0n1)。

2. 上传固件文件

下载并上传固件文件到 Linux 系统中,建议将其存放在 /root 目录下以便于访问。

三、固件升级步骤

1. 下载固件
使用 nvme-clifw-download 命令将固件下载到 NVMe 设备的指定插槽。将
<指定升级磁盘符><固件文件路径> 替换为固件文件的实际路径:

# nvme fw-download <指定升级磁盘符> -f <固件文件路径>
nvme fw-download /dev/nvme0n1 -f /root/firmware.bin

2. 执行升级操作
使用 fw-commit 命令执行固件升级操作。请根据现场服务器环境需要,选择升级方法:

# nvme fw-commit /dev/nvme0 -s <插槽号> -a 1
nvme fw-commit /dev/nvme0 -s 2 -a 3

此命令将固件写入指定插槽并激活更新。
-A 解释:参数用于指定固件激活方式。各个选项的含义如下:
-a 1 立即激活(无需重启)。固件更新会立即应用并激活,不需要重启设备。这种方式适用于需要快速生效的更新。
-a 2 手动重置激活。固件更新会在用户手动执行重置操作后生效。这适用于需要手动干预以确保更新成功的场景。
-a 3 重启后激活。固件更新会在设备重启后生效。这种方式通常用于需要系统稳定重启的情况下,以确保更新顺利应用。

-S 解释:参数用于指定要操作的固件槽(slot)。标准定义中,SSD 支持最多 7 个固件存放槽,每个槽有不同的用途和权限。
-s 1 用于存放出厂固件,该槽是只读的,不允许进行写操作。它保存了 SSD 出厂时预装的固件版本。
-s 2~3 这些槽可以用于下载新的固件版本。当进行固件升级时,通常会将新的固件下载到这些槽中。
-s 4~7 企业级 SSD 最大支持 7 个固件版本,通常也用于存储和更新固件,但具体用途可能取决于 SSD 制造商和产品类型的支持情况。

3. 执行固态硬盘 reset 上下电操作。

nvme reset /dev/nvme* (reset使固件生效,如果第二步用的是 -a 3 就不用执行 reset)

***通过实际应用测试,若 reset 命令无法使固件生效,可以通过重启reboot :Linux OS系统后使固件生效。

四、升级后的检查与重启

1. 检查设备状态
升级完成后,使用 nvme list 命令检查设备状态,确保固件升级成功。

2. 查看固件历史记录

nvme fw-log /dev/nvme0n1

***fw-log命令可以查询(slot)固件升级记录

五、总结

通过上述步骤,你可以成功使用 nvme-cli 工具在 Linux 环境中升级 NVMe 固态硬盘的固件。在升级前,请务必备份重要数据,并仔细检查各项参数以确保升级过程顺利完成。

Wechat