ラズパイでWindows10 on ARMを動かす(上級者向けUSBブート編)
前の記事Windows10 on ARMのインストール【成功しましたが簡単ではありません。】ではmicroSD上にWindows10をインストールして動かす方法について説明しました。この記事では、USB-HDDあるいはUSB-SSDへインストールする方法を紹介します。色々なファイルを集めなくてはならず、書き換えたり設定変更が必要なので上級者向けです。上級者向けなのであえて細かい説明は省きます。(わからない場合は母艦PCを壊す可能性もあるので手を出さないでおきましょう。)
もくじ(Index)ラズパイ関連の目次へ戻る(工事中)
用意するもの
ソフトウェア
- Windows on Raspberry imager(WoR)(※1)
- Windows device drivers(※2)
- RPI_EFI.fd(https://github.com/andreiw/RaspberryPiPkgから最新を取得します。)※3
- インストール媒体(install.wim)(※4)
※1.「Downloads」→「Download the latest Windows on Raspberry version (1.0.1)」をダウンロードします。
※2.「Download the latest drivers package」のリンクからダウンロードします。(WoA64_Drivers_RPi3_20Feb19.zip)
※3.RaspberryPiPkg/Binary/prebuilt/ 配下にある最新のRPI_EFI.fdファイルを用意します。(私は2019Feb18-GCC5を使用)
※4.前の記事Windows10 on ARMのインストール【成功しましたが簡単ではありません。】で用意するものと同じです。私はVersion 1803 Build 17134を使いました。
ハードウェア
- USBのマウス・キーボード
- 補助電源付きの外付けHDD/SSD
- microSDカード(16GB、A1以上を推奨)※NTFSでフォーマットしておく。
- ラズパイ用の安定したACアダプタ
★外付けHDD/SSDはバスパワーで動かない可能性大です。必ず外部電源を供給できるタイプのものを用意しましょう。USB-HUBを通すと動きません。
インストール手順
①USBドライバファイルの書き換え
ダウンロードしたデバイスドライバのZIPファイルを解凍し以下の2ファイルの内容を書き換えます。解凍したフォルダのmcci_dwchsotgというフォルダにあります。(※古いバージョンのドライバはusbというフォルダ)
- mcci_dwchsotg_hcd.inf
- mcci_dwchsotg_hub.inf
●書き換えの内容
StartType=3 を StartType=0 に書き換える。
書き換え後、Driversフォルダを再度ZIPで圧縮します。
②USB-HDD/SSDへの書き込み
Windows on Raspberry imagerの書き込み時にウィルス対策ソフトが入っていると検知されメディアの作成が失敗することがあります。ウィルス対策ソフトは停止させた状態で実行します。(カスペルスキーで反応しました。)
Windows on Raspberry imagerを起動して画面に従って用意したファイルを読み込んでいきます。(デバイスドライバは①で用意したZIPファイルを指定する。)
③UEFIの設定変更
そのまま、microSDは空のままセットしてUSB1~3のどこかにUSB-HDDを接続して起動します。
Shellが起動するのでExit<Enter>でUEFIの設定画面を表示します。
Boot順の変更
「Boot Maintenance Manager」→「Boot Option」→「Change Boot Order」を開き、「SD/MMC on Broadcom SDHOST」を一番上に設定します。(+と-で設定)
設定が終わったら、<Enter>を押し、F10→Yで保存します。
CPU周波数の変更
★注意★十分な冷却ができていない場合、ラズパイのSoCチップが壊れる可能性があるのでファンによる冷却を行いましょう。ヒートシンクだけでは厳しいでしょう。冷却については下記の記事を見てください。
RaspberryPi3B+は熱対策した方がパフォーマンスが上がる。
「Device Manager」→「Raspberry Pi Configuration」→「Chipset Configuration」を開き、「CPU Clock」をMaxに変更すると3Bは1.2GHz、3B+は1.4GHzで常に動くようになります。
設定が終わったら、F10→Yで保存します。
④Windowsの初期設定
UEFIの設定が終わったら一旦Resetします。再度UEFIの画面に入り、<Boot Manager>→<UEFI ?????>というHDDっぽい名前を指定し起動します。
その後Windowsの初期設定を指示に従って行います。
起動後の設定
環境設定の詳細を開き、Cドライブ上にページファイルを設定しましょう。(自動ではなく1024MB以上で作成する。)空のmicroSDカードをセットしていないと、ページファイルに関するエラーが出てまともに動かないので注意してください。
再起動を行うとインストールは完了です。
参考リンク
How-to video (17763 on SD & SSD)
英語の参考リンクではVersion1809 Build 17763を使っているようなのですが、ブルースクリーンでループします。恐らく1809だけ地雷のような気がしていますので1803かInsiderの新しいもので試すのがいいと思います。
不具合や注意事項
2/21にやっと動いたので十分検証できていませんが、今のところ下記の不具合があるようです。
私の設定がおかしい部分もあるかもしれません。
- Wifiは使えません。
- シャットダウン・再起動時に自動で電源が切れない場合がある。アクセスLED(緑色LED)が8回点滅になれば電源を切っても良さそう。
- 起動時にShellをスキップする設定がうまく作動しない。
- USB-HUBを通すとUSBからの起動はできない。(USBポートの番号が変わるため)
- USBポートに他のUSBメモリを差すと起動しないので注意。
おわりに
私の場合は外付けでCrucial M4 128GBのSSDを使いました。まだ、入れたばかりなので十分な検証はしていませんが、microSDよりも体感速度は上がっているような気がします。アプリの初回起動は遅い(20~30秒ぐらい)のですがWebブラウジングしてみるとそこそこのレスポンスです。
使う外付けHDDやSSD、ページファイル用のmicroSDもパフォーマンスに影響があるのでさらに遅い場合もあります。
変更履歴
2019/2/23
- 最新ドライバ(WoA64_Drivers_RPi3_20Feb19.zip)で動作したので修正
- ページファイルの部分について修正
- USBポート、USB-HUBについての記述を追加
すいません。
準備するものに記載のあるRPI_EFI.fdの使い道の説明がないような
気がするのですが・・・結局不要なのでしょうか?
いいえ、RPI_EFI.fdはUEFI firmwareの画面で必要ですよ。
WoRの実行中に読み込む画面が出てくるはずです。