概要
今回は、Sysprepを利用し、仮想マシンを一般化した後、
仮想マシンをクローニングする手順を解説します。
Linuxと違いWindows仮想マシンを複製する場合、
Sysprepの実行が必要です。
Sysprepは一言で、「PC固有の情報を削除する処理」です。
詳しくは下記サイトに譲ります。
本手順を実施いただくことで、仮想マシンを一から構築する手間を省き、効率的に複数の仮想サーバを構築できます。
具体的には
- Windowsの初期インストールを省ける
- 共通のWindowsの役割と機能のインストールを省ける
- ミドルのインストールと設定を省ける
等のメリットがあります。
手順
前提(OS、サーバ設定周り)
- Hyper-VでWindows仮想マシンを作成し、OSの初期セットアップを完了していること(今回はWindows Server 2022を使用)
- (任意)役割と機能がインストール済みであること(今回はプリントサーバーの役割をインストール済み)
- ミドルウェアのインストールと設定が完了していること(今回はapacheやphpをインストール済み)
注意点
ミドルウェアによっては複製非推奨の場合があるようです。
各ミドルのインストール要件などを事前に確認することを強くおすすめします。
なお、サーバーの役割のSysprepサポート有無については下記を参照。
前提(Sysprep適用のための準備)
下記はSysprep適用の前提条件となります。
- ADドメインに参加していないこと(WORKGROUP環境であること)← Sysprepによりドメイン参加状態は解除されると思いますが、念のため明示的にドメインから脱退します。
※AD環境からWORKGROUP環境への切り替え方法は下記ページ参照
-
チェックポイントがある場合は削除(右ペインの「チェックポイントの削除」)
仮想マシンの[状況]欄に何も表示されなくなればチェックポイントと本体の統合は完了です。
-
仮想マシンの仮想ハードディスクファイルはバックアップしておくと安心です
下記サイトが参考になりました。
Sysprep適用
注意
Sysprepを実行するとユーザー情報や設定は初期化され、元に戻せません。
-
sysprep.exe
を右クリック→管理者として実行 -
以下のように設定し、「OK」をクリック(「終了」を選択しても仮想マシンが閉じることがあるため、ここでは「シャットダウン」を選択。※「終了」=Sysprepを実行し、その後のシャットダウンは手動で行う)
Sysprep実行結果の確認
今回はゲストにSysprep_succeeded.tagが作成されていることをもってSysprep成功と判断します。
ただし、上述の手順で仮想マシンがシャットダウンされた状態であり、ゲストに入って確認することができません。
注意
クローニング前に再度ゲストOSを起動した場合、OOBE(初回セットアップ)が始まってしまい、SIDが割り振られる可能性があります。この状態でクローニングするとSIDの重複が起きるため、ゲストには入らないようにします。
そのため、今回はVHD/VHDX をホストにマウントし、Sysprep_succeeded.tagが作成されていることを確認します。
- Hyper-V マネージャーで仮想マシンが「シャットダウン」していることを確認
- .vhdx(または .vhd)ファイルを右クリックし、「マウント」を選択。
※ファイルの場所は下図「参照」から確認可能
- 「マウント中に問題が発生」というエラーが出ましたが、思い当たることもなかったため、マウント状態を確認してみます。
Powershellで下記コマンドを叩き、vhdxファイルがOSにアタッチされているかを確認します。
Get-VHD -Path "[フルパス]\[vhdxファイル名].vhdx"
⇒出力結果の「Attached」「DiskNumber」を確認します。
今回私の場合、Attached : True
でOSにアタッチ(マウント)中、DiskNumber : 3
でWindowsによってディスク番号3として認識済みとなっており、マウントは完了していました。
なお、マウントされていなければAttached : False
、DiskNumber : (なし)
と出力されるため、再度手順に間違いがなかったか確認してみてください。 - ドライブレターを割り当てるため、「ディスクの管理」 > 該当ディスクの下にあるボリューム(NTFS)を右クリック > 「ドライブ文字とパスの変更」→「追加」> 任意のドライブレターを選び「OK」
- エクスプローラーから「Sysprep_succeeded.tag」が作成されていることを確認
- ドライブ文字を削除後、マウントを解除する
ドライブを右クリック > 「ドライブ文字とパスの変更」
「削除」 > 「OK」
対象のディスクを右クリック > 「VHDの切断」
「OK」をクリック
アンマウント完了
複製先の仮想マシンの作成
複製した仮想マシンを起動する
仮想マシンの初回起動時、Sysprep が成功していれば「Out-of-Box Experience(OOBE)」=Windows 初期セットアップ画面が表示されます。
また、複製元でインストールしたWindowsの役割やミドルウェアがそのまま保持されていることを確認してください。
まとめ
以上がHyper-VとWindowsを用いた仮想マシンの複製(クローニング)手順となります。
参考になれば幸いです!