前言
最近处理了一块三星 PM9A1 2TB OEM SSD:
Model: SAMSUNG MZVL22T0HBLB-00BTW Firmware: GXB7401Q Capacity: 2TB这块盘存在一个比较麻烦的问题:虽然 PM9A1 2TB 已经有较新的GXB7801Q固件,但网上常见的 7801 固件升级包主要针对:
MZVL22T0HBLB-00A00 MZVL22T0HBLB-00B00因此,使用三星
SSDManager.exe / flash.cmd更新时,会直接报错:
Samsung SSD Manager Version 2.0.10.4.0 [ERROR]: There is no valid target disks但是固件不更新不行。三桑硬盘的0E问题非常严重,参考https://www.chiphell.com/forum.php?mod=viewthread&tid=2443478&extra=page%3D1&page=1
正常的更新固件方法只能给公版的00B00或00A00更新。利用windows自带的NVMe Firmware Update 接口,可以实现给00BTW更新固件。
一、警告
首先说明:
本文中的
00BTW → GXB7801Q属于非官方支持的 cross-flash。
三星公开的 7801Q 升级包并没有明确将00BTW列为支持型号。
我的设备实测成功,不代表所有MZVL22T0HBLB-00BTW都一定能够安全升级。
刷写 SSD 固件存在:
- 数据丢失
- SSD 无法识别
- 固件更新失败
- SSD 变砖
等风险。
请务必提前备份重要数据。
本文只建议用于与我相同的型号:
SAMSUNG MZVL22T0HBLB-00BTW 2TB GXBxxxxQ firmware branch不要把本文命令直接套到其他 PM9A1 容量、SED 型号或者其他 Samsung SSD 上。
二、我的硬盘状态
我的电脑中有两块 PM9A1 2TB:
Get-CimInstance Win32_DiskDrive | Select-Object Model,FirmwareRevision,Size最初输出为:
Model FirmwareRevision ----- ---------------- SAMSUNG MZVL22T0HBLB-00B00 GXB7701Q SAMSUNG MZVL22T0HBLB-00BTW GXB7401Q三、安装步骤
首先使用管理员 PowerShell 获取目标 SSD:
$pd = Get-PhysicalDisk | Where-Object FriendlyName -eq "SAMSUNG MZVL22T0HBLB-00BTW"查看固件的更新能力
$pd | Get-StorageFirmwareInformation | Format-List *我的输出为:
SupportsUpdate : True NumberOfSlots : 3 ActiveSlotNumber : 2 SlotNumber : {1, 2, 3} IsSlotWritable : {True, True, True} FirmwareVersionInSlot : {GXB7301Q, GXB7401Q, }这一步可以看到,我的前两个slot是老固件,slot3可用。(没有选择覆盖是因为怕出问题恢复不了
然后,确认待升固件的硬盘的编号:
Get-PhysicalDisk | Format-Table FriendlyName,SerialNumber,UniqueId,HealthStatus找到目标盘对应的:
UniqueId之后用 UniqueId 精确锁定,例如:
$pd = Get-PhysicalDisk | Where-Object UniqueId -eq '<YOUR_UNIQUE_ID>'然后再次确认:
$pd | Format-List FriendlyName,SerialNumber,UniqueId,HealthStatus确保:
FriendlyName = SAMSUNG MZVL22T0HBLB-00BTW然后准备好待安装固件。我是2T硬盘,所以对应
GXB7801Q_Noformat.bin如果是1t,则是GXA。
在安装固件目录下,执行:
$fw = (Get-Item '.\GXB7801Q_Noformat.bin').FullName顺手但没啥用地保存一下SHA256:
Get-FileHash $fw -Algorithm SHA256确认好待写入硬盘后,执行:
$pd | Update-StorageFirmware ` -ImagePath $fw ` -SlotNumber 3 ` -Verbose如果要覆盖slot,就把slot改为1。到这里如果没有报错,固件则已经安装成功。在CrystalDisk中,已经显示为最新的7801。为了保险起见,我重启了系统,尝试下载了大文件,这次0E错误没有再增加了。看来成功给00BTW续了几年寿命。
撒花!