ひっそりとリリースされたMicrosoft Validation OSをvSphereで動かしてみる

# はじめに

先日、以下の記事で「Microsoft Validation OS」なるものの存在を知りました。

https://softantenna.com/blog/windows-11-validation-os-released/

> このオペレーティングシステムは、エンドユーザ向けのものではなく、ハードウェアまたはソフトウェアのベンダー、開発者、技術者向けに、問題の診断と緩和を支援するために設計されています。Windows 11をインストールすることなく、ハードウェアやソフトウェアを構築するために役立つものです。

どうやら、ベンダーの開発、検品等で「Windows11で動作確認したいけど、本物は重いのでインストールが手間」というときに使える軽量版OSのようです。

こちらのブログでは、「**probably not for you**」と紹介されています。

https://www.neowin.net/news/microsoft-released-a-new-lightweight-windows-11-validation-os-thats-probably-not-for-you/

**「お前のためには作ってない」と言われると、使いたくなるのが人の性**。Validation OSをインストールしてみたので、試行錯誤の記録を紹介します。

※ WindowsのOSの仕組み等全く知らず好奇心だけで手を出したので、記述に間違いがありましたらコメントいただけるとありがたいです！

# 動作環境

vSphere上のVMにインストールしました。vSphereを使ったのは、単に家にvCenterがあったからです。他の仮想化環境でも動くと思います。

- vSphere
    - ESXi: 7.0u2
    - VCSA: 7.0u3
- Validation OS
    - ダウンロードしたisoイメージ: `22621.1.220506-1250.ni_release_amd64fre_en-us_VALIDATIONOS.iso`
    - ビルド環境: Windows11
    - Windows ADK: Windows 11 バージョン 22H2
    -  Windows PE アドオン: Windows 11 バージョン 22H2

# OSのイメージをビルドする環境の準備

OSはこちらの公式サイトからダウンロードできます。

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/validation-os-overview?view=windows-11

が、**リンクにあるISOイメージをVMのドライバに入れてもインストールできませんでした！（罠）** 
`Create bootable Validation OS media` の手順に沿って、wimファイルからISOイメージをビルドする必要がありました。

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/validation-os-boot?view=windows-11

というわけでガイドに従い、`ADK` と `Windows PE add-on` をインストールします。
Windows PEはOSインストール時に使われるため、先んじてインストールしておく必要があるようです。そして、このWindows PEをビルドするために使うのが `ADK` と `Windows PE add-on` らしいです。

参考記事

https://soma-engineering.com/desktop/windows10/what-is-winpe/2018/12/16/

Windows11用のADK、Windows PE add-onを以下 `Windows 11 バージョン 22H2 の ADK をダウンロードする` からダウンロードします。特にオプションは弄らずデフォルト設定でインストールしました。

https://docs.microsoft.com/ja-JP/windows-hardware/get-started/adk-install

# OSのイメージをビルド

つづいて、Windows PEをビルドします。公式手順ではUSBに焼いていますが、今回はVMで扱いやすいようISOイメージに出力しました。

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/validation-os-boot?view=windows-11#create-a-bootable-winpe-drive

まず、`展開およびイメージング ツール環境`を管理者権限で起動します。起動するとコマンドラインが表示されます。

![adk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/ee713f3c-f4bf-481e-607e-5f7caebab66e.png)

作業フォルダを作成します。

```bat
copype amd64 C:\WinPE_amd64
```

次に、`boot.wim` を Validation OSのものに差し替えます。

Validation OSのwimファイルをダウンロードします。先ほどの[ダウンロードリンク](https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/validation-os-overview?view=windows-11)からISOファイルをダウンロードします。

ISOファイルをマウントすると中に `ValidationOS.wim` が入っているのが確認できます。これを作業フォルダの `boot.wim` と置き換えます。

![validationos.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/6e87b796-fc1d-3baf-022e-9b66f64490c6.png)

`C:\WinPE_amd64\media\sources\` に `boot.wim` があるので、消して `ValidationOS.wim` を配置します（名前も `boot.wim` にリネーム）。

差し替えたら、作業フォルダからISOイメージをビルドします。

```bat
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
```

参考

https://docs.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive?view=windows-11#create-a-winpe-iso-dvd-or-cd

# データストアにISOイメージをアップロード

ISOイメージができたので、VMにインストールできるようvCenterのデータストアにアップロードします。先ほど作った `WinPE_amd64.iso` をアップロードします。

![datastore.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/92363d2a-2029-fd0a-5b6d-be2535583da2.png)

# VMにインストール

ISOイメージをVMにインストールします。VMは1CPU、メモリ512MBで十分でした。ディスクもあまり食わないのでシンプロビジョニングでよさそうです。

VMを作成したら、設定の編集から「CD/DVD ドライブ 1 」を編集します。

- 「データストアISOファイル」を選択し
- 「CD/DVD メディア」に先ほどのISOファイルを指定
- パワーオン時に接続にチェック

![disk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/8f8e9dde-970d-98d0-5303-ed42bbb2ca09.png)

Remote Consoleを開き、VMを起動します。
私の環境では `Timeout. EFI Network...` と出てしまいましたが、しばらく経つとBoot Managerが起動したので `EFI VMware Virtual SATA CDROM Drive (0.0)` を選択すると立ち上がりました。

参考記事

https://hamutetublog.com/win-timeout-efi/

Windowsのロゴが出た後...

![logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/59b6a396-990c-ea5e-07a4-e9977780e9f7.png)

コマンドプロンプトが表示されました！

![start.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/6952881f-02a9-80b7-05e8-62789b10f938.png)

# 触ってみる！

いよいよValidation OSとご対面です。軽量なだけあって、**ほとんどのソフトがインストールされていません**。

![cmd2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/eca45837-e69c-d5d3-edb2-41ad50556471.png)

`dir` や `echo` 等最低限のコマンドは入っていました。

![dir.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/f0318298-deba-c070-61c1-9ac7b9b90f04.png)

インターネットにも接続できました。（が、`bitsadmin`, `curl`, `wget` が入っていないのでソフトを落としてくることはできませんでした）

![ping.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/7abd18c7-9ab1-5bda-537f-04e3381459bc.png)

バッチファイルも実行できました。~~メモ帳がないのでハードモード...~~

![bat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239887/ce28b55b-4ea8-f04f-380c-fe439507ac02.png)

# おわりに

以上、Validation OSのインストールと触ってみた紹介でした。コマンドプロンプトしか使えないとはいえ、軽いのにGUIが動いて驚きました。とても軽いのでWindows VMの検証等にも活用できそうです。

皆さんも良きValidation OSライフを！ここまでお読みいただきありがとうございました！