nv-uefi-unlocker v2.1.12-rc1
STAGING-FALLBACK:≥4GiB staging 读不可达时的一次自动低位重试 / One automatic LOW-band retry when ≥4GiB staging reads go undelivered
Pre-release(候选版)。默认行为在健康机器上与 v2.1.11 逐字节一致;台架双臂已于 2026-11-09 跑毕全绿(见下),现欠 0x89 实机的现场回收。
⚡ 性能:从 loader 起跑到交棒 Windows 引导链 ≈2.8 秒 / Speed: ~2.8 s from loader start to the Windows boot chain
维护者台架实测(TU106 + 引导盘为内置 SATA Samsung 850 EVO 1TB,速度栈 = \i_know_what_i_am_doing.txt 首行写 0 + \tx-quiet.txt + \tx-ultrafast.txt + \tx-no-console.txt):log 113ms → CHAIN: LoadImage 2835ms,全程 ≈2.835 秒。
该数值与 GPU 数量及整机硬件配置直接相关,本节实测机的配置:主板 = ASUS Z170-A,CPU = Intel 10980HK ES(QTJ1 魔改——笔记本核心上 1151 针脚转接座)@ 4.7GHz,内存 = DDR4-2720 MT/s @ 15-18-18-34,GPU = 单张 RTX 2070(TU106)。多卡机器逐卡串行跑完整事务会按卡数累加;更慢的存储/内存/CPU 会让资产读取与 FWSEC/BOOTER 阶段相应拉长——2.8 秒是"单卡 + 本节硬件 + 速度栈全开"的读数,不是全机器承诺值。
同机演进阶梯(每级参照系都给出):
| 阶段 | 实测 | 参照 |
|---|---|---|
| v2.1.8 代(诊断全开、全量回显) | 22.1 s | issue #38 基线(同一台架) |
| v2.1.9(quiet + armed 5s) | 17.2 s | issue #38 实测(同一台架) |
| rc1(ultrafast + no-console + armed 1s) | 3.2 s | 本版首日实测(log 113→3205ms) |
rc1(armed 首行 0)
| 2.835 s | 本节(log 113→2835ms,0s countdown elapsed - PROCEED @1187ms)
|
快在哪里、什么没有被省掉:\tx-ultrafast.txt 跳过的全部是纯诊断探测(M1 冷态采样、GOP 探测、AUTH-SCAN、ROOT-DIR 转储、FEAT sweep、POST-GOP 探针、CHAIN-MEMMAP、金丝雀);\tx-no-console.txt 把慢速 GOP 文本回显的成本归零;flush 稀化到事务锚点。资产照旧全量读入内存,裁决链读回一个不少——selector 写读回、WPR2/POST-BOOT 判定、booter 载入审计、HANDOFF-OUT 全在日志里:速度不是用验证换的。armed 0 = 只读预备一完成立即 PROCEED,中止窗 = 预备窗本身(预备期间按键仍中止)。
背景:staging 带要求按机器双向分化 / The staging-band requirement is machine-dependent in both directions
Turing 20 系上,booter 对 WprMeta/signature/radix staging 的 DMA 读取可达性存在两类方向相反的平台实证:
| 类 | 实证机器 | HIGH(>4GiB)staging | LOW(<4GiB)staging |
|---|---|---|---|
| ≥4GiB 不可达 | #74 1e04 2080 Ti 22G(TB4 eGPU)、#156 1e93 2080S-M(DGFF,Area-51m R2,首个非 TB)、#191 1ed1 2070S Max-Q(Legion 7 内屏)
| booter 0x89 | ✅ |
| sub-4GB 读锁(反方向) | #16 1f14 2070(Clevo 准系统)
| ✅ | booter 0x91 |
| 两头堵 | #57 1e02 TITAN RTX
| 0x11 | 0x91 |
| 多数机器(含维护者台架 TU106) | — | ✅ | ✅ |
0x89 的判据链(GA 明文码表 0x2784=二次魔数比对失败 + 宿主侧 magic 完好):写侧落盘、读侧未送达——这正是"≥4GiB 不可达"类的唯一定义性签名,也是本版自动回退的门控条件。
新行为 / New behavior
默认(HIGH staging,driver-exact,不变)下,若 booter halt 时 mailbox0=0x89 且宿主读回 meta magic 完好(0xdc3aae21371a60b3):
- 释放死掉的高位缓冲,整组 staging(meta/signature/radix+RM image/boot image)经
\tx-low-staging.txt同一条分配路径重落低位(booter 镜像本身走 portal 不走 DMA,原地不动); - 单次重点火,无 FLR——此刻 PLM 未开、零解锁写入,无状态需要保护,fire 自带 B-reset;
- 成功 → 日志
STAGING-FALLBACK: LOW-band retry verified - staging rebound to the LOW buffers (staging=low(fallback)),事务照常走完; - 回退也失败 → 走既有失败路径并打印提示(VT-d 开则两个带都不可达(#74 定案)——查 BIOS VT-d 与 DMA-PATH BME 行)。
门控拒绝(不触发回退,直接走原路径):0x91/0x8a/0x0B/0x11/0x31 等非 0x89 状态、宿主 magic 损坏(缓冲侧 bug)、低位已强制(\tx-low-staging.txt 在位)、\tx-force-continue.txt 实验位。每次引导至多一次重试,无循环。
旋钮不变:\tx-low-staging.txt 仍可直接强制低位(跳过整个回退路径);\tx-fwsec-high-staging.txt 照旧。GA10x/Ada 不经此路径(其低位默认本就经田野验证)。
新控制门随本版进入发布线 / New knobs shipping in this build
这三个旋钮此前只在 main/本地构建存在,本版起随发布线交付(完整行为表见 FAQ 标记表):
| 标记 | 行为 |
|---|---|
\tx-ultrafast.txt
| 速度档:跳过全部纯诊断探测(M1 冷态采样、GOP 探测、AUTH-SCAN、ROOT-DIR 转储、载荷后 FEAT sweep、POST-GOP 探针、CHAIN-MEMMAP、复位金丝雀),折叠 quiet + 仅事务锚点 flush(~80 次/轮 → ~15 次/轮)。裁决链读回一个不少:selector 写读回、WPR2/POST-BOOT 判定、booter 载入审计照跑——读回是唯一成功判据 |
\tx-no-console.txt
| 完全不回显(慢速 GOP 文本输出的回显成本归零)。确认提示不可见——必须与 armed 同用(armed 倒计时内任意键仍中止);与 \tx-no-log.txt 同置 = 全程零输出,挂死时屏与盘两处都无证据,只建议已多轮验证的机器用
|
\tx-no-log.txt
| 不开 \loader.log(全程仅 console 输出)。挂死即零取证,同样只与 armed + 已验证机器同用
|
实测速度 / Measured speed
首日 3.2 s(armed 1s)与 2.835 s(armed 0)两轮的完整日志都在证据目录 docs/evidence/tu106-1f07/rc1-staging-2026-11-09/(commit 记录见本仓库 main)——演进阶梯与口径见文首"⚡ 性能"节,此处不再重复。
交棒行为变化 / Chain behavior changes
- OS loader 不再预载内存,但高级启动项索引解析原样保留:v2.1.9 起曾把 bootmgfw 提前 LoadImage(TOTORONG 工艺 P2-7),#198 九格矩阵中"预载 + 脏卡"与每轮交棒后硬挂死逐一对应,故本版起默认回到事务后链载,
\tx-preload.txt变 opt-in(复现旧行为用)。预载原有的鲁棒性动机(FLR 后分配面退化时链载失败)由固件 BootOrder 索引解析链覆盖(Pass 0.5,#128/#142 双 ESP 修复;跨盘残留判例 #204 的防护不变)——链载目标解析的鲁棒性没有随预载一起退场。 - armed 秒数 0 合法:
\i_know_what_i_am_doing.txt首行写0= 不等待——只读预备(枚举/选卡/资产读入)一完成立即 PROCEED,中止窗 = 预备窗本身(预备期间按键仍中止);此前钳到 1 秒。
本版同时携带:Turing 交棒默认门开(不再 relock)/ Also in this build: Turing hands off with the FEAT gate OPEN
v2.1.11 及以前,Turing 交棒前默认把 FEAT PLM relock(日志 TU10X PLM relock: plm=0xffffffef,bits 5:6 sticky-open)。本版起三代一致:默认门开交棒——SS 覆盖值本就是载荷本体且为 AON(FLR 都打不回),门开把系统内写入面开放出来(ssdiag --reapply 的 Turing 限制具备解除条件),TU106 台架端到端坐实门开无害:系统内 ssdiag 实测 PLM 回读 0xffffffff(OPEN)、SS=88888888、READOUT=0x00000000 full speed(见 docs/evidence/tu106-1f07/keep-open-2026-11-08/)。想恢复旧的交棒锁门形态:\tx-relock.txt(三代通用退出阀)。判读注意:HANDOFF-OUT 尾部重读的四个 FEAT 字段(ss0/ss1/readout1/feat_plm)在 native-GOP console 重建成功绑定后会读到 0xbadf5040——这是卡自家 GOP 驱动绑定期的读窗 artifact,门开与 relock 两臂都有(权威判读=同一行的 tu10x: 元组与系统内 ssdiag,#125 教训),不代表门被重关。
为什么默认仍是 HIGH / Why the default stays HIGH
真驱动把 meta stage 在 >4G(live dump 0x110BB0000)——HIGH 是 driver-exact 形态,保护的是 #16 那一类 sub-4GB 读锁机器;翻 LOW 等于拿一类换另一类。自动回退让"高位不可达"类不再需要手工定位,同时 STAGING-FALLBACK 行保持该类分布数据可见(不被静默修复吃掉)。
判读速查 / Log reading
STAGING-FALLBACK: ... one retry in the LOW band— 回退已触发(你的平台属于上表第一类);staging=low(fallback)— 回退成功,解锁正常交付;LOW-band retry failed as well— 两个带都不可达:优先查 VT-d(开则全死,#74 四格矩阵),其次桥 BME;- 未出现任何
STAGING-FALLBACK行 = 默认路径一次通过(多数机器)。
验证状态 / Verification status
- sim:t34–t39 六场景新增(回退恰一次恢复 / 两头堵收敛 / 0x91 镜像类不触发 / magic 损坏不触发 / LOW 强制负控 / 健康多数不进门),全套 172 passed;
- 构建:tx 与 readonly 双变体 check_efi 终验通过(tx
460288B / readonly188416B); - 真机(2026-11-09 已跑,双臂全绿):TU106 台架双臂收官——HIGH 负控:meta 落
0x10001f000(与 #156 毒机完全同段)mailbox0=0x0全绿,全程零STAGING-FALLBACK行(健康机门零误触);LOW 臂(\tx-low-staging.txt):全 LOW 分配、全绿、零回退行,且系统内 ssdiag 实测 PLM=0xffffffff(OPEN)+ SS0=0x88888888 + READOUT=0x00000000(full speed)——rc1 门开交棒在 OS 侧活体确认。证据入档docs/evidence/tu106-1f07/rc1-staging-2026-11-09/(commit 3b6c2de)。台架无法行使的只剩一条路径:真 0x89 机器上回退真的开火——手上是 0x89 机器的报单者:此构建值得优先试(#156/#191/#74 任一 issue 附日志即可)。
下载 / Downloads
BOOTX64.EFI.2.1.12-rc1— tx 构建(含解锁事务;SHA-256 见SHA256SUMS.2.1.12-rc1)BOOTX64.EFI.readonly.2.1.12-rc1— 只读构建(无 GPU 写路径,日志/诊断协议同前)- 制盘步骤不变(
make-usbroot+ 资产生成照 v2.1.11 文档);只换EFI\BOOT\BOOTX64.EFI即可从 v2.1.11 升级。 - 资产换件记录(2026-11-09 第二版):本页 EFI 于 rc1 发布数小时后原位重传,新增 armed
0秒支持(STAGING-FALLBACK 逻辑零改动,仍为 e2217b2 同源)。新 tx shafffde6bc…/ readonlyd4c2c097…,以本页SHA256SUMS.2.1.12-rc1为准;此前引用bece7118…/1ee6246a…的旧 hash 作废。
Full changelog: v2.1.11...v2.1.12-rc1