ARM版WindowsでVHDxBoot 1

ARM版WindowsにVHDx boot環境を構築する

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が起動不能になります、作業を行う前にデータのバックアップおよびリカバリーの手段を確保する必要があります。


次回からインストールのための準備とセットアップを行っていきます