10 月 30 日,Rufus 4.16 Beta 上线。
这是个做 Windows 启动盘的开源工具,免费。装机前要把 ISO 写进 U 盘的人,大多见过 Rufus。
更新日志的第一句不是新功能,是骂人。
「终于绕过了那个愚蠢的 AMI NTFS 驱动程序缺陷。」
第二句更实在,说要让 UEFI 环境下那次文件校验,终于在 AMI 搞砸的那批 PC 上正常干活。

一个免费工具,替主板固件兜底。这事值得掰开讲,它解释了不少人装系统时踩过的那个坑。
文件没坏,坏在读盘的那段固件里
先把症状摆出来。
同一张 NTFS 格式的 U 盘,同一个可启动 ISO。在 Windows 或 Linux 里校验文件,一切正常。
换到 UEFI 环境再校验一次,报错。
文件没动过,盘也没坏,变的只是谁在读这块盘。
出问题的是 AMI 的 UEFI NTFS 驱动,版本 0x10000。这个版本装在华硕、技嘉、戴尔、英特尔等厂商的主板或整机固件里。
AMI 是给主板厂提供固件组件的公司,UEFI 里读 NTFS 盘的那段代码就出自它。
触发条件也不复杂,NTFS 上的文件被拆成不连续的簇,数据散在盘的不同位置。
这时候驱动按图索骥,可能把不属于目标文件的数据一起读进来,UEFI 下的校验就对不上了。
偏偏是 NTFS 盘,是因为 Windows 安装镜像过了 4GB,FAT32 就装不下,做启动盘只能走 NTFS 或 exFAT。NTFS 这条路,正好压在这段驱动上。
打个比方。目录卡上写着第 3 页是正文,可书早被拆开重装过一遍,翻过去拿到的是别人的段落。

最早是在测 NTFS 介质上的可启动 ISO 镜像时撞见的。当时没人往固件上想。
报上去两年多,AMI 认了,主板厂不更
Rufus 作者 Pete Batard 的说法是,团队 2024 年初就把问题报给了 AMI。
我们算一下这段时间:从 2024 年初报到 10 月 30 日发版,两年零十个月。
AMI 的答复不复杂,问题存在,修复没有。
固件这条链还长。AMI 出组件,主板厂集成,整机厂再封一版,最后推到用户手里。中间哪一环不想动,更新就到不了机器上。
主板厂的固件更新本来就不勤,老主板更是没指望。最后买单的还是装机的人。

等不来补丁,Rufus 只能自己绕道。
4.16 的绕法不玄乎,写 NTFS 介质时保证文件连续落盘,别让文件散成一堆簇,驱动就没机会读错。
一款写盘工具能动的也只有这一头。固件握在别人手里,它只能决定自己怎么把文件落下。
这只是绕过,没把固件修好。盘上那个坑还在,只是 Rufus 写出来的盘踩不到。
受影响的面不小,Batard 用的词是数百万台。
自查也不难,一张启动盘在系统里校验正常,进 UEFI 就报错,大概率就撞在这上面了。
手上正卡着这个报错的,拿 4.16 Beta 把盘重写一遍,文件连续落盘,校验就能过。

下一个坑,还等哪个免费工具来绕
4.16 里剩下的更新,大多是这种补漏。
USB 3.2 以上的设备终于报得对了,作者顺手在日志里怼了 USB 论坛一句:3.2 是 20Gbps,4.0 翻一倍到 40,4.1 再翻到 80,分清楚并不难。
CA 2023 的证书文件补进了校验。「以 ESP 方式写入」会把整块盘吃掉的那个回归也修了,现在只占预期的 1GB 分区。
内嵌的 GRUB 升到 2.16,另外修了几个安全漏洞,日志里点了四位报告者。

这些活本来不该由一支免费的装机工具来干。
固件是整台机器的地基。地基歪了,上面的软件只能各修各的,谁也不知道下一个坑埋在哪块板子上,最后踩坑的总是同一批人。
下一次固件里再埋一个这样的缺陷,还要等哪个免费工具替它绕过去?
评论区