eGPUの記事ではMacBook Pro上で動作するWindows環境でもいくつかソフトウェアを導入することでeGPUが使える方法を紹介しました。
また、Thunderboltポートに接続しているデバイスによってはWi-FiやゲームコントローラまたはeGPUが正しく動かなくなる問題についても専用のDSDTテーブルを作成することで解決する方法も掲載しています。

しかし、上記2点を実施してもなお問題があります。
特に2点目のDSDTレコードを作成する方法は、bcdedit というコマンドでWindowsをテストモードにさせておかないと機能しません。

しかし、ゲームによってはWindowsがテストモードの場合、以下のようなエラーが表示されて起動できなくなるのです。
cannotboot


ということで今回は、WindowsをテストモードにすることなくDSDTレコードの適用させる方法を案内します。そうすることで、ゲームもデバイスも完ぺきに動作するようになるでしょう。

※Windows 10 64bit 環境で、BIOSがUEFIモードであることが前提です。
(msinfo32.exe というツールでBIOSモードが確認できます)
msinfo32


Cloverというブートローダーの導入


Clover とは、Windows向けのコンピューターにあらゆるOSを導入できるよういろんな機能が実装されたブートローダーです。オープンソースで開発されています。
※まだここではダウンロード・インストールしないでください。
https://sourceforge.net/projects/cloverefiboot/
cloversite


このCloverを利用すれば、Windowsにはなにも手を入れずにカスタマイズしたDSDTテーブルを適用することができます。つまりテストモードをオフにできます。

[必要なもの]



7zipwebsite


※7-Zip はこの後のソフトウェアを取り出すために必要です。


[おおまかな手順]


0. テストモードをオフにしておく(コマンドプロンプトを管理者として実行)

  1. CloverISOから、EFIフォルダを取得
  2. EFIパーティションをマウント
  3. EFIフォルダをEFIパーティションにコピー
  4. EFIパーティションに\EFI\CLOVER\ACPI\WINDOWS というフォルダを作り、dsdt.aml をコピー
  5. Windows起動時にCloverアイコンを選んで実行



0:テストモードをオフにしておく(コマンドプロンプトを管理者として実行)


ここの目的はテストモードがオフでもDSDTテーブルを適用できるようにするものですので、まずテストモードをオフにします。作業の最後にするのでもかまいません。
コマンドプロンプトを管理者として実行し、以下のコマンドを実行します。

bcdedit -set TESTSIGNING OFF

testsigningoff


コマンドプロンプトを管理者として実行する手順


画面左下にある検索エリアに「cmd」と入力し表示される「コマンド プロンプト」を右クリックして「管理者として実行」を選びます。

cmd_administrator




1: CloverISOから、EFIフォルダを取得


https://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/
から「CloverISO-4674.tar.lzma」をクリックしてダウンロード。ダウンロードできたら、ファイルを右クリックして 7-zip > ここに展開 で解凍します。
cloverkaitouFist


解凍してできた「CloverISO-4674.tar」をさらに 7-zip > ここに展開 で解凍し
「Clover-v2.4k-4674-X64.iso」も7-zip > ここに展開 で解凍します。
(※上記手順ではファイル名にバージョンが含まれますが、できるだけ最新のものを使いましょう)
cloverkaitouLast


すると「EFI」「[BOOT]」「Library」「usr」というフォルダができます。
cloverkaitouResult


2:EFIパーティション(隠しドライブ領域)をマウント


管理者として実行したコマンドプロンプトで以下のコマンドを順番に実行します

mountvol s: /s

mountefi


3:で取得した「EFI」フォルダの中身をEFIパーティションにコピー


エクスプローラーでは操作できないのでコマンドプロンプトで以下のコマンドを順番に実行します。(1:でダウンロードしたCloverISOがダウンロードフォルダにあると想定)

cd %HOMEPATH%\Downloads\EFI
xcopy /E CLOVER s:\EFI\CLOVER\

cddownloadsefi

xcopyclover


※大文字、小文字は違っていてもOK

4:EFIパーティションに\EFI\CLOVER\ACPI\WINDOWS というフォルダを作り、dsdt.aml をコピー


Clover でDSDTテーブルを適用するには、所定のフォルダにdsdt.aml をコピーするだけです。以前の記事で作成した「dsdt.aml」をコピーします。すでにc:\dsdtを削除してしまった場合はお手数ですがこちらの記事を最初からやり直してください。

「dsdt.aml」がc:\dsdt にあることを確認したら、以下のコマンドを順番に実行します。

mkdir s:\EFI\CLOVER\ACPI\WINDOWS
copy c:\dsdt\dsdt.aml s:\EFI\CLOVER\ACPI\WINDOWS\

mkdiracipiwidnows

copydsdtaml


6:Windows起動時にCloverアイコンを選んで実行


これまでの操作が問題なく終わっていれば、あとは再起動して起動の選択をClover(緑色の四つ葉のクローバー)にし、その後表示されるCloverの画面でWindowsを選択すればOKです。
refindboots

cloverwin


起動時に毎回Cloverを選択するのが面倒ならば、EFIパーティション以下のrefindフォルダにあるrefind.confを編集して、default_selectionを2(左から数えて2番目の意味)にすればよいでしょう。
refindconf_defaultselection

また、EFIパーティションにはCLOVERフォルダがありますが、ここにはCloverの動作を変更できるconfig.plistというファイルがあり、これのFastというキーをtrueに変更するとCloverの画面が出て来なくなります。
cloverfast


(refind.confの編集はこちらの記事の「3:refind.conf を修正し、再起動」あたりを参考にしてください。EFIパーティションの中身が見たいときはrefindのインストールをやり直すのがわかりやすいでしょう)

ちゃんとDSDTテーブルが有効になっているか確認したい場合は、デバイスマネージャーを起動して表示を「リソース(種類別)」にし「大容量メモリ」という項目が表示されていることを確認出来たらOK。
devicemanagercheck



起動しなくなったら?


Cloverを利用する方法はWindowsのテストモードを利用するより安全です。
起動しなくなったら、Cloverじゃない方で起動すれば良いだけ。
refindboots2


ただしeGPUと外付けHDDが接続されているとWindowsがフリーズしてしまうので、eGPUの接続も解除して作業してください。