1. 当前位置: 网站首页 >  NAS >  NAS里的固态盘固件想升级,Windows那套工具搬不过来,我趟出来的路就两条

NAS里的固态盘固件想升级,Windows那套工具搬不过来,我趟出来的路就两条

NAS固态硬盘固件升级路线图:fwupdmgr命令四步、Windows官方工具拆盘升级、M.2转接卡与USB硬盘柜两类升不了的盘对照

这事接的是我上一篇文章的尾巴。那块当缓存的致态SC001 256G,掉了一个月盘,最后定位到是省电机制跟主控固件犯冲,我把硬盘休眠关了才消停(这段排查的完整过程写在固态盘隔三差五消失那篇)。消停归消停,我心里一直惦记着官网固件页上那行字——「修复部分平台下设备意外断开的问题」,说的不就是我这病?Windows下升级是傻瓜式的,装个致态的ToolBox,点一下,三十秒完事。可这块盘现在插在飞牛NAS的SATA口上,事情从这里开始不对劲。

第一步就卡住:官方工具没有Linux版

我把NAS的SMB共享当网盘用惯了,第一反应是想当然的:把固件升级包下到共享文件夹里,SSH进飞牛双击运行——哪来的双击,命令行我也认。结果翻遍致态官网,固件工具只给了Windows一个版本,exe后缀。我又去翻三星、铠侠、英睿达的页面,一个赛一个整齐:Magician、SSD Utility、Storage Executive,全是Windows和macOS的。这不难理解,全世界99%的固态盘装在Windows机器上,厂商没动力给Linux做图形工具。

但Linux用户不是没有路,只是路不在厂商手里。我后来才知道有个叫fwupd的东西,是GNOME社区维护的开源固件更新框架,Ubuntu和Fedora装了七八年了,Debian系的飞牛也有。它把各家固态的固件包收进LVFS(Linux Vendor Firmware Service)这个仓库,一条命令查、一条命令升。支持名单里有致态、铠侠、三星这些大牌的不少型号,但不是全部,这是后面踩坑的伏笔。

飞牛上跑fwupdmgr,先确认盘认不认

SSH进飞牛,先看装没装:dpkg -l | grep fwupd。我这台装是装了,版本停在两年前。接着跑 fwupdmgr get-devices,把能管理的设备列出来。我那块致态SC001没在列表里——它的固件没上LVFS仓库,fwupd想帮也帮不上,这类盘不在少数,尤其国产盘和老型号。倒是列表里躺着另一块铠侠RC20,是以前台式机退役下来的下载盘,系统识别到了,还标着「Updatable」。

铠侠这块既然认了,我就顺手走了全流程:fwupdmgr refresh 先刷新固件元数据(需要联网到LVFS),然后 fwupdmgr get-updates,有新版会列出从哪个版本升到哪个版本。真升是 fwupdmgr update,它会把固件写进盘里,全程一两分钟。有个细节值得记:升级过程中盘会短暂断开重连,Linux这边的处理是稳的,但我升完还是习惯性重启了一遍飞牛再挂存储池——固件这种东西,宁可信它需要一次干净的冷启动。后来一年多,这块铠侠再没出过状况,虽然它本来也没病,这次属于白升,但流程趟通了。

路子适合谁代价
fwupdmgr 直接升盘在LVFS支持名单里SSH两条命令,十分钟
拆盘接Windows机升不在名单里的任何盘拆机+关机+数据盘下线
不升,绕开问题病根在省电/兼容,非固件bug零,代价是关掉休眠

致态那块最后怎么弄的:拆下来,接电脑

SC001不在fwupd名单里,官方工具又只有Windows版,剩下唯一的正路就是物理搬运。我挑了个周末,飞牛后台先把缓存从存储池里拆掉(这一步千万别偷懒,缓存盘带池拆下来,到Windows上只读摸两下没事,但池子会一直报异常),关机,拧下盘,用一个USB转SATA的小盒子接到我台式机上。装致态ToolBox,认盘,点固件升级,四十秒刷完,重启一次,固件版本号从1.2升到2.0。装回NAS,重新挂缓存,到今天四个月没掉过盘。

这里有个账要算清楚:这么折腾值不值?我的情况是盘本来就掉、固件更新日志明写了修这个bug,值。反过来讲,如果你的盘好好的,只是官网出了个新固件,我劝你歇着。固件升级有小概率翻车,Windows下升级失败顶多重试,NAS上要是系统盘升坏了,整个机器都得重装。我自己的规矩跟当年给路由器固件立规矩时一样:没病不升,升前备份,升的是系统盘就想好退路。这条规矩最早是路由器固件降级救砖那次立的,后来我发现它对NAS、对摄像头、对扫地机全都成立,设备固件这东西,稳定压倒一切。

还有一类盘,压根升不了也接不了

最麻烦的是装在M.2转接卡上的盘,或者插在USB硬盘柜里的。我在PCIe转接卡那篇里写过,转接卡上的盘要从BIOS枚举层面走,fwupd在飞牛里能不能看见它都两说——就算fwupd看见了,写固件要走的通道和普通读写不是一条,转接卡和USB桥接芯片要是把这条通道挡了,升级会卡在半路,那个状态比不升还糟。USB硬盘柜里的盘更直接,fstrim都传不过去的东西,别指望固件指令能穿透。这类盘想升固件,只有拆出来直插主板这一条路。

群晖用户也别觉得这事跟自己无关。群晖的DSM里没有固态固件管理的任何入口,套件中心不提供,SSH里fwupd默认还没装全——群晖的固态基本是「买来什么固件就用到退役」。真要升,同样得拆盘上电脑。所以买群晖或者飞牛的机器配固态缓存,我现在的建议比以前多了半句:优先挑大牌,别只看便宜几十块,杂牌盘的固件没得修这个因素,等你掉盘掉到抓狂的时候才知道值钱。

升完之后怎么验证不是白升

固件版本号本身可以核对:fwupd下用 fwupdmgr get-devices 看Version,Windows下ToolBox界面直接显示。但版本号变了不等于病治了,真正的验证是让原来的故障场景再跑一遍。我的做法是把之前关掉的硬盘休眠重新打开,让它回到最容易掉盘的状态,跑了两周,日志干净,这才敢下结论说固件把这个bug修了。要是开回休眠又掉,说明锅不在固件版本上,老老实实把休眠关回去,别跟它较劲。

顺带交个底,掉盘修好之后我的年检清单加了一项:fwupdmgr get-updates 跟着smartctl一起跑,一年看一回。有新版不等于要升,看一眼更新说明里有没有跟我症状对得上的条目,有就升,没有就跳过。固态盘这东西在NAS里活得久,五年前买的盘到现在固件还出安全补丁的情况也有,顺手看一眼的成本几乎为零。

最后把我这轮的顺序留给要办事的人:先查 fwupdmgr get-devices 看盘在不在名单里,在就refresh加update两条命令搞定;不在名单,关机拆盘接Windows机器用官方工具;盘在转接卡或硬盘柜里的话先拆出来直插;系统盘升前务必想好退路。至于没掉过盘、没报过错、只是版本号旧一点的——关掉这个页面,该干嘛干嘛去。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《NAS里的固态盘固件想升级,Windows那套工具搬不过来,我趟出来的路就两条》
本文地址:https://www.shunot.com/nas/1559.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

呲牙 jie 开心 doge 坏笑 爱心 傲慢 抱拳 闭嘴 擦汗 发呆 鼓掌 害羞 憨笑 抠鼻 耍酷 泪奔 冷汗 流汗 难过 撇嘴 亲亲 色 喷血 调皮 偷笑 托腮 委屈 我最美 无奈 小纠结 笑哭 斜眼笑 阴险 疑问 晕

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注