概要
Windows 7 x64 環境で、フリーの Gavotte Ramdisk を使いたい。
ところが、Gavotte Ramdisk のドライバは署名されていないので、そのままでは x64 環境にインストールできない。
巷にはブート中に自動的に [F8] を押して、ドライバの署名を無視して、といった手法がみられるが、これはやりたくない。
そのため、オレオレ証明書を作り、自己署名することでドライバのインストールブロッキングを回避する。
x64 用ドライバは、rramdisk64.sys
なので、これを署名する。
下記で、署名パスワードは "hogehoge" にしているので、適宜変更すること。
※Vista 以降の環境では、コマンドプロンプトを「管理者として実行」にする必要あり。
ドライバを署名する
- Windows® Server 2003 SP1 Platform SDK Web Install に含まれている署名ツールをインストール
- 証明書(.cer)と秘密鍵(.pvk)を作る(パスワードはすべて同一のものを指定)
makecert -sv rramdisk64.pvk -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -ss Root -len 1024 -sr localMachine -n CN="rramdisk64.sys" rramdisk64.cer
-keu 1.3.6.1.5.5.7.3.3 はコード署名
CN="xxxx" は発行元
- 証明書(.cer)からソフトウェア発行元証明書(.spc)ファイルを作る
cert2spc rramdisk64.cer rramdisk64.spc
- ソフトウェア発行元証明書(.spc)と秘密鍵(.pvk)からキーペア(.pfx)ファイルを作る
pvk2pfx -pvk rramdisk64.pvk -pi hogehoge -spc rramdisk64.spc -pfx rramdisk64.pfx
- 署名ツールでターゲットファイルに電子署名する
signtool sign /f rramdisk64.pfx /p hogehoge /d "rramdisk64.sys" /v rramdisk64.sys
証明書のインストール
rramdisk64.pfx
を右クリックして「インストール」
- [パスワード] で hogehoge を入力し、「すべての拡張プロパティを含める」にチェック
- [証明書ストア] で「証明書をすべて次のストアに配置する」にチェック
- 「物理ストアを表示する」にチェック
- 「信頼されたルート証明機関\レジストリ」を選択
ドライバのインストール
ram4g.reg
をダブルクリックしてインストール
- 管理者権限で、普通にコマンドプロンプトを出す
- ブート構成データ エディタで、デジタル署名取得を無効化する
bcdedit /set TESTSIGNING ON
- PC を再起動
- 「ファイル名を指定して実行」で
hdwwiz
を入力し、ハードウェアの追加ウィザードを開く
- 「一覧から選択したハードウェアをインストールする」にチェックし「次へ」
- 「すべてのデバイスを表示」を選択して「次へ」
- 「ディスク使用」をクリック
- 「製造元のファイルのコピー元」で上記で証明した
rramdisk64.sys
のあるフォルダを指定
- これで次々と表示される警告にめげずにクリックしていくと成功
Ramdisk の作成
ramdisk.exe
を右クリックして「管理者として実行」
- 「Install Ramdisk」をクリック
- 今回は RamDisk を 5GB 使いたいので「Data Size」に「5G」と入力。プルダウンには 3G までしかないが、手入力 OK
- 「Drive Letter」も「R:」のままでいいので、そのまま
- Media Type も「Fixed Media」のままで OK
- 「OK」をクリック
- PC を再起動
これで無事に RAM ドライブが使えるようになりました(^^