ARM版WindowsでDualBoot環境って構築できるの?
ARM版Windowsのアプリケーション開発用にテスト機材としてMicrosoft SQ1を搭載したSurface Pro Xが手元に存在しています。
プリインストールOSはWindows10ですがWindow10では限定的だったHyper-VもWindows11では使えるので、普通のアプリケーションであればすでに配信されているWindows11にアップグレードしてしまい、Windows10のテストはHyper-V上で試せば良いのですが、今作製しているアプリケーションがハードウェアの影響を受ける事になりそうなのでHyper-V上だけで動作確認をしても実機で動かない可能性があります。
まとめると
1.Windows10とWindows11の実機テスト環境が必要
2.開発中のアプリケーションのテストで最悪OSが起動できなくなる可能性がある
3.起動しなくなる度にOSの修復なり再セットアップは避けたい
4.ARM版WindowsのOSイメージ作成ソフトが今の所見当たらない
を満たす必要がありARM版WindowsでVHDx Boot環境の構築を行いました。
手始めにVHDxを作った後x86/x64版Windowsと同じ方法でVHDxへのWindowsインストールを試してみましたが、UUP dumpからダウンロードしたISOイメージではデバイスの互換性エラーが出て、これをレジストリ変更で回避して進めても、インストール先を選択するところで内蔵ストレージが出てこないためインストールできませんでした。
どうやらISOイメージ無いにドライバが存在しないのが原因のようです。
このため別の方法でインストールを行います。
準備するもの
・ARM版Windows11 ISOイメージ
・ARM版Windows10 ISOイメージ
・DISM++(ARM版バイナリ)
WindowsのISOイメージはUUP dumpからDISM++はgithubからダウンロードしておきます。
ポイントとしては
1.起動中のARM版Windowsからドライバをエクスポートする
2.VHDxにあらかじめWindowsのインストールイメージとドライバをインポートしておく
3.bcdeditを使ってエントリを追加してvhdxから起動できるようにする
です、何を意味しているのかわかる方はこれ以降を読む必要はないです
※注意点
・機材はSurface Pro Xを使用していますそれ以外のハードウェアでの試験は行っていないので、同じ方法でできるとは限りません。
・BitLockerをONにしている場合の動作確認は行っていません。
・最悪ベースのOSが起動不能になります、作業を行う前にデータのバックアップおよびリカバリーの手段を確保する必要があります。
次回からインストールのための準備とセットアップを行っていきます