问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
https://www.stesz.cn/question/1535.html

本文将详细介绍如何使用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

二、升级前的准备工作

1. 硬盘连接与识别

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

nvme list

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

2. 上传固件文件

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

三、固件升级步骤

1. 下载固件

使用nvme-cli的fw-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固态硬盘的固件。在升级前,请务必备份重要数据,并仔细检查各项参数以确保升级过程顺利完成。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号