Windows での GPU Unlock

impacifist/Windows-GPU-UNLOCK の Windows ルート。UEFI アプリがアンロックして Windows Boot Manager をチェーンロードするため、Linux に再起動せず純正の Windows ドライバのままアンロック状態を維持できます。

本サイトの Linux モジュールは NVIDIA ドライバより先に読み込む必要があり、そのために Linux へ再起動します。このプロジェクトは逆です。自分でビルドした UEFI アプリが同じレジスタ書き込みを行い、同じ起動の中で Windows Boot Manager に制御を渡します。カードは純正の Windows ドライバのままアンロックされた状態で立ち上がります。

Windows 用インストーラー

本サイトは固定した v0.3.1 のソースアーカイブからセットアッププログラムをビルドします。インストールされるのはスクリプト・ドキュメント・ライセンス、つまりソースのコピーです。ビルド済みの成果物は含みません。EFI イメージは自分のパーティション構成に対して手元でコンパイルする必要があるためです。ファームウェアのダンプとドライバ DLL は含められません。したがってこのインストーラーが省くのはチェックアウトの手間であって、アンロックの手間ではありません。

インストーラーをダウンロード — GPU-Unlock-Windows-0.3.1-Setup.exe

固定ソースv0.3.1 (9352abd27480)
インストーラーの SHA-256de4206e1a207597060256b63ea09245ff6acc259c26f97db5a5c50c9ace2aa35
ソースアーカイブの SHA-256d81ddec78fb260f6e9bbb0e5d66d4b9d168dbe53222813d2cce9c2e29e07d9c6
上流のリリースimpacifist/Windows-GPU-UNLOCK v0.3.1

.sha256 ファイルをダウンロード

未署名かつ非公式です。NVIDIA、ASUS、impacifist のいずれも配布していません。Windows は不明な発行元として警告します。スクリプトを実行する前にアーカイブの SHA-256 を自分で照合し、ビルドの前に互換性ページを読んでください。ビルド成功はアンロックの許可ではありません。

3 つの起動ルート

EFI ペイロードは同じで、Windows の前に置く方法が 3 つあります。1 つを選ぶもので、順番に進む手順ではありません。コマンドは固定版のドキュメントからそのまま転記しています。

1. 固定版のソースを取得

既定ブランチではなく v0.3.1 タグを複製します。ドキュメントと EFI ビルドはそのリビジョンに結び付いており、スクリプトが書き出すローカルファイルはリビジョン間で持ち運べません。

git clone --branch v0.3.1 --depth 1 https://github.com/impacifist/Windows-GPU-UNLOCK.git
cd Windows-GPU-UNLOCK

2a. USB メモリ(パーティション変更なし)

通常の FAT32 メモリを使います。パーティションの作成・縮小・種類変更は行わず、ファームウェアの起動エントリも登録しません。ツールは 5 つのアセットのサイズとハッシュを検証し、新しいローカルフォルダーを出力します。中身は自分でメモリのルートへコピーします。

python .\tools\prepare_usb.py --assets .\assets --output .\usb-package

2b. 専用の内蔵 ESP

少なくとも 1 GiB の GPT FAT32 EFI システムパーティションを、バックアップ後に手作業で用意します。Configure.ps1 は無視対象のローカルファイルを書き、Build.ps1 はハッシュ契約付きのラッパーと子プロセスをコンパイルします。どちらも起動設定を変えません。

.\internal-boot\Configure.ps1 -UnlockDriveLetter U -WindowsEspGuid 'WINDOWS-ESP-GUID-HERE'
.\internal-boot\Build.ps1 -Clang 'C:\TOOLS\LLVM20\bin\clang.exe' -LldLink 'C:\TOOLS\LLVM20\bin\lld-link.exe'

3. 配置し、必要なら登録

配置だけでは起動エントリ、起動順、高速スタートアップのいずれも変わりません。-Register は独立した F8 エントリを追加し、既存の起動優先順位を保ちます。記録された起動方法は F8 → GPU Headless UNLOCK で、その後にキーを押しません。

# Stage only: no boot entry, boot-order or Fast Startup change.
.\internal-boot\Headless.ps1 -Assets '.\assets'

# Stage and append a separate F8 entry, retaining existing boot priority.
.\internal-boot\Headless.ps1 -Assets '.\assets' -Register

元に戻す

文書化された 1 つのコマンドで Windows が再び先頭になります。スクリプトが書くローカル状態とバックアップは残してください。復旧の入力であり、配布物ではありません。

.\internal-boot\Headless.ps1 -RestoreWindowsFirst

自分で用意する 5 つのファームウェア

パッケージツールと UEFI アプリの双方がハッシュ不一致を拒否するため、近いバージョンでの代用はできません。合法的に入手した NVIDIA の入力から、固定版の上流パイプラインで生成します。本サイトが示すのは手順であり、ファイルではありません。

  • booter_load_ga102.bin
  • v67-ga102-610.43.03.bin
  • gsp_ga10x.bin
  • gsp_boot_ga102.bin
  • gsp_boot_desc_ga102.bin

ここにもインストーラーにも含まれません。NVIDIA ファームウェア、VBIOS/PROM ダンプ、ドライバ DLL、そして特定の分区に結び付いた非公開の EFI バイナリです。生成した NVIDIA ライセンスと通知も一緒に保管してください。

記録された唯一の成功例

1 台、1 枚、1 回の起動。2026-10-24、ASUS BIOS 3057 上の RTX 3090 Founders Edition です。これは記録値であり許可リストではありません。コードは構成、PROM、コールド状態、ドライバのコードを再確認し、一致しなければ拒否します。

カードNVIDIA RTX 3090 Founders Edition, 24 GiB
PCI 識別子10de:2204 / subsystem 10de:1454
GPU BDF0000:01:00.0
マザーボード / BIOSASUS TUF GAMING B650M-PLUS WIFI / BIOS 3057
CPUAMD Ryzen 7 7800X3D
Windows / ドライバWindows 11 Home 26200 / NVIDIA 617.14
起動モードx64 UEFI / Secure Boot disabled
PROM SHA-2568ea297373e9e5d3600ff41ad9fae88f2d14c98c017d100669f7333981da673b4

同一カードでの実測

同一カード・同一ドライバ 617.14 で、アンロック前後それぞれ 3 回の中央値。CUDA 12.6 / cuBLAS。単位は TFLOPS。

ワークロード前後変化
FP1670.55125.91+78.5%
BF1670.53128.70+82.5%

Linux モジュールとの違い

本サイトの Linux モジュールは常駐し、毎回の起動で実行され、カーネルコマンドラインでカードごとに opt-in します。こちらは 1 回限りの UEFI アプリで、特定のパーティション GUID とファームウェアプロファイルに固定されています。アンロックして Windows をチェーンロードし、その後は常駐しません。カーネルパラメータも initramfs の drop-in も DKMS パッケージもありません。

試すかどうかを決める制約

1 台の PC 向け

実行ファイルは実測した PCI/PROM/MMIO プロファイルと特定のパーティション構成に結び付いています。別のマシンには移植が必要で、互換性レポートでは代わりになりません。

ファームウェアは自分で用意

5 つのアセットは自分で生成する入力です。なければパッケージ段階のハッシュ検証を通らず、インストーラーにも入れられません。

検査を迂回しない

事前検査は、コードが一致しないマシンで release を止めるためにあります。これを飛ばすことが、起動失敗を黒画面や起動不能に変える原因です。

長期の結果はない

記録されているのは 1 回の成功起動、1 回のベンチマーク、1 回の Windows セッションです。長期安定性、他のゲーム、実負荷のスループットは別の未検証の問いです。