在 Windows 下面,有不少厂家都会在自己的官网上面提供其硬件固件的更新程序,下载到 Windows 系统中按说明执行就行,但是能直接提供 linux 固件更新程序的厂家却不多。不过在 Rocky Linux 中,可以借助 fwupdmgr 这个工具,来实现硬件的固件升级,操作也很便捷。
一、安装 fwupdmgr
Rocky Linux 8 及以上版本通常已预装了 fwupdmgr 所在的 fwupd 包,如果未安装,可以在“终端”中执行下面的命令,安装 fwupd 包:
sudo dnf install -y fwupd二、使用 fwupdmgr 刷新固件元数据:
在检查固件是否有更新版本之前,建议先执行以下命令,刷新本地的固件元数据,以获取 LVFS (全称是 Linux Vendor Firmware Service,即 Linux 厂商固件服务)上的最新信息:
sudo fwupdmgr refresh三、使用 fwupdmgr 查看是否有可用的固件更新
执行以下命令,查询是否有更新:
sudo fwupdmgr get-updates执行完毕后,它会列出所有检测到有新版本可用的设备及其当前版本和新版本信息。

四、执行硬件固件的更新
执行以下命令,可以对所有可升级的硬件固件进行升级:
sudo fwupdmgr update如果只更新指定的单个设备,可以先通过 get-devices 找到它的 Device ID(执行命令:sudo fwupdmgr get-devices 进行查找),然后在命令后附上该 ID:
sudo fwupdmgr update此时 fwupdmgr 就只会更新指定硬件的固件
五、、重启计算机
固件更新完毕之后,一般建议是重启一下计算机,让新版固件生效。当然,人最好也在计算机旁边,这样在设备出现问题、无法启动设备的时候,可以第一时间介入处理。
六、验证更新
可以重新执行一次以下的命令:
sudo fwupdmgr get-updates
sudo fwupdmgr refresh如果提示“No updates available”的时候,表示在当前 fwupd 配置、已启用的远程仓库(如 LVFS)和当前元数据范围内,在受支持的设备固件已经是最新版了。
最后说两点,第一是 fwupdmgr 里能更新的固件,一般都是较为知名企业的硬件固件,一些小厂的固件,可能没办法使用本工具进行更新,第二是在 fwupdmgr 在 Ubuntu/Debian 下也能用,如果系统没有安装的话可以执行 sudo apt install fwupd 进行安装,使用方法和 Rocky Linux 的基本一致。