ホーム - ツール - NHM

VMware Player用簡易スナップショット管理

NHM 作成中

NHM 作成中ZM5x 2020/06/06 new
NHM for Linux 作成中ZM5s 2014/12/31
http://twitter.com/eueeno/

情報

説明

注意

NHM 作成中ZM5x 2020/06/06

32bit ダウンロード

64bit UNICODE版 ダウンロード

ZM5t English version translated by Anna Wu.

環境

Windows

古いバージョン

ZM5w 少し古いバージョン
ZM5w 少し古いバージョン 64bit
ZM5w 少し古いバージョン 64bit UNICODE版
ZM5u4 少し古いバージョン
ZM5u4 少し古いバージョン 64bit
ZM5u4 少し古いバージョン 64bit UNICODE版
ZM5u 少し古いバージョン
ZM5u 少し古いバージョン 64bit
ZM5u 少し古いバージョン 64bit UNICODE版
ZM5t 少し古いバージョン
ZM5t 少し古いバージョン 64bit
ZM5s 少し古いバージョン
ZM5s 少し古いバージョン 64bit
ZM5r 少し古いバージョン
ZM5r 少し古いバージョン 64bit
ZM5p 少し古いバージョン
ZM5p 少し古いバージョン 64bit

NHM for Linux 作成中ZM5s 2014/12/31

ZM5s 2014/12/31 ダウンロード Ubuntu 14.04 32ビット のような環境用

ZM5s 2014/12/31 ダウンロード Ubuntu 14.04 64ビット のような環境用

ZM5s 2014/12/31 ダウンロード 上記で動かない場合 32ビット

ZM5s 2014/12/31 ダウンロード 上記で動かない場合 64ビット

環境

Linux

古いバージョン

使い方

まずは普通にVMware Playerを使用して新規の仮想マシンを作成し、スナップショットを保存したいところまで進めてゲストOSを終了し仮想マシンの電源を切ります。自動で電源が切れないゲストOSの場合はVMware Playerの メニュー -> 仮想マシン -> パワー -> パワーオフ を実行して電源を切ります。VMware Playerの閉じるボタンでは電源の切れた状態になりませんので注意してください。仮想マシンが終了して[VMware Player へようこそ]の画面になっているはずです。
電源を切らずに VMware Playerの メニュー -> 仮想マシン -> パワー -> サスペンド を実行した状態でもスナップショットを作成できるのですが、その場合はメモリの状態等が保存されるのでホストOSでのディスク使用量が増えます(そのかわりゲストOSが起動した状態で再開できます。)。

ダウンロードしたNHMのプログラムを適当なディレクトリに解凍します。NHM.EXEを実行します。

NHMの メニュー -> オプション -> オプション を実行してオプションダイアログを表示します。

[VMware Player 実行ファイル]にVMware Playerの実行ファイル vmplayer.exe のパスを設定します。普通にインストールした場合は
[C:\Program Files\VMware\VMware Player\vmplayer.exe]

[C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe]
になるかと思います。[OK]ボタンを押してダイアログを閉じます。

NHMの メニュー -> ファイル -> 新規作成 を実行します。[NHMファイルの新規作成]ファイル作成ダイアログが表示されるのでNHMファイル(仮想マシンのスナップショット管理ファイル)のパスと名前を指定します。場所はVMware Playerで作成した仮想マシンのフォルダがよいかと思います。[保存]ボタンを押します。

[管理するVMXファイルの選択]ファイル選択ダイアログが表示されるので、スナップショットの管理を始める仮想マシンのVMXファイルを選択して[開く]ボタンを押します。

NHMの画面に仮想マシンのタイトルがひとつだけ表示されます。この状態ではスナップショットは保存されていません。タイトルを右クリックしたときのメニュー(以下コンテキストメニュー)の[実行]を実行した場合は元の仮想マシンが変更されます。

スナップショットを保存するために コンテキストメニュー -> 子の作成 を実行します。どこに作成するか選択するフォルダ選択ダイアログが表示されるのでとりあえずそのまま[OK]ボタンを押します。

先ほどの仮想マシンのタイトル(A)の下に子の仮想マシンのタイトル(B)が追加されます。これでスナップショットが保存されたことになります。この状態について説明します。

Aには現在の状態(ハードディスク)が記録されています。Bにはこの先実行した結果(差分)が記録されます。まだ何も実行していないので状態としては現時点ではAとBは同じです。Aに対して[子の作成]を実行すればBの実行結果とは関係なくまたAの状態から始める(Aの状態に戻る)ことができます。これらの子はAに対しての差分なので、A自身を実行してしまうとAの状態(ハードディスク)が変更されてしまい、差分として成り立たなくなります。そのためAは実行できないようにしてあります(コンテキストメニューの[実行]が無効化されています)。

Aのような親(子を1つ以上持っている)は固定された状態(実行不可)、Bのような子(子を1つも持っていない)は変化していく状態(実行化)となります。

Bを最初に実行したときに、
この仮想マシンは移動またはコピーされた可能性があります。
...
よく分からない場合は、「コピーしました」を選択してください。
のようにVMware Playerに聞かれますが、基本的には「移動しました」を選択してください。「コピーしました」だと仮想マシンのMACアドレスが変更されるようです。どちらを選択した場合でもVMXファイルを編集すればMACアドレスは変更できるようです。

何かのテストのために同じ状態(例えばAの状態)から何度も繰り返し実行したい場合は、
Aに対して子の作成(Bができる) Bに対して実行 Bを削除 Aに対して子の作成(Bができる) ...
のような繰り返しになります。

1つのOSに対して複数の互いに依存しない環境(例えば開発用、ゲーム用)が欲しい場合は、共通の状態(OSのインストール終了)まで実行し、その後開発用の子の作成とゲーム用の子の作成を行います。VMware Workstationのスナップショットと違い、NHMでは現在の(唯一の)状態という考え方がありません(この辺の違いがこのツールの使いにくいところであり申し訳ないのですが...)。子を持っていない状態はすべて現在の(実行できる)状態です。同時実行も可能かと思いますが、その場合は同じMACアドレスのマシンが同じネットワークに複数存在することになる(変更は可能)、同じOSを2台のマシンで実行することになるのでライセンス上問題になる可能性があることに注意してください。

難しい(失敗しやすい)環境の構築を行いたい場合は、細かい単位で子の作成を繰り返していき(失敗したらその状態を削除して再度子の作成を行います。)、完成した時点で親を削除していきます(削除しなくてもよいですが)。

使い方(古)

使い方としてXPのサービスパック(SP)の適用の流れを書いておきます。
プログラムのテストを複数のSPの状態で行いたいような目的とします。
XPをインストールした仮想マシンがすでにあるとします。

NHMを起動してオプション-オプションを選択してVMwarePlayerの実行ファイルを設定します。

ファイル-新規作成を選択して管理ファイルの名前(新規)とXPをインストールした仮想マシンのVMXファイルを指定します。

SPの適用されていない状態を残しておきたいので、SP1を適用する新しい状態を作成します。
[winxppro.vmx]を右クリックして子の作成を実行します。

新しくできた2段目のノードを右クリックして実行を選択し、VMware Playerを起動してSP1を適用します。(NHMは終了するのでVMware Playerを終了したらまた起動して、ファイル-開くで先ほど作成したNHM(管理)ファイルを指定してください)

SP1の状態も残しておきたいので、SP2を適用する新しい状態を作成します。
2段目の[winxppro_NHM...]を右クリックして子の作成を実行します。

新しくできた3段目のノードを右クリックして実行を選択し、VMware Playerを起動してSP2を適用します。

それぞれのノードを右クリックしてプロパティを選択することによって、ノードのタイトルを変更することができます。
わかりやすいように次のように変更します。

実行できるのはツリー構造の先端(葉)のものだけです。
例えばSPなしの状態で実行したいときは、今の[SPなし]を実行してしまうとその子のSP1とSP2の状態を壊してしまうことになるので、[SPなし]を右クリックして子の作成を実行します。

新しくできた4番目のノードを右クリックして実行を選択するとSPなしの状態で実行できます。
同様にSP1,SP2のテスト用の仮想マシンを作成して、わかりやすいようにタイトルを変更すると次のようになります。

Counter

inserted by FC2 system