https://naba-san.hatenablog.com/


Intel HD Graphics 15.26.1.64.2618 を Windows 8 に適用する

古い Sandy/Ivy Bridge 向けのドライバを、新しい Ivy Bridge プロセッサに適用する、そんな夢を見た気がした‥要は INF を書き換えてドライバに自己署名を当てるお話です。

試してないけど、INF の書き換え方次第で、Windows VistaWindows 7 / 8 向けのドライバを適用する時とかにも使えるんじゃないかな?(※自己責任でお願いします。)
XP は間違いなく対応しないはず。

必要なもの

事前準備

大まかな流れとしては、INFの書き換え、証明書の作成&ルート証明設定、ドライバの自己署名、の手順。

ドライバの自己署名にあたって、幾つかのツール類が必要なので、Microsoft から拾ってきてインストールしておく。合計2-3GB程度の空き容量が必要。
Windows SDK には Microsoft Visual C++ 2010 再配布可能パッケージが含まれており、事前にインストールされていると競合してうまく入らない。エラーが生じる場合は事前にアンインストールしてリトライすること。

自己署名に必要なファイルは、一通りインストールしたらこの辺りに入ってる。

(x86環境‥推測)
C:\Program Files\Windows Kits\8.0\bin\x86\inf2cat.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\makecert.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

(x64環境:x86バイナリ)
C:\Program Files (x86)\Windows Kits\8.0\bin\x86\inf2cat.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\makecert.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

(x64環境:x64バイナリ)
C:\Program Files (x86)\Windows Kits\8.0\bin\x64\inf2cat.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\makecert.exe
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe (x86バイナリのみ)

作業手順

オレオレ証明

とりあえず、適当に証明書を作る。

makecert -r -n "CN=MyCompany" -ss MyCompanyCertStore  -sr LocalMachine

これでストア上に秘密鍵付きで証明書が作成される。

作成した証明書をコンピュータのルート証明として使う(オレオレ証明として設定する)。

  1. 「ファイル名を指定して実行」([Win]+[R])から「mmc.exe」を管理者権限で開く。
  2. [ファイル] > [スナップインの追加と削除]から「証明書」を追加し、「コンピュータ アカウント」から「ローカル コンピュータ」の管理を選び、決定する。
  3. 左半分のツリーの「MyCompanyCertStore」(さっき作ったやつ)の「証明書」に、先ほど作成した証明書が入ってる。これを、ツリー上の「信頼されたルート証明」⇒「証明書」へ右ドラッグ&ドロップし、コピーを選ぶ。

これで仕込みはOK。

INFファイルの編集
  • igdlh64.inf
    • DriverVerの日付を04/27/2012以降に設定する。
    • [IntelGfx.NTamd64.6.2] の辺りを全部削除する(綺麗に Win 8 を弾く記述なので)。
  • IntcDAud.inf
    • DriverVerの日付を04/27/2012以降に設定する。
    • [Manufacturer] の次行、Intel(R) Corporation の末尾に「, NTAMD64.6.2」を追記。

要は Windows 8 向けの設定が出来ていればOK。

カタログの作成
C:\Program Files (x86)\Windows Kits\8.0\bin\x86>Inf2Cat.exe /driver:"C:\Users\Ad
ministrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\Graphics" /os:Vista_
X86,Vista_X64,7_X86,7_X64,8_X86,8_X64
................................................................................
................................................................................
................................................................................
.........................
Signability test complete.

Errors:
None

Warnings:
None

Catalog generation complete.
C:\Users\Administrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\Graphics\
igdlh.cat
C:\Program Files (x86)\Windows Kits\8.0\bin\x86>Inf2Cat.exe /driver:"C:\Users\Ad
ministrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\HDMI" /os:Vista_X86,
Vista_X64,7_X86,7_X64,8_X86,8_X64
C:\Users\Administrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\HDMI does
 not exist.

C:\Program Files (x86)\Windows Kits\8.0\bin\x86>Inf2Cat.exe /driver:"C:\Users\Ad
ministrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\ibxHDMI" /os:Vista_X
86,Vista_X64,7_X86,7_X64,8_X86,8_X64
......................
Signability test complete.

Errors:
None

Warnings:
None

Catalog generation complete.
C:\Users\Administrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\ibxHDMI\i
ntcdaud.cat

カタログの署名
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>signtool.exe sign /s MyCompanyC
ertStore /n "MyCompany" /t http://timestamp.verisign.com/scripts/timestamp.dll "
C:\Users\Administrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\Graphics\
igdlh.cat"
Done Adding Additional Store
Successfully signed and timestamped: C:\Users\Administrator\Downloads\VGA_Win7-6
4_Vista64(v15.26.1.64.2618)\Graphics\igdlh.cat
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>signtool.exe sign /s MyCompanyC
ertStore /n "MyCompany" /t http://timestamp.verisign.com/scripts/timestamp.dll "
C:\Users\Administrator\Downloads\VGA_Win7-64_Vista64(v15.26.1.64.2618)\ibxHDMI\i
ntcdaud.cat"
Done Adding Additional Store
Successfully signed and timestamped: C:\Users\Administrator\Downloads\VGA_Win7-6
4_Vista64(v15.26.1.64.2618)\ibxHDMI\intcdaud.cat

一通り終わったら‥?

互換モードか何かでsetup.exeを立ち上げればOK。

‥おっと、忘れてました。Windows 8 は事前にテストモードで起動しておくことが条件。
管理者権限で「bcdedit /set TESTSIGNING ON」を実行して、再起動してから適用して下さい。