【Azure】イメージの作成手順(Sysprep)

AzureでWindows仮想マシンを作成する際に、同じ設定の仮想マシンを再利用する方法として、Sysprep を使ってカスタムイメージを作成する手順を紹介します。Sysprepは Windows OS から固有情報を削除し、再利用可能な「テンプレート(一般化イメージ)」を作るためのツールです。これにより、同じ構成の仮想マシンを何度でも素早く展開できるようになります。

ただし、Sysprepの動作には前提条件よくある落とし穴があり、知らずに進めるとイメージ作成に失敗したり、展開後のVMが起動しないという事態を招きます。本記事では、公式ドキュメントを横断的に参照しながら、現場で確実にイメージを作成するための手順とポイントをまとめます。

スポンサーリンク
  1. Sysprepとは
    1. Sysprepでできること
    2. 一般化イメージと特殊化イメージの違い
  2. Sysprep実行の前提条件(事前チェック)
    1. CD/DVD-ROM 有効化コマンド
    2. 起動方法とオプション
  3. Sysprepのコマンドラインオプション
    1. 主要オプション一覧
    2. Sysprep実行手順
      1. 1. 元になる仮想マシンを準備
      2. 2. (推奨)Pantherディレクトリを削除
      3. 3. 管理者権限のコマンドプロンプトでSysprepを実行
      4. 4. シャットダウン状態を確認
  4. イメージの作成(キャプチャ)
    1. リソースグループ
    2. Azure コンピューティング ギャラリーにイメージを共有する
    3. イメージの作成後、この仮想マシンを自動的に削除します
    4. 名前
  5. 作成したイメージから仮想マシンを作成
  6. 現場で躓きやすいポイント
    1. 1. Sysprepの実行回数には上限がある
    2. 2. ストアアプリ更新後にSysprepが失敗する既知事象
    3. 3. Windows Server 2025 の日本語化問題(2025年〜の既知問題)
    4. 4. Sysprepはタスクスケジューラ・PSExec経由で実行できない
    5. 5. ローカル管理者パスワードに注意
  7. トラブルシューティング
    1. “A fatal error occurred while trying to sysprep the machine”
      1. ログファイルの場所
      2. よくある原因
    2. 一般化したVMから作成したVMが起動しない(”Windows could not finish configuring the system”)
    3. イメージから作成したVMがOOBEで停止する
  8. マネージドイメージ vs Azure Compute Gallery(どちらを使うべきか)
    1. 既存のマネージドイメージの移行
  9. まとめ

Sysprepとは

Sysprep(System Preparation Tool / システム準備ツール) は、Windowsインストールから PC固有の情報(セキュリティ識別子(SID)、イベントログ、システム復元ポイントなど)を削除し、別のPCにそのままインストール可能な状態にするツールです。「一般化(generalize)」と呼ばれる処理を行います。

Sysprepでできること

  • Windows イメージから PC 固有情報(SID 等)を削除する(一般化)
  • PC 固有のドライバーをアンインストール(ドライバーファイル自体は残す)
  • OOBE(Out-of-Box Experience:初回起動時セットアップ)に進めるよう構成
  • 応答ファイル(unattend.xml)による無人セットアップ設定の追加

一般化イメージと特殊化イメージの違い

Azureで扱うカスタムイメージには2種類あります。

種類用途特徴
一般化(Generalized)
イメージ
テンプレートとして複数VMをデプロイしたい場合Sysprep(Windows)または waagent(Linux)で固有情報を削除済み。新規VM作成時にユーザー名・パスワードを再設定する。
特殊化(Specialized)
イメージ
スナップショットとして個別VMを復元したい場合ユーザーアカウントや固有設定をそのまま保持。1台の復元・移行用途に向く。Sysprep不要。

本記事は、一般化イメージを作成する手順を扱います。

📎 参照ドキュメント

スポンサーリンク

Sysprep実行の前提条件(事前チェック)

Sysprepを実行する前に、以下の条件を必ず満たしているか確認してください。1つでも欠けていると、Sysprep自体は成功しても、イメージから作成したVMがOOBEの段階で停止するなどの問題が起きます。

前提条件内容と対応
CD/DVD-ROMが有効になっていることAzureは一般化イメージから作成したVMにISOファイルをDVD-ROMにマウントする。無効だとOOBE段階でVMが停止する。下記コマンドで明示的に有効化することが推奨される。
BitLocker等の暗号化が解除されていることSysprepはドライブが完全に復号化されている必要がある。Trusted Launch VMではBitLockerが既定で有効なので、必ず無効化する。
ドメインに参加していないことSysprepはワークグループメンバーのみで動作する。ドメイン参加していると Sysprep が PC をドメインから自動的に削除する。
Sysprep対応のサーバーロールのみが構成されていること一部のサーバーロール(Active Directory ドメインサービス等)はSysprepをサポートしない。一般化後にロールが正常動作しない場合がある。
MDM(Intune等)に登録されていないことMDM登録時の証明書やIDはSysprepで削除されない。複数VMが同一IDを持つことになり、構成配信に問題が発生する。
アプリケーションがSysprepをサポートしていることセキュリティ製品・ストアアプリ・仮想化エージェントなどはSysprep非対応のものがある。各アプリの公式ドキュメントを確認する。

CD/DVD-ROM 有効化コマンド

管理者権限のコマンドプロンプトで以下を実行します。

REM CD/DVD-ROM の有効化
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom /v start /t REG_DWORD /d 1 /f

📎 参照ドキュメント

起動方法とオプション

Sysprepツールは、C:\Windows\System32\sysprep\ に保存されています。

sysprepを起動すると、下記のようなGUI画面が表示されます。

この画面から実行することも可能ですが、GUIで指定できるオプションには限りがあります。コマンドで実行すると、GUIより多くのオプションを指定することができます。
スポンサーリンク

Sysprepのコマンドラインオプション

Sysprep の構文は次の通りです。

Sysprep.exe [/oobe | /audit] [/generalize] [/mode:vm] [/reboot | /shutdown | /quit] [/quiet] [/unattend:<answerfile>]

主要オプション一覧

オプション動作Azure VMでの推奨度
/generalizeSID・イベントログ・システム復元ポイントなど固有情報を削除する。イメージ化には必須◎ 必須
/oobe次回起動時にOOBE(初回セットアップ画面)から始まるよう構成。◎ 必須
/shutdownSysprep完了後にシャットダウン。◎ Azureキャプチャ時に必須
/mode:vmVHDを同一ハイパーバイザー上のVMにそのまま展開可能にする。ハードウェア検出をスキップするため初回起動が高速化される。VM内からのみ実行可能。○ Azure VMでは推奨
/rebootSysprep完了後に再起動(監査モード等のテスト用途)。△ イメージ化目的では使わない
/audit監査モードで起動。追加ドライバー・アプリの導入やテストに使用。△ 用途次第
/quiet確認メッセージを表示しない。自動化向け。○ 自動化時に有効
/quitSysprep実行後、再起動・シャットダウンしない。△ Packer等の自動化ツール向け
/unattend:<file>無人インストール用の応答ファイルを指定。Azureではサポートされないため使用不可。✕ Azureでは使用不可

⚠️ 重要/mode:vm はVMの中からしか実行できません。物理PCのVHDを準備する目的では使えません。

⚠️ 重要/unattend:<answerfile> スイッチは Azure の Sysprep 手順ではサポートされていません。応答ファイルを使用したカスタマイズが必要な場合は Azure Image Builder などの代替手段を検討してください。

📎 参照ドキュメント

Sysprep実行手順

1. 元になる仮想マシンを準備

イメージ化したい設定(言語設定の変更、アプリケーションのインストール、Windows Update など)が完了したWindows Server VM を用意します。

例えば、AzureのデフォルトイメージからWindows Serverの仮想マシンを作成すると、言語は英語のまま展開されます。日本語化してからイメージ化しておけば、そのイメージから作成するVMはすべて日本語環境になります。

仮想マシンの作成後の言語の変更は、下記を参考にしてください。

  >> 参考記事 : Windows Server 2022 の UI日本語化の手順確認

Windows Server 2022 の UI日本語化の手順確認
例えば、Azureの既定のイメージで、Windowsの仮想マシンを作成した場合、言語が英語になっています。言語を日本語に変更することで、オペレーティングシステムとそのコンポーネントをより使いやすくすることができます。この記事では、Windo…

2. (推奨)Pantherディレクトリを削除

過去のSysprep実行ログが残っていると、Sysprepが失敗するケースがあります。事前に削除しておくのがベストプラクティスです。

rd /s /q C:\Windows\Panther

3. 管理者権限のコマンドプロンプトでSysprepを実行

C:\Windows\System32\sysprep ディレクトリに移動し、Sysprepを実行します。

C:\Users\hirotano> cd C:\Windows\System32\sysprep\
C:\Windows\System32\Sysprep> sysprep.exe /generalize /shutdown /oobe /mode:vm

💡 オプション選択について:Azure VM のイメージ作成では、Microsoft 公式手順として最低限 sysprep.exe /generalize /shutdown の組み合わせが必須です。/oobe/mode:vm は VM の初回起動を高速化・安定化させるために強く推奨されます。

実行すると、Sysprepの実行状態が表示されるウィンドウが開きます。

しばらくすると一般化処理が完了し、自動的にVMがシャットダウンされ、リモートデスクトップのセッションも切れます。

4. シャットダウン状態を確認

Azureポータルから対象VMを開き、ステータスが「停止済み」となっていることを確認します。これで仮想マシンは「一般化済み」の状態で停止しています。

⚠️ 重要:Sysprep を実行したVMは絶対に再起動しないでください。再起動すると一般化が解除されてしまい、イメージ化に失敗します。Azure側の操作で generalized としてマークされた VM はそもそも再起動できません(公式ドキュメントで明記)。

📎 参照ドキュメント

スポンサーリンク

イメージの作成(キャプチャ)

停止済みの仮想マシンから再利用可能なイメージを作成します。
Azureポータルから リソースグループ内にある仮想マシン(今回はVM-01)をクリックします。

上部にあるキャプチャをクリックします。

イメージ作成の画面が表示されます。

リソースグループ

イメージを格納するリソースグループを指定します。今回は、作成済みのRG-VMを選択します。

リソースグループについては、下記の記事を参考にしてください。

  >> 参考記事 :  リソースグループの概要と追加・削除

【Azure】リソースグループの概要と追加・削除
リソースグループでは、さまざまなリソースを論理的にグルーピングすることができます。リソースグループは、アプリケーションやサービスを実行するために必要なすべてのリソースのための論理コンテナです。たとえば、仮想マシン、データベース、およびストレ…

Azure コンピューティング ギャラリーにイメージを共有する

ギャラリーを使用することで、別のリージョンからも利用できるなどできますが、今回は、いいえ を選択します。

イメージの作成後、この仮想マシンを自動的に削除します

イメージ作成後、元の仮想マシンは不要となるため、有効にします。

⚠️ 「自動的に元VMを削除」オプションについて 公式ドキュメントには Automatically delete this virtual machine after creating the image について 「This is not recommended.(推奨されません)」 と明記されています。元のVMを残しておけば、追加の修正やイメージの再作成が容易になります。本番運用では基本的にチェックを外しておくのが安全です。

📎 参照ドキュメント

名前

OSや日付など、わかりやすい名前を付けます。

設定が完了したら、確認および作成をクリックします。

検証に成功しました を確認し、作成をクリックします。

しばらくすると、イメージ作成が完了します。

Azureポータルから リソースグループ内にあるリソースを確認すると、イメージが作成されていることが確認できます。また、元の仮想マシン(VM-01)は削除されています

スポンサーリンク

作成したイメージから仮想マシンを作成

上で作成したイメージをもとに、仮想マシン(VM)を作成する手順を確認します。
Azureポータルから リソースグループ内にある作成したイメージをクリックします。

上部の VMの作成 をクリックします。

作成したイメージが選択された状態で、仮想マシンの作成 画面に遷移します。

あとは仮想マシン作成の通常の手順に従います。下記を参考にしてください。

  >> 参考記事 :  【Azure】仮想マシンの種類と作成手順(Windows Server)

【Azure】仮想マシンの種類と作成手順(Windows Server)
Azure仮想マシン(VM)は、WindowsおよびLinuxベースのサーバをクラウド上で実行するための拡張性と柔軟性に優れています。Azure VMを使用すると、迅速かつ簡単にオペレーティングシステムの新しいインスタンスを作成し、使用し始…

カウント・ネットワーク等を設定し、デプロイします。

💡 新規VMの作成時の動作:一般化イメージから作成したVMは、初回起動時にOOBEを通って固有のSIDを再生成します。管理者ユーザー名・パスワードは、新規VM作成時に画面で指定したものが新しく設定されます(イメージ元のVMの管理者情報は残りません)。

📎 参照ドキュメント

スポンサーリンク

現場で躓きやすいポイント

実務でSysprepを扱うと、ここで多くの人がハマります。事前に把握しておくと安心です。

1. Sysprepの実行回数には上限がある

Sysprepの /generalize は無制限に使えるわけではありません。

OSバージョン上限回数
Windows 8.1 / Windows Server 2012 以降1001回
Windows 7 / Windows Server 2008 R23回
Windows Server 20083回

💡 同一の Windows イメージ上で上限を超えるとイメージの再作成が必要になります。プロダクトキー(無人ファイルでProductKeyを指定)を使うと自動的にライセンス認証され、実質的に上限を意識せずに使えます。

2. ストアアプリ更新後にSysprepが失敗する既知事象

リファレンス用VMでMicrosoft Storeに接続して内蔵アプリが自動更新されると、A fatal error occurred while trying to sysprep the machine で失敗するケースがあります。

回避策

  • イメージ作成用VMはインターネット未接続の監査モードで構成する
  • もしくは、対象 Appx パッケージを次の手順で削除してから Sysprep する
# 該当ユーザーで実行されているパッケージを削除
Remove-AppxPackage -Package <packagefullname>

# プロビジョニングを削除
Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>

3. Windows Server 2025 の日本語化問題(2025年〜の既知問題)

Azure Marketplace の Windows Server 2025 英語版を 従来の手順(コントロールパネルから言語パックを追加)で日本語化すると、Sysprep が失敗する ことが確認されています。

回避策:PowerShell で Install-Language ja-jp コマンドを使う。

# 言語パックのインストール(オフラインインストール用)
Install-Language ja-jp

Install-Language コマンドは Windows Server 2025、Windows 11、Windows 10 22H2 以降で利用可能です。Windows Server 2022 以前は使えません。

4. Sysprepはタスクスケジューラ・PSExec経由で実行できない

公式ドキュメントで明記されています:「システムアカウントのコンテキストで Sysprep を実行することはできません。」自動化したい場合はあくまでログオン中の管理者ユーザーセッション、またはAzure Image Builder のような専用ツールを使ってください。

5. ローカル管理者パスワードに注意

Sysprep または OOBE を実行する前にユーザーアカウントに強力なパスワードを割り当てていないと、新規展開後の VM にログオンできなくなる可能性があります。Azure VM では「VMの作成」時に管理者パスワードを再設定するため通常は影響しませんが、ローカルで作成した管理者ユーザーがある場合は注意してください。

📎 参照ドキュメント


スポンサーリンク

トラブルシューティング

“A fatal error occurred while trying to sysprep the machine”

Sysprep実行時に表示される代表的なエラーです。原因を特定するために、まずログファイルを確認してください。

ログファイルの場所

ログファイル内容
C:\Windows\System32\Sysprep\Panther\setupact.logSysprep の動作ログ
C:\Windows\System32\Sysprep\Panther\setuperr.logエラーログ
C:\Windows\Panther\setupact.logOS セットアップ全体のログ

⚠️ 重要:Sysprepを再実行すると setupact.log がクリアされます。エラーが出た場合は、先にPantherフォルダの内容をバックアップしてから対応してください。

よくある原因

エラー兆候主な原因対応
setuperr.logRunExternalDlls:Not running DLLsSysprepの内部状態が壊れているイメージを再作成
ストアアプリ関連のエラー内蔵アプリの更新・削除の不整合上記「現場で躓きやすいポイント」#2を参照
BitLocker関連のエラードライブ暗号化が有効BitLockerを無効化してから再実行
ライセンス Rearm 制限超過(Win7系)Sysprep を3回以上実行イメージ再作成、もしくは <SkipRearm> 設定

一般化したVMから作成したVMが起動しない(”Windows could not finish configuring the system”)

ブート診断のスクリーンショットに「Windows could not finish configuring the system. Setup is starting services.」と表示される場合、OS が Sysprep プロセスを完了できていません

このエラーが発生したVMは復旧不可能です。バックアップがあればVMを復元するか、新しい一般化イメージを作り直す必要があります。

イメージから作成したVMがOOBEで停止する

CD/DVD-ROMが無効化されているのが主な原因です。前述の reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom /v start /t REG_DWORD /d 1 /f コマンドでCD/DVD-ROMを有効化してから再度Sysprepを実行してください。

📎 参照ドキュメント


スポンサーリンク

マネージドイメージ vs Azure Compute Gallery(どちらを使うべきか)

イメージの保存先は2種類あります。新規構築時はAzure Compute Galleryを使うのが公式推奨です。

観点マネージドイメージ(レガシ)Azure Compute Gallery(推奨)
位置付けレガシ(公式は移行を推奨)現行・新機能の対応はこちらのみ
イメージタイプ一般化のみ一般化・特殊化の両方
VM世代Gen1のみGen1・Gen2 両対応
リージョン展開同一リージョン内のみグローバルレプリケーション可
バージョン管理×◎(メジャー.マイナー.パッチ形式)
共有範囲同一サブスクリプション内サブスクリプション・テナント間共有可(RBAC)
新機能対応(Trusted Launch、Confidential VM、ARM64 など)× 非対応◎ 対応
大規模デプロイ◎ レプリカ機能あり
用途開発・検証・小規模本番・組織横断・大規模

既存のマネージドイメージの移行

すでにマネージドイメージを持っている場合は、それをソースにしてAzure Compute Galleryのイメージバージョンを作成できます。

  1. Azure Compute Gallery を作成
  2. イメージ定義(Image definition)を作成
  3. 既存のマネージドイメージをソースとしてイメージバージョンを作成

📎 参照ドキュメント


スポンサーリンク

まとめ

AzureでWindows仮想マシンのカスタムイメージを作成する手順を、Sysprepの仕組み、コマンドオプション、前提条件、躓きやすいポイント、トラブルシューティングまで含めて確認しました。

重要ポイントの再確認:

  1. Sysprepは Windows OS から固有情報を削除して再利用可能なテンプレートを作るツール
  2. 前提条件チェック(CD/DVD-ROM、BitLocker、ドメイン、サーバーロール、MDM)は必ず実施する
  3. Azure VM では sysprep.exe /generalize /shutdown /oobe /mode:vm が推奨される組み合わせ
  4. Sysprep実行後のVMは絶対に再起動しない
  5. ログは C:\Windows\System32\Sysprep\Panther\ 配下で確認できる。事前に C:\Windows\Panther を削除しておくと失敗を防ぎやすい
  6. 新規構築時は Azure Compute Gallery を使う(マネージドイメージはレガシ)
  7. Windows Server 2025 の日本語化は Install-Language ja-jp を使う

これらを踏まえて、検証や開発環境の効率化、本番展開の標準化にぜひ役立ててください。次のステップとして、PowerShell や Azure CLI による自動化、さらには Azure Image Builder によるイメージビルドの自動化にも挑戦してみると、運用がより楽になります。

コメント