No Persistent モード
VMware Workstation のスナップショット機能のように高性能ではないが、VMware Player でも起動後の変更をディスクに反映させず、ある時点でのシステム状態を保持することが可能だ。具体的には .vmx ファイルを開き、適用したいパーティションごとに No Persistent モードを設定する。ドライブ名とパーティション番号の間はセミコロンであることに注意されたし(以前ここがピリオドになっているのに気付かず、かなりハマった・・・)。
scsi0:0.mode = "independent-nonpersistent"
この状態で仮想マシンを起動すると幾つかの REDO ファイルが一時的に作成される。変更は逐次ここに書き込まれ、仮想マシンの終了時にすべて削除されるという仕組みだ。どのみち起動後の変更は破棄されるのだから終了処理は OS のシャットダウンを経由せず、VMware Player のメニューから「トラブルシューティング > パワーオフして終了」でブチ切りさせるほうが速い(笑)。
変更を反映
No Persistent モードで起動しても、場合によっては変更を反映させたくなることがあるかもしれない。通常は終了時にすべて破棄されてしまうが、一旦サスペンドモードで抜けることでこれを回避できる(メニューから「終了」を選択)。この状態はいわば一時停止であり REDO ファイルも消去されずそのままである。サスペンド再開後、OS を終了すれば、やはりすべての変更は破棄される。しかしサスペンド再開前に .vmx ファイルに細工をすることで REDO ファイルに記録された変更をディスクに反映させることが可能となる。その方法は実に単純である。ただ No Persistent モードを無効にするだけである。個人的には行頭に # を付けてコメントアウトさせている。
#scsi0:0.mode = "independent-nonpersistent"
この状態で仮想マシンを呼び出すと OS 起動前にダイアログが表示され、REDO ファイルの反映または破棄を選択できる。起動後は Persistent モードで動作するので無駄な変更を反映させないためには一旦 OS を終了させ、No Persistent モードに戻す必要がある。
もっともあらかじめディスクを更新することがわかっている場合は、最初から Persistent モードで起動するほうがよい。ディスクのコミット処理は負荷が高く、かなりの時間を要してしまうためである。
ただし
最終更新:2008年11月08日 06:59