0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

今回は、Sysprepを利用し、仮想マシンを一般化した後、
仮想マシンをクローニングする手順を解説します。

Linuxと違いWindows仮想マシンを複製する場合、
Sysprepの実行が必要です。

Sysprepは一言で、「PC固有の情報を削除する処理」です。
詳しくは下記サイトに譲ります。

本手順を実施いただくことで、仮想マシンを一から構築する手間を省き、効率的に複数の仮想サーバを構築できます。

具体的には

  • Windowsの初期インストールを省ける
  • 共通のWindowsの役割と機能のインストールを省ける
  • ミドルのインストールと設定を省ける

等のメリットがあります。

手順

前提(OS、サーバ設定周り)

  • Hyper-VでWindows仮想マシンを作成し、OSの初期セットアップを完了していること(今回はWindows Server 2022を使用)
  • (任意)役割と機能がインストール済みであること(今回はプリントサーバーの役割をインストール済み)
    image.png
  • ミドルウェアのインストールと設定が完了していること(今回はapacheやphpをインストール済み)
    image.png

注意点
ミドルウェアによっては複製非推奨の場合があるようです。
各ミドルのインストール要件などを事前に確認することを強くおすすめします。

なお、サーバーの役割のSysprepサポート有無については下記を参照。

前提(Sysprep適用のための準備)

下記はSysprep適用の前提条件となります。

  • ADドメインに参加していないこと(WORKGROUP環境であること)← Sysprepによりドメイン参加状態は解除されると思いますが、念のため明示的にドメインから脱退します。
    image.png
    ※AD環境からWORKGROUP環境への切り替え方法は下記ページ参照

  • Hyper-Vマネージャーにて、仮想マシンのチェックポイントを無効に設定
    image.png

  • チェックポイントがある場合は削除(右ペインの「チェックポイントの削除」)
    image.png
    仮想マシンの[状況]欄に何も表示されなくなればチェックポイントと本体の統合は完了です。
    image.png
    image.png

  • 仮想マシンの仮想ハードディスクファイルはバックアップしておくと安心です

下記サイトが参考になりました。

Sysprep適用

注意
Sysprepを実行するとユーザー情報や設定は初期化され、元に戻せません。

  1. 仮想マシンにログオンし、エクスプローラーで以下を開く
    C:\Windows\System32\Sysprep\
    image.png

  2. sysprep.exeを右クリック→管理者として実行

  3. 以下のように設定し、「OK」をクリック(「終了」を選択しても仮想マシンが閉じることがあるため、ここでは「シャットダウン」を選択。※「終了」=Sysprepを実行し、その後のシャットダウンは手動で行う)
    image.png
    image.png

  4. セッション接続を「終了」する
    image.png

Sysprep実行結果の確認

今回はゲストにSysprep_succeeded.tagが作成されていることをもってSysprep成功と判断します。

ただし、上述の手順で仮想マシンがシャットダウンされた状態であり、ゲストに入って確認することができません。

注意
クローニング前に再度ゲストOSを起動した場合、OOBE(初回セットアップ)が始まってしまい、SIDが割り振られる可能性があります。この状態でクローニングするとSIDの重複が起きるため、ゲストには入らないようにします。

そのため、今回はVHD/VHDX をホストにマウントし、Sysprep_succeeded.tagが作成されていることを確認します。

  1. Hyper-V マネージャーで仮想マシンが「シャットダウン」していることを確認
    image.png
  2. .vhdx(または .vhd)ファイルを右クリックし、「マウント」を選択。
    ※ファイルの場所は下図「参照」から確認可能
    image.png
    image.png
  3. 「マウント中に問題が発生」というエラーが出ましたが、思い当たることもなかったため、マウント状態を確認してみます。
    Powershellで下記コマンドを叩き、vhdxファイルがOSにアタッチされているかを確認します。
    Get-VHD -Path "[フルパス]\[vhdxファイル名].vhdx"
    ⇒出力結果の「Attached」「DiskNumber」を確認します。
    今回私の場合、Attached : TrueでOSにアタッチ(マウント)中、DiskNumber : 3でWindowsによってディスク番号3として認識済みとなっており、マウントは完了していました。
    なお、マウントされていなければAttached : FalseDiskNumber : (なし)と出力されるため、再度手順に間違いがなかったか確認してみてください。
  4. ドライブレターを割り当てるため、「ディスクの管理」 > 該当ディスクの下にあるボリューム(NTFS)を右クリック > 「ドライブ文字とパスの変更」→「追加」> 任意のドライブレターを選び「OK」
    image.png
    image.png
    image.png
    image.png
    image.png
  5. エクスプローラーから「Sysprep_succeeded.tag」が作成されていることを確認
    image.png
  6. ドライブ文字を削除後、マウントを解除する
    ドライブを右クリック > 「ドライブ文字とパスの変更」
    image.png
    「削除」 > 「OK」
    image.png
    対象のディスクを右クリック > 「VHDの切断」
    image.png
    「OK」をクリック
    image.png
    アンマウント完了
    image.png

複製先の仮想マシンの作成

  1. まずは、複製先の仮想マシンにセットするためのvhdxファイルを作成します。さきほどSysprepにかけたvhdxファイルをコピーし、複製(リネーム)します。
    image.png
    image.png

  2. Hyper-Vマネージャを起動し、左ペインより、
    [サーバ]を右クリック > [新規] > [仮想マシン]を選択
    image.png

  3. [仮想ハードディスクの接続]で「既存の仮想ハードディスクを使用する」にチェックを入れ、手順1で作成した.vhdxを指定
    image.png

  4. [要約]画面で内容を確認し、「完了」をクリック
    image.png

複製した仮想マシンを起動する

仮想マシンの初回起動時、Sysprep が成功していれば「Out-of-Box Experience(OOBE)」=Windows 初期セットアップ画面が表示されます。
image.png

また、複製元でインストールしたWindowsの役割やミドルウェアがそのまま保持されていることを確認してください。
image.png

まとめ

以上がHyper-VとWindowsを用いた仮想マシンの複製(クローニング)手順となります。

参考になれば幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?