刷写 vBIOS 途中断电,我的自救复盘

a.k.a. 《一个学生不带脑子刷 vBIOS,这是他的显卡发生的变化》

太长不看:

若 N 卡在刷 vBIOS 的过程中遭遇意外断电,随后主板自检反复重启,例如 DRAM - CPU - VGA 灯轮流亮,请寻找 能够亮机并且拥有 PCIe 槽的设备 ,例如使用核显、亮机卡或者雷电接口显卡坞,开机过程中按住 Esc + C 进入 Windows 安全模式(或任意恢复系统,至少要阻止 NVIDIA 驱动加载),确定设备管理器中列出了损坏的显卡,再使用 nVFlash 刷回 备份的原 vBIOS

如果没有核显,则可能需要将坏卡接在主板的副 PCIe x16 槽位上。我将亮机卡接在副槽上时,主槽上接坏卡则仍然会反复重启;交换后才能正常启动。

如果亮机卡也是 N 卡,在刷写原 vBIOS 时需要手动指定设备序号:首先执行 nvflash64.exe --list ,此时应当会出现一个列表,其中格式如下:

<0> Graphics Card:XXXX……
<1> 亮机卡型号:XXXX……

这其中没有型号的显卡就是我们要救的卡,它的 index 此时为 0,假设备份的文件是 XXX.rom ,执行 nvflash64.exe --index=0 -6 XXX.rom 即可。

如果没有备份原 vBIOS,或者设备管理器 / nvflash64.exe --list 中没有看到显卡,则推荐寻求显卡制造商的帮助。

吃了什么堑

接下来就是更加琐碎的部分:整件事的复盘。我会将 一些关键步骤 标记出来,并且附上相应的解释,希望至少能让我自己记住哪些应该多做,哪些应该尽量避免。

前几天换掉原来用的丐 ATX 机箱,投入了先马趣造的怀抱。把所有线材一通乱理、机箱往桌面一搁,折腾完毕后烤机看散热时,我发现一个此前因为机箱在桌下而感受不到的问题:这玩意儿太 ** 吵了!

一通排查后发现,显卡的风扇控制不太妙。超过某个温度阈值后它直接满速狂飙,温度降到室温或者都停不住它的转动,必须完全断电再开机才能恢复到智能转速。MSI Afterburner、HWiNFO64 和 TechPowerUp GPU-Z 都没能读出风扇转速(一直为 0),尝试用 MSI Afterburner 控制时则会直接飙到满速。

于是 第一次犯傻 :我怀疑是不是这显卡,影驰 2060 大将,根本没有带风扇智能启停功能。毕竟这是一张丐版卡,资料都搜不到多少,我也做好了它没有带高级功能的准备。根据 Chiphell 上这篇帖子 所述,似乎这一特性确实因 vBIOS 而异,所以我说干就干。

事实上这并不是风扇智能启停的问题,而是风扇控制器的问题。负载低的情况下风扇转速是正常的,说明显卡至少还在自己控制转速,而为何转速高起来之后无法降下去,就是一个未解之谜了。

TechPowerUp VGA Bios Collection 上找好顺眼的 vBIOS 后,我非常理智地 使用 GPU-Z 备份好原有的 vBIOS ,随后进入带网络的安全模式,刷写新的 vBIOS 并且下好最新的 NVIDIA 驱动,使用 DDUDisplay Driver Uninstaller 卸载系统上原有的驱动后重启,发现在安装驱动后显卡输出直接黑屏。

这当然不对劲嘛,还好我备份了一份 vBIOS,能直接刷回去。于是我如法炮制,重启到安全模式, 第二次犯傻 :先使用 DDU 卸载并重启,卸到一半才意识到没有回刷 vBIOS 并慌忙开始刷。我 以为 驱动卸载会和此前一样耗时,而 vBIOS 只有 1MB 大,能够抢在重启前完成,没想到驱动没有完整安装,DDU 很快完成工作。当我意识到这一点时已经覆水难收,我看着 nVFlash 的进度条走到 20% 左右时突然黑屏,随后进入开头所述的重启循环。

眼看着对穷学生来说价格不菲的一张卡这样离我而去,我自然没有善罢甘休。我的 CPU 是不带核显的 5600X,显卡坞也已于数月前出掉,幸好此时主板上还有一根空闲的 PCIe 2.0x16 插槽(x4 速率、与第二根 M.2 冲突),并且出掉显卡坞前从家里拆来一张亮机卡 GT720 带来学校用于测试,它成了我唯一的希望。

我首先尝试将亮机卡插在这根空闲的副槽上,结果是无法启动,推测可能是 M.2 冲突,或者主槽的显卡没有拔掉。不管怎么样,要动第二根 M.2 就必须移除主槽的坏卡,所以我干脆直接连坏卡带硬盘一起去掉,然后见到了 1024x768 分辨率的熟悉锁屏界面。

此时「好耶」还太早,启动只是第一步,我还需要带着两块显卡一起启动。将坏卡插回主槽后,我再次尝试启动,结果又进入了重启循环。看起来之前插亮机卡不启动的问题很明确:主槽插着显卡的情况下,主板会尝试优先使用主槽显卡,若主槽显卡故障则不管副槽插没插卡都不会启动。

既然如此,只要是神志清楚的正常人都能想到:那我交换一下两张卡不就好?可惜, 我的脑回路似乎有一点不正常 ,我选择尝试 PCIe 热插拔。由于趣造是 ITX 大小的机箱,它下方没有留出额外空间,副槽插不下双槽高的显卡,要交换两张卡就必须拆出主板。「那也太麻烦了」,我心想,于是我先把亮机卡插入主槽启动进系统,试图 拔掉亮机卡并直接插入坏卡 。坏卡进槽的一瞬间,我看到了 PCIe 槽中打出的电弧。**我 *** 。

万幸,这张主板还算靠谱,这么折腾都没有坏,只是在打出电弧的一瞬间触发保护重启。不过我也不敢再来第二次,果断拆出主板,亮机卡插主槽坏卡插副槽,成功进入 Windows 安全模式。后续的操作很简单,确认设备管理器中认出显卡,确认 nVFlash 认出显卡,确认刷入 vBIOS 到坏卡,DDU 卸载驱动+重启,重新安装主板并理线,好耶!很有趣的是,这么一圈折腾下来,这破风扇控制器居然莫名其妙恢复了正常,真是咄咄怪事。

长了什么智

要二次确认。不是说 Yes, do as I say! 这种很可能不会看的工具提示,即使 nVFlash 在刷写前提示我三次要不要继续,我依旧想都没想选 Yes;「二次确认」是指干什么要在脑子里想明白,确认风险概率极低(例如除非全寝断电否则不可能突然重启)再行动。

备份十分重要。没有此前备份的 vBIOS,我的显卡大概在刷到其他厂商的 vBIOS 后已经寄了。之前很多次数据丢失也是以为无害的操作,不知哪一天就会变成杀「机」利器。这也进一步让我产生配置一台 NAS,或者至少是阵列柜 / 备份服务器的冲动。

要断电。热插拔显卡相较之下还算安全,至少最多干掉显卡不会干掉我,不过如果未来有朝一日我开着电修市电电路,可能送走的不只有一点钱,还要搭上我自己。

不要嫌麻烦。如果有看起来更麻烦但是怎么都更合理的选项,麻烦完全可以接受。因为「不合理」带来更多麻烦,那才是因小失大、自找麻烦。

没有了。希望我踩的坑能给读到这里的各位带来一点帮助。