仮想化環境(VMwareやHyper-V)にインストールしたゲストOSをソフトウェアの機能でクローンを作成することがよくあります。LinuxやUNIXだと、問題は無いと思います(今まではありませんでした。)が、ゲストOSがWindowsだった場合、クローンした仮想マシンで発生する問題がSIDの重複。Windowsはマシンを認識するために個別のIDであるSIDを持っています。(例.S-1-5-21-1606980848-725345543-1801674531-1003)
ゲストOSのクローンやコピーを行うと、このSIDも引き継いでしまい、コピー元と同じSIDになってしまいます。(SIDの確認方法は、7.SIDの確認で記載しています。)SIDはマシンに割り当てられる一意のIDになるので、重複するとドメイン参加時などで不都合が出ます。(以前、Windows Server Failover Cluster (WSFC)環境の構築で問題になりました。)
そんなSIDですが、再度、設定する場合にはWindowsに実装されているsysprep.exeを使います。クローンした仮想マシンでsysprep.exeを実行して、再起動を行うと、WindowsのSIDが再生成され、重複が無くなります。
今回はWindows 2012 R2の環境でsysprepを実行するときの手順を紹介します。
クライアントPCのOS展開をイメージバックアップソフトなどで行う場合や、仮想化ソフトウェアでのサーバOS展開時にもsysprepは良く利用するので、覚えておくと、きっと現場で役に立つかと思います。
1. sysprepの起動
管理者でログインして、[Windowsスタートメニュー]を右クリック、[ファイル名を指定して実行]をクリックして、ダイアログを開きます。
ダイアログが開いたら[名前]にsysprepと入力して[OK]をクリックします。
sysprep.exeがあるフォルダが表示されます。
sysprep.exeをクリックします。
2. sysprepの実行
sysprep.exeをクリックすると、[システム準備ツール]ダイアログが開きます。
環境により、任意で変更してください。
以下は設定の一例です。
[システムクリーンアップアクション]:システムのOOBE(Out-of-Box Experience)に入る
※システムが初期状態に戻ります。
[一般化する]:チェックを入れます。
※SIDを再度、作成します。(ハードウェア固有の情報が削除されます。)
[シャットダウン オプション]:任意ですが、仮想化環境の場合、[終了]として手動で再起動しています。
[OK]をクリックすると、[Sysprepを実行しています...]ダイアログと処理状況が表示されます。
ここでは大体5分程度の時間が掛かるようです。
sysprepの実行が完了するとダイアログが閉じます。
ゲストOSを手動で再起動します。
3. システムの再起動(一回目)
Windowsの起動中に[デバイスを準備しています **%]と表示されます。デバイスの準備が完了すると、再度、OSの再起動が行われます。
4. システムの再起動とOSの初期セットアップ
4-1. 言語設定
二回目の再起動が完了すると、OSの初期セットアップウィザードが起動します。
パラメーターについては、任意ですが、日本ですので、日本の環境に合った項目を選択します。
4-2. Administratorパスワードの設定
再度、Administratorパスワードを入力します。
初期セットアップですので、複雑なパスワードを要求されます。
5. 初期化の完了
初期セットアップウィザードが完了すると、初期のWindows画面が起動します。
一部の設定は、sysprepを行う前の状態ですが、殆どが初期の状態です。
6. sysprepしたマシンでのドメイン参加
sysprepしたマシンでIPやホスト名などを設定して、ドメインへ参加します。
SIDが重複しているマシンの場合、ここでエラーになり、ドメインへ参加できません。
今回はsysprepを完了しているので、問題なくドメインへ参加することができました。
7. SIDの確認方法
SIDの確認は
-
Windows Server 2012 R2をより便利に利用するコマンド12点
Windowsを利用している環境だと、GUIに頼ってしまいませんか。WindowsのGUIは直観的に操作でき便利ですが、PowerShellが実装された最近のWindowsは便利なコマンドが用意されています。更に言うと、コマンドからしかでき ...
に記載したwhoamiコマンドを利用します。
コマンドプロンプトから
whoami /user
と実行すると、ログインしているマシンとアカウントのSIDが表示されます。
----------------
ユーザー名 SID
============== =============================================
PC\account S-1-5-21-101613292-3650419722-1644719356-1001
出力結果の"S-1-5-21-101613292-3650419722-1644719356"までがマシンのSID、"1001"はユーザーアカウントのRIDになります。
8. まとめ
今回はドメインコントローラーとして設定したマシンをクローンして、メンバーサーバーとして利用したかったので、クローン後、sysprepを行いました。
OSの導入から、再度、行うと時間が掛かりますので、sysprepとクローンで構築の時間を短縮することができます。