Hyper-VでWindows11のインストールを完全自動化させる方法

Hyper-VでWindows11を動かしたいけれど、インストール方法が分からない…

検証環境を何度も構築するため、Windows11のインストールや初期設定に毎回時間がかかっている…

このような悩みを抱えている方は多いのではないでしょうか。

私自身も、検証環境を作るたびに同じ設定を繰り返すことに時間を取られていました。

そこで本記事では、AutoUnattend.xml(応答ファイル) を利用して、Hyper-V上でWindows11を完全自動インストールする方法を解説します。

本記事を読むことで、

  • Windows11のインストールを無人化する方法
  • Hyper-Vで応答ファイルを利用する手順
  • 毎回のOSセットアップ時間を大幅に短縮する方法

が分かります。

初心者の方でも実践できるよう、画像付きで分かりやすく解説していますので、ぜひ最後までご覧ください。

目次

完成イメージ

まずは実際の動作をご覧ください。

動画のように、インストール開始後は一切操作することなく、Windows11のインストールから初期設定まで自動で完了 します。

セットアップ中にユーザー名や地域、ライセンス認証などを入力する必要はありません。

検証環境を何度も構築する方や、複数台の PC をセットアップする機会が多い方であれば、大幅な作業時間の短縮につながります。

自動インストールの仕組み

Windows11のインストールが自動で進む理由は、応答ファイル(AutoUnattend.xml)を使用しているためです。

応答ファイルとは、Windowsのインストール時に必要となる設定情報をあらかじめ記述したXMLファイルのことです。

例えば、以下のような情報を事前に設定できます。

  • Windowsのエディション
  • プロダクトキー
  • ライセンス条項への同意
  • ディスクのパーティション設定
  • キーボードや言語設定
  • ユーザー名やコンピューター名
  • タイムゾーン など

通常はインストール中にこれらの項目を一つひとつ手入力しますが、応答ファイルを用意しておけば、Windowsセットアップがその内容を読み取り、あとは自動的に設定を適用してくれます。

そのため、インストール開始後は基本的に操作する必要がなくなり、短時間でWindows環境を構築できるようになるわけです。

完全自動化に必要なもの

Hyper-VでWindows11のインストールを完全自動化するために、以下のものを準備します。

  • Windows SIM(Windowsシステムイメージマネージャー)
  • 展開およびイメージングツール環境
  • Hyper-V
  • Windowsディスクイメージ(ISOファイル)
  • 応答ファイル

Windows SIM(Windowsシステムイメージマネージャー)

Windows SIMとは、応答ファイルを作成・編集するために必要なツールのことです。

「Windows ADK」というMicrosoft公式が提供しているツールセットに含まれています。

Windows SIMを利用するために、まずは「Windows ADK」をダウンロードしましょう。

具体的なインストール方法についてはネット上にたくさん落ちているので、そちらをご覧ください。

展開およびイメージングツール環境

展開およびイメージングツール環境とは、応答ファイルをISO化するために必要なツールになります。

このツールについても「Windows ADK」に含まれています。

そのため、まずは「Windows ADK」をダウンロードしましょう。

Hyper-V

Hyper-Vがないと何も始まりません。
本記事をご覧になっている方であれば、すでに利用できる状態になっていると思います。

有効化の方法はネットに転がっているので、この場では特に説明しません。

一点、Pro・Enterprise・Educationのいずれかでないとそもそも利用できないので注意しておきましょう。

Windowsディスクイメージ(ISOファイル)

Windowsディスクイメージとは、WindowsOSをインストールするのに必要なものが一式そろったファイルになります。

これがないとOSをそもそもインストールできません。

以下のMicrosoftの公式サイトからダウンロードが可能です。

サイトにアクセスすると、ダウンロード可能なものがいくつか表示されますが、以下のものが対象です。

image.png

応答ファイル

冒頭のほうでもお伝えしましたが、応答ファイルとは、Windowsのインストール時に必要となる設定情報をあらかじめ記述したXMLファイルになります。

この応答ファイルによってWindows11のインストールを自動化させています。

基本的にはWindows SIMを用いて作成するものであるため、ネット上にあるわけではありません。

作成方法については後ほど詳しく述べます。

自動インストール方法

ここからは、Hyper-VでWindows11を完全自動インストールする手順を解説します。

大まかな流れは、以下の3ステップです。

  1. 応答ファイル(AutoUnattend.xml)を作成する
  2. 応答ファイルを含むISOファイルを作成する
  3. Hyper-VでISOを起動し、自動インストールを実行する

一見すると難しそうに感じるかもしれませんが、手順どおりに進めれば初心者の方でも構築できます。

それでは、それぞれの手順について詳しく見ていきましょう。

手順1:応答ファイルの作成

Windowsのインストールを完全自動化するうえで、最も重要となるのが応答ファイル(AutoUnattend.xml)です。

今回は、この応答ファイルを使用してWindows11のセットアップを自動化します。

応答ファイルはWindows SIMで作成・編集できますが、一から作成するのは少し手間がかかります。

そのため、まず試してみたい方は、以下のソースコードをメモ帳に貼り付け、文字コードを「UTF-8」、ファイル名を「AutoUnattend.xml」として保存してください。

なお、掲載している応答ファイルは以下の設定になっています。

  • インストールするOS:Windows 11 Pro
  • 管理者ユーザー:Administrator
  • パスワード:admin
  • パーティション構成:Cドライブのみ作成
  • コンピューター名:ランダムに自動生成

これらの設定を変更したい場合は、Windows SIMを使用して自由にカスタマイズできます。

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SetupUILanguage>
                <UILanguage>ja-JP</UILanguage>
            </SetupUILanguage>
            <InputLocale>0411:00000411</InputLocale>
            <SystemLocale>ja-JP</SystemLocale>
            <UILanguage>ja-JP</UILanguage>
            <UserLocale>ja-JP</UserLocale>
        </component>
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DiskConfiguration>
                <Disk wcm:action="add">
                    <CreatePartitions>
                        <CreatePartition wcm:action="add">
                            <Order>1</Order>
                            <Size>100</Size>
                            <Type>EFI</Type>
                        </CreatePartition>
                        <CreatePartition wcm:action="add">
                            <Order>2</Order>
                            <Size>16</Size>
                            <Type>MSR</Type>
                        </CreatePartition>
                        <CreatePartition wcm:action="add">
                            <Order>3</Order>
                            <Type>Primary</Type>
                            <Extend>true</Extend>
                        </CreatePartition>
                    </CreatePartitions>
                    <ModifyPartitions>
                        <ModifyPartition wcm:action="add">
                            <Order>1</Order>
                            <Format>FAT32</Format>
                            <PartitionID>1</PartitionID>
                            <Label>System</Label>
                        </ModifyPartition>
                        <ModifyPartition wcm:action="add">
                            <Order>2</Order>
                            <PartitionID>3</PartitionID>
                            <Letter>C</Letter>
                            <Label>Windows</Label>
                            <Format>NTFS</Format>
                        </ModifyPartition>
                    </ModifyPartitions>
                    <DiskID>0</DiskID>
                </Disk>
            </DiskConfiguration>
            <ImageInstall>
                <OSImage>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>3</PartitionID>
                    </InstallTo>
                    <InstallFrom>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/INDEX</Key>
                            <Value>3</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <UserData>
                <AcceptEula>true</AcceptEula>
                <ProductKey>
                    <WillShowUI>Never</WillShowUI>
                </ProductKey>
            </UserData>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0411:00000411</InputLocale>
            <SystemLocale>ja-JP</SystemLocale>
            <UILanguage>ja-JP</UILanguage>
            <UserLocale>ja-JP</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <AutoLogon>
                <Password>
                    <Value>YQBkAG0AaQBuAFAAYQBzAHMAdwBvAHIAZAA=</Value>
                    <PlainText>false</PlainText>
                </Password>
                <Enabled>true</Enabled>
                <LogonCount>30</LogonCount>
                <Username>Administrator</Username>
            </AutoLogon>
            <ComputerName>*</ComputerName>
            <TimeZone>Tokyo Standard Time</TimeZone>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0411:00000411</InputLocale>
            <SystemLocale>ja-JP</SystemLocale>
            <UILanguage>ja-JP</UILanguage>
            <UserLocale>ja-JP</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>3</ProtectYourPC>
            </OOBE>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>YQBkAG0AaQBuAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
            </UserAccounts>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="catalog://e:/ISO/images/iso/sources/install_windows 11 pro.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

応答ファイルの内容については、以下の記事を参考にしてみてください。

手順2:応答ファイルのISO化

実機の場合、USB内にWindowsディスクイメージの中身と応答ファイルを格納しておけば自動的に応答ファイルを読み込んでくれます。

しかし、Hyper-Vの場合は「USBメモリを直接挿す」という仕組みが基本的にないため、USBメモリの代わりにDVDメディアとして応答ファイルをISO化する必要があります。

具体的には、以下のコマンドにてISO化が可能です。

"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\oscdimg.exe" C:\AutoUnattend C:\Windows_Auto.iso

~.exeの後に、応答ファイルが格納されたフォルダ名、およびISOのファイル名(任意)を指定します。

補足として、ISOの中身と応答ファイルを格納したものをISO化すれば1つのISOファイルで済みますが、上記コマンドだけではBootの情報が入らず若干複雑となるため、本記事では別で応答ファイルのみをISO化する方法を提供しています。

手順3:Hyper-VにてISOから起動

まずはHyper-Vマネージャーを開きます。
表示された画面右側の「操作」内にある「新規」をクリックし「仮想マシン」をクリックします。
スクリーンショット 2026-07-04 161840.png

「次へ」をクリックします。
スクリーンショット 2026-07-04 161905.png

仮想マシンの名前は任意で決めます。
「次へ」をクリックします。
スクリーンショット 2026-07-04 161920.png

「第2世代」を選択し「次へ」をクリックします。
スクリーンショット 2026-07-04 161939.png

割り当てるメモリ量は任意で決めます。
「次へ」をクリックします。
スクリーンショット 2026-07-04 161957.png

ネットワークを利用するかしないかは任意で決めます。
「次へ」をクリックします。
スクリーンショット 2026-07-04 162012.png

「仮想ハードディスクを作成する」を選択し、名前や保存場所、容量は任意で決めます。
「次へ」をクリックします。
スクリーンショット 2026-07-04 162029.png

「ブートイメージファイルからオペレーティングシステムをインストールする」を選択します。イメージファイルは、Windowsの公式サイトからダウンロードしたISOファイルを指定します。
スクリーンショット 2026-07-04 162315.png

そのまま「完了」をクリックします。
スクリーンショット 2026-07-04 162326.png

作成できた仮想マシンを右クリックし、「設定」をクリックします。
スクリーンショット 2026-07-04 162434.png

「セキュリティ」をクリックし、「トラステッドプラットフォームモジュールを有効にする」にチェックをつけます。ここでチェックをつけないと「Windows11のシステム要件を満たしていません」というメッセージが表示され、インストールができなくなるので要注意です。
スクリーンショット 2026-07-04 162507.png

「SCSIコントローラー」をクリックし、「DVDドライブ」をクリック後に「追加」をクリックします。
スクリーンショット 2026-07-04 162522.png

追加したDVDドライブをクリックし、「イメージファイル」の部分に、応答ファイルをISO化したものを指定します。
スクリーンショット 2026-07-04 162551.png

「適用」後に「OK」をクリックして完了です。
Hyper-Vの画面にて、先ほど作成した仮想マシンをダブルクリックして接続します。
スクリーンショット 2026-07-05 161832.png

「起動」をクリックします。
スクリーンショット 2026-07-05 161429.png

「Press any key ・・・」のメッセージが表示されたら、すぐに何かしらのキーを押下してください。
スクリーンショット 2026-07-05 161924.png

あとは自動でWindows11がインストールされます。

ハマりやすいポイントと対処法

ここまでの手順どおりに進めても、環境によっては思うようにインストールが進まない場合があります。

特に、以下の3つはよくあるトラブルです。

  • ライセンスキーの入力画面で止まってしまう
  • Bootエラーが発生する
  • 「このPCはWindows11のシステム要件を満たしていません」と表示される

これらはいずれも設定を見直すことで解決できるケースがほとんどです。

ここからは、それぞれの原因と対処方法について詳しく解説していきます。

ライセンスキーの入力画面で止まる

以下の画面でインストールが止まってしまうことがあります。

スクリーンショット 2026-07-04 095915.png

この原因としては応答ファイルです。

解消するには、応答ファイル内の以下の部分のWillShowUIをNeverにしてください。

<component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <UserData>
        <ProductKey>
            <WillShowUI>Never</WillShowUI>
        </ProductKey>
    </UserData>
</component>

Bootエラーが発生する

仮想マシンの起動時、以下の画面が表示され、インストールできないことがあります。

スクリーンショット 2026-07-04 095203.png

このエラーが発生する場合、Hyper-Vの設定に問題があります。

ファームウェアにおけるブート順に関して、Windows11の入ったISOファイルが1番上になっていないことが原因です。

以下のように、1番上になるように設定しておきましょう。
image.png

システム要件を満たしていませんと表示される

仮想マシンを立ち上げた後、以下の画面が表示される場合があります。

スクリーンショット 2026-07-04 100438.png

これもHyper-Vの設定に問題があります。

「PCはTPM2.0をサポートしている必要があります。」と記載があるように、TPMを有効化する必要があります。

具体的には、仮想マシンの設定画面を開き、セキュリティの「トラステッドプラットフォームモジュールを有効にする」にチェックを入れることで解消されます。
スクリーンショット 2026-07-04 162507.png

まとめ

本記事では、Hyper-VでWindows11のインストールを完全自動化する方法について解説しました。

手順をまとめると、以下の3ステップです。

  1. 応答ファイル(Autounattend.xml)の作成
  2. 応答ファイルを含むISOの作成
  3. Hyper-VでISOから起動

一度環境を構築してしまえば、毎回のインストール作業を大幅に効率化できます。

Hyper-VでWindows11をセットアップする機会が多い方は、ぜひ活用してみてください。


WinDeployAutoでは、Windowsのセットアップや定型業務の自動化・効率化をテーマに、Bat・PowerShell・Python などを活用した仕組みづくりを行っています。

  • Windows セットアップを自動化したい
  • 繰り返し作業を効率化したい
  • 現場の運用負荷を減らしたい

このようなお悩みがありましたら、ぜひお問い合わせフォームよりお問い合わせください。

今後も、Windowsの展開・運用・自動化に役立つ情報を発信していきます。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

システムエンジニアとしてWindows構築や業務自動化に携わってきました。
PowerShellやPython、AIを活用し、現場の課題を解決することが得意です。
「面倒な作業をなくしたい」「もっと効率化したい」そんな想いを形にします。

コメント

コメントする

目次