手順はヘルプの [MED-V 用の Windows Virtual PC イメージの作成] に載っているのですが、自分でもまとめておこうと思います。
Archive for the ‘MDOP’ Category
MED-V 2.0 を日本語化
RTM してから全く触っていない MED-V 2.0 ですが、先日 Microsoft Enterprise Desktop Virtualization (MED-V) 2.0 – ローカライズされたソフトウェアの更新プログラム の提供が開始されました。
早い方はもう検証をされていらっしゃるのですが自分でも触ってみないとな~とおもって試してました。
山市良のえぬなんとかわーるど > MED-V 2.0 英語版を日本語版に!!
ものすごい久しぶりに触ったので、まったく使い方を覚えていませんでした…。
# MED-V 2.0 の ゲストエージェントってワークスペース パッケージャーで自動でインストールされるというのも知りませんでした…。
MED-V 2.0 の情報については以下にまとまっているようです。
Microsoft Enterprise Desktop Virtualization 2.0
MED-V v2 Beta を検証 [展開用パッケージのインストール]
作成された展開用パッケージのインストールについてまとめていきたいと思います。
展開用パッケージをインストールする前に、MED-V のクライアントコンポーネントをインストールする必要があります。
■ MED-V Client のインストール
- MED-V Client のインストーラーを実行します。
今回は、x86 の Windows 7 を使用していますので、[MED-V_Client_x86.msi] を実行します。 - [Next] をクリックします。
- [I accept the terms in the License Agreement.] を有効にし、[Next] をクリックします。
- [Next] をクリックします。
- [Install] をクリックしてインストールを開始します。
- [Finish] をクリックしてインストールを完了します。
これで展開用パッケージをインストール可能にするためのクライアントコンポーネントがインストールされます。
このクライアントコンポーネントなのですが、ファイル名に Client とついていますが、[MED-V Host Agent] がインストールされます。
ヘルプやダウンロードできるドキュメント内の MED-V Host Agent と記載されているものはこのクライアントコンポーネントをインストールしないと使用することができません。
# ちょっと名前が紛らわしいですよね…。
続いて展開用パッケージのインストールを行います。
# 展開用パッケージは多言語対応されている用で日本語で表示されます。
■展開用パッケージのインストール
- 作成したパッケージの [setup.exe ] を実行します。
- [次へ] をクリックします。
- [インストール] をクリックして、インストールを開始します。
- [完了] をクリックしてインストールを完了します。
[Launch MED-V] が有効になっているので、完了後に MED-V が実行されるのですが、今回は以下のメッセージが表示されてしまいました。
MED-V のパッケージのインストールまではワークグループ環境で実行ができるのですが、MED-V の実行は [ドメイン環境が必須] になります。
ドメインユーザー以外で MED-V を実行しようとしても上記のメッセージが出力されてしまい実行することができませんので注意が必要です。
デフォルトの設定でパッケージを作成するとログイン時に MED-V が自動で実行されるように設定がされています。
ドメインユーザーでログインすると以下のダイアログが表示されるのですが、これは MED-V が自動で実行されているためです。
[Start] をクリックして、即時実行してみます。
そうすると仮想マシンとして MED-V で展開した仮想マシンが自動で作成/実行されます。
また、通知領域に MED-V Host Agent のアイコンが表示され、[MED-V Configuring <ワークスペース名> for use.] というメッセージが出力されます。
今回は [Attended Setup] にしていますので、実行中の sysprep の状況を確認することができます。
# 初回起動時は sysprep による初期化が行われ起動まで時間がかかります。
応答ファイルが適切に構成されておらず、無応答セットアップになっていない場合はセットアップの途中で止まっている可能性もありますので、一度 [Attended Setup] でテスト展開をしてみて、正常に展開することは本番運用でも確認したほうが良さそうですね。
Sysprep 終了後に、Sysprep.inf で設定していた WMIC と FtsCompletion.exe が実行されます。
FtsCompletion.exe の実行が終了すると自動でシャットダウン → 起動されます。
起動されると、[initializing.] になり、
仮想マシンへのログインの認証ダイアログが表示され、
# [資格情報を記憶する] を有効にしておいた方がいいかは調査中です。
認証が通ると、ワークスペースの初期化が進み [applications are ready for use] となり、
スタートメニューに公開プログラムが表示されます。
# MED-V 用のフォルダはできず、スタートメニューの直下に表示されました。
MED-V の管理ですが、Administration Toolkit で管理することができ、[MedvHost.exe /toolkit] から実行することができます。
# MED-V_Client をインストールしている必要があります。
この管理コンソールから展開しているアプリケーションと、Web リダイレクトの URL を確認することができます。
ここまでで、MED-V の初期設定は完了です。
MED-V を使用して、IE8 と IE6 を実行した画面が以下の画像になります。
Web リダイレクションが実行されると以下のように表示がされます。
ホスト OS の IE で Web リダイレクション対象の URL を開こうとすると自動的に MED-V のゲスト OS の IE が起動されます。
ここまでの手順だと MED-V の Web Redirection が正常に動作しないので手順を見直す必要があるのですよね…。
MED-V は展開パッケージの VHD と差分ハードディスクで構成されており、MED-V を起動するたびに差分ハードディスクが削除されてしまい初期状態に戻ってしまいます。
# sysprep が永久ループしたのもこの辺の動作が影響していると思ってきました。
この辺の設定も見直さないといけないのですよね…。
2010/10/21 追記
永久ループしていたのは、MED-V のゲスト OS をドメインに参加させていなかったいことが原因のようです。
MED-V のゲスト OS をドメインに参加させないと、Sysprep 後に [FtsCompletion.exe] が実行され、シャットダウン → 起動という処理が実行される際にエラーとなりワークスペースの初期構成が失敗してしまい、仮想マシンが新規作成 (差分ディスクを再作成) され再度 Sysprep が実行されてしまうという流れが繰り返されてしまっていました。
FtsCompletion.exe のシャットダウン後に以下のダイアログが表示され、ワークスペースの初期構成が失敗したというメッセージが表示されます。
ドメインに参加をさせたところ [FtsCompletion.exe] が実行 → シャットダウン → 起動 が終了し、ワークスペースの初期構成が正常に完了して、仮想マシンが再作成されるということがなくなりました。
この現象ですが、FtsCompletion.exe をインストールしなかった場合にも発生します。
MED-V のゲスト OS に関しては FtsCompletion.exe のインストールは必須のようですね。
# このプログラムをインストールしないと Web リダイレクトも動作しないようですし。
MED-V のワークスペースの初期化が正常に完了しないと、MED-V は XP Mode 相当の配置となるようで、Windows Virtual PC の直下に公開プログラムが表示されます。
# ワークスペースが初期化されていない状態だとこのような表示になるようです。
まだまだ検証することはありそうなので、この辺は別の投稿でまとめていきたいと思います。
MED-V v2 Beta を検証 [展開用パッケージ作成]
ここまでで事前作業は終了しましたので展開用のパッケージを作成していきます。
■展開用パッケージの作成
MED-V Workspace Packager を使用して展開用のパッケージファイルを作成します。
- [MED-V Workspace Packager] を実行します。
- [Create a MED-V Workspace Package] をクリックします。
- [Next] をクリックします。
- [Browse] をクリックしてゲスト OS の VHD 参照し、[Next] をクリックします。
- [Next] をクリックします。
MED-V v2 を初めて検証するときは、[Attended setup] にしておくと動作がわかり易いと思います。
Attended Setup はその名称の通り、応答型のセットアップになります。
この方法でパッケージを作っておくと、MED-V の初期起動時の sysprep の動作状況などを確認することができます。
今回は、[Attended setup] を選択してパッケージを作成してみます。
- [Next] をクリックします。
- [Next] をクリックします。
- [Next] をクリックします。
- [Next] をクリックします。
- [Next] をクリックします。
ここで設定した値が、Web リダイレクト対象の URL となります。
MED-V v2 は特定の URL のみゲスト OS の IE で開くという設定ができます。
今回は、[http://www.google.co.jp] を設定しておきました。
- [Create] をクリックしてパッケージを作成します。
- [Close] をクリックします。
以上でパッケージの作成は完了です。
パッケージを作成すると、
- setup.exe
- <Workspace Name>.msi
- <Workspace Name>.ps1
- <Workspace Name>.reg
- <Workspace Name>.medv
が作成されます。
setup.exe/msi はセットアップ用のファイルになります。
.ps1/reg はレジストリ登録用のファイルになっているようです。
MED-V のレジストリは、[HKEY_LOCAL_MACHINESoftwareMicrosoftMedvv2] に格納され、MED-V のパッケージ作成で設定した値はこのレジストリに設定がされるようです。
# Web Redirection の URL もこのレジストリ内に設定がされます。
setup.exe を実行してインストールをするとレジストリへの設定反映もされますので、単体で実行する必要はないのですが、後からちょっと設定を変えたいというときにはこれらのファイルを変更すると良さそうでsう。
.medv は展開用の VHD が格納されています。
この
ファイルは zip 圧縮のファイルになりますので、拡張子を .zip に変更するとファイルを展開することができます。
VHD 内のファイルを少し変更したい場合は、VHD マウントをして変更することもできそうですね。
セットアップを実行すると展開用パッケージをインストールすることができるのですが、MED-V クライアントがインストールされていない状態でセットアップを実行してもエラーとなります。
展開用パッケージのインストールは次の投稿でまとめたいと思います。
MED-V v2 Beta を検証 [展開用パッケージ作成の事前作業]
MED-V v2 の展開用パッケージ作成の事前作業についてまとめていきたいと思います。
# パッケージ作成まで書こうと思ったのですが、事前作業が意外に多かったのでパッケージ作成は別でまとめたいと思います。
パッケージを作成するには、MED-V Workspace Packager をホスト OS にインストールする必要があります。
ヘルプでは、[How to Install the MED-V Workspace Packager] に記載されている内容です。
■Workspace Packager のインストール
MED-V Workspace Packager のインストールには、[MED-V_Console_xxx.msi] を 実行します。
今回はホスト OS に Windows 7 Enterprise Edition x86 を使用しているので、[MED-V_Console_x86.msi] を実行して、32 ビット環境用の Workspace Packager をインストールします。
- [MED-V_Console_x86.msi] を実行します。
- [Next] をクリックします。
- [I accept the terms in the License Agreement.] を有効にして、[Next] をクリックします。
- Windows Update の設定をして、[Next] をクリックします。
今回は、[Use Microsoft Update when I Check for updates] を選択しています。
- [Next] をクリックします。
- [Install] をクリックして、MED-V Workspace Packager をインストールします。
- [Finish] をクリックしてインストールを完了します。
以上で、MED-V Workspace Packager のインストールは完了です。
スタートメニューから Workspace Packager を起動することが可能です。
この Workspace Packager を使用して、展開用のパッケージを作成します。
パッケージを作成する際には、前回の手順で作成したゲスト OS の VHD を指定するのですがここまでの手順で作成した VHD をしてしてパッケージを作成しようとすると以下のエラーが発生します。
パッケージ化をするためには、ゲスト OS 上に [sysprep.inf] が存在しいている必要があります。
# パッケージ化する際にゲスト OS の VHD をホスト OS 上にマウントしてファイルの存在を確認しているようです。
■sysprep.inf の作成
パッケージ化するためにゲスト OS 上で sysprep.inf を作成します。
sysprep.inf を作成するためには、前の投稿で展開をしたセットアップマネージャーを使用します。
ヘルプの [Configuring a Windows Virtual PC Image for MED-V] にサンプルの sysprep.inf が記載されていますのでこれを使っても良いかと思います。
# 英語環境をベースに記載されているので、そのまま使用するとキーボードの設定が英語になってしまいますが。
展開したフォルダの [setupmgr.exe] を実行します。
- setup.mgr を実行します。
- [次へ] をクリックします。
- [新しい応答ファイルを作成する] を選択し、[次へ] をクリックします。
- [Sysprep セットアップ] を選択して、[次へ] をクリックします。
- [Windows XP Professional] を選択して、[次へ] をクリックします。
- [はい、インストールを完全に自動化します] を選択し、[次へ] をクリックします。
あとは完全自動化で無応答セットアップができるように各項目を入力していきます。
ヘルプの sysprep.inf と合わせるようにするためには、以下の設定をします。
"wmic /namespace:\rootdefault path SystemRestore call Disable %SystemDrive%" "c:Program FilesMicrosoft Enterprise Desktop VirtualizationFtsCompletion.exe" |
設定が終了したら、[C:sysprepsysprep.inf] に応答ファイルを保存します。
今回、私が作成した応答ファイルは以下の内容になります。
AdminPassword / ProductKey / Joinomain / DomainAdmin / DomainAdminPassword は環境に応じて適切な値を設定してください。
# JoinWorkgroup は参考としてコメントアウトして記載しています。
;SetupMgrTag [UserData] [Identification] [Networking] [Branding] [Proxy] [Unattended] [GuiRunOnce] [sysprepcleanup] |
この後、sysprep をかけて展開用のイメージ化するのですが、sysprep をする前に Administrator のパスワードを設定なしの状態にしておきます。
ただし、パスワードなしだと再作業をしようとしたときにログオンできない状態になる可能性があるためこの辺の作業はスナップショットを取得しておいて慎重に実施しておいた方が良いかもしれません。
# 応答ファイルと同じパスワードでも大丈夫ですが、Sysprep 実行前はなしにするのが定番だと思います。
また、[FtsCompletion.exe] についてですが、これは First Time Setup のための実行ファイルになるようなのですが何度か試したところ、これを実行すると sysprep が永久ループされてしまい起動することができないという現象が発生してしまいました。 # sysprep の処理が完了する前に FtsCompletion でシャットダウンが発生して、再度 sysprep が実行されてしまいました…。
状況に応じて、[FtsCompletion.exe] の実行はしないように変更したほうが検証をしやすいかもしれません。
# このプログラムで具体的にどのようなことが行われるのかまでは掴めていません…。
2010/10/21 追記
FtsCompletion が完了せずに、sysprep が永久ループしていなかった件ですが、MED-V のゲスト OS の構成が適切でなかったため発生していたようです。
ゲスト OS が適切に構成されている場合、sysprep 後に FtsCompletion が実行され、MED-V のワークスペースの初期化が完了し、ログオンしているユーザーの差分ディスクが使用できる状態になります。
ワークスペースの初期化が正常に終了しない場合、MED-V は差分ディスクを新規に作成し、再度親ディスクの状態を使用しに行きますので、sysprep が永久に終わらないという状態が発生していたようです。
構成が適切でなかった原因なのですが、MED-V のゲスト OS をドメインに参加させるように応答ファイルを構成していなかったことに起因しているようです。
ドメインに参加させるように応答ファイルを構成したら MED-V ワークスペースの初期化も正常に完了し、MED-V Host Agent が起動されるたびに差分ディスクが再作成されるという現象は発生しなくなりました。
ヘルプのサンプル応答ファイルもドメイン参加するように構成されていますので、MED-V v2 ではホスト、ゲスト共にドメイン参加させる必要がありそうですね。
WORKGROUP で、ワークスペースの初期化を正常に完了させ sysprep の永久ループが発生しないようにするための方法は見つけられませんでした。
■VHD から不要なファイルを削除
ここまでの作業が完了すると sysprep を実行して展開用のイメージを作成できるのですが、[MED-V Evaluation.pdf] に、[Instructions for Compacting the VHD] という章があり、VHD から不要なファイルを削除してコンパクト化する手順が記載されています。
展開用のイメージは小さい方がネットワークトラフィックに負担もかけずに済みますので記載内容を実行して最適化をしておきたいと思います。
■DLL キャッシュのクリア
■不要ファイルの削除
- 以下のコマンドをコマンドプロンプトから実行して不要ファイルを削除します。
Delete all $<Name>$ files from the %windir% directory except $hf_mig$
# 修正プログラム適用時に作成される $NtUninstallxxxxxx$ を手動で削除します。
隠しフォルダなので表示されるようにフォルダオプションを変更する必要があります。
$hf_mig$ も削除しても大丈夫な気はするのですが今回は残してあります。DEL "%windir%ServicePackFiles*"
DEL "%windir%Driver Cachei386*"
DEL "%windir%System32wbemAutoRecover*"
DEL "%windir%webwallpaper*"
DEL "%windir%SoftwareDistributionDownload"
DEL "C:Documents And SettingsAll UsersDocumentsMy Music*"
DEL "C:Documents And SettingsAll UsersDocumentsMy Pictures*"
DEL "C:Documents And SettingsAll UsersDocumentsMy Videos*"
■システム復元の無効化
- [マイ コンピュータ] の [プロパティ] をクリックします。
- [システムの復元] タブを選択します。
- [システムの復元を無効にする] を有効にし、[OK] をクリックします。
- [はい] をクリックします。
■イベントログのサイズ調整
- [eventvwr.msc] を実行します。
- [アプリケーション] を右クリックし、[プロパティ] をクリックします。
- 以下の設定をして、[OK] をクリックします。
[最大ログ サイズ] : 512 KB
[必要に応じてイベントを上書きする] : 有効
- [アプリケーション] を右クリックし、[すべてのイベントを消去] をクリックします。
- [いいえ] をクリックします。
- 同様の作業を、[システム] [セキュリティ] に対して実行します。
■ディスククリーンアップの実行
■ページングファイルの設定
- [マイ コンピュータ] の [プロパティ] をクリックします。
- [詳細設定] タブを選択します。
- [パフォーマンス] の [設定] ボタンをクリックします。
- [詳細設定] タブをクリックします。
- [変更] をクリックします。
- [ページング ファイルなし] を選択し、[設定] をクリックします。
- [OK] をクリックします。
- [OK] をクリックします。
- ウィンドウをすべて閉じて再起動します。
■VHD の圧縮
- ゲスト OS をシャットダウンします。
- ホスト OS で [diskmgmt.msc] を実行します。
- [操作] → [VHD の接続] をクリックします。
- ゲスト OS の VHD を選択し、[OK] をクリックします。
- [dfrugui.exe] を実行します。
- 接続した VHD のドライブを選択し、[ディスクの最適化] をクリックして最適化を実行します。
- 最適化が終了したら、[C:Program FilesWindows Virtual PCIntegration Components] を開きます。
- [Precompact.iso] から [precompact.exe] を取り出します。
# ISO ファイルからのファイル取り出しなので、ISO を適当なゲスト OS でマウントしてファイルを取り出します。 - [precompact.exe] を実行します。
- [はい] をクリックして、縮小化前の事前処理を実行します。
- [OK] をクリックします。
- 接続していた VHD を右クリックして、[VHD の切断] をクリックします。
- [OK] をクリックします。
- [Windows Virtual PC] をクリックします。
- MED-V 用のゲスト OS を右クリックして、[設定] をクリックします。
- ハード ディスクを選択して、[変更] をクリックします。
- [仮想ハード ディスクの圧縮] をクリックします。
- [圧縮] をクリックします。
- [閉じる] をクリックします。
■sysprep の実行
実行しなくてもパッケージは作れるのですが、ヘルプの内容に従って展開用に sysprep を実行する場合の手順は以下の通りになります。
ただし、Web Redirect のように、ホストとMED-V のゲストを連携させるための機能を使用するためには、MED-V Host Agent 経由でゲスト OS を起動した後に FtsCompletion.exe を実行して、ワークスペースの初期化を完了させる必要があります。
今回、サンプルとして記載している sysprep には初期ログオン時に自動で実行するように設定をしていますが、sysprep を実行しないでパッケージ化した場合には、手動で実行をする必要があると思います。
- [sysprep.exe] を実行します。
- [OK] をクリックします。
- 以下の設定をして、[再シール] をクリックします。
[ライセンス認証の猶予期間をリセットしない] を有効
[Mini-Setup を使う] を有効
[シャットダウン モード] を [シャットダウン] に設定
- [OK] をクリックします。
今回は、検証の時間短縮のため sysprep は実行しないで作業を進めています。 sysprep 実行時は、MED-V のセットアップ実行後の初回ログオン時にsysprep による処理が実行されます。
2010/10/21 追記
ドメイン参加が必要になるようなので、sysyprep を実行して自動でドメイン参加するように設定をして検証をしました。
ここまでの作業が終わるとパッケージ作成の事前作業は完了です。
次の投稿でMED-V Workspace Packager を使用して、展開用のパッケージ作成についてまとめていきたいと思います。