ESXiでWindowsゲストをクローンする時

今のところ、仮想ハードディスクをクローンする方法しかしりませんが。

Windowsの入っているハードディスクの容量を少なくすると、クローンをする時間が短くなるのかと思っています。(記事を書き終えてから思うと、事前準備をしている時間を考えると、さっさとクローンを実施した方が早いのかなと思ってしまう。)

Windows7 Professionalでしか試していませんが。

まずは、クローンをしたいWindowsパソコンをセーフモードで起動する。

ものぐさで、コマンドで行いたいときは、

pause セーフモードで起動します。
bcdedit /set safeboot minimal
shutdown /r /t 0

をバッチにして保存して、管理者として実行をしています。

セーフモードでは、

net stop wuauserv
rmdir /s C:\Windows\SoftwareDistribution\DataStore
rmdir /s C:\Windows\SoftwareDistribution\Download

for /D %%1 in (%temp%) do rmdir /s /q “%%1”
for /D %%1 in (%windir%\temp) do rmdir /s /q “%%1”

pause セーフモードを解除して、再起動します

bcdedit /deletevalue safeboot
shutdown -r -t 0

こんな感じのバッチを実行。もちろん管理者として実行。

中身は、Windowsアップデート関連、ユーザーとWindowsのテンポラリーファイルを削除。

23GBほどが、17GBになったと思います。

シンプルなWindows7にWindowsアップデートを実施しているところなので、またあとで容量の報告は変えると思います。

また、デフラグをしたらいいという噂も聞いております。

Linuxですと、zerofree というコマンドで、未使用領域をゼロで埋めるといいという噂も。

そして、稼働ハードディスクを最適化をするコマンド。

vmkfstools –punchzero Windows7.vmdk

実際にクローンを作る

この時に、 win7a.vmdkという仮想ハードディスクがあった場合、
win7a-flat.vmdkというファイルがある場合がある。そしてこの-flatが付いたファイルの方が大きく、元の、win7a.vmdkが、数キロバイトということがある。普通に考えると数ギガ以上の容量のファイルが、実体化と思うと、そうではない。-(ハイフン)が付いたファイルはスナップショットのファイルのようだ。スナップショットを統合、削除しても残っていることがある。でもとりあえずスナップショットが無い状態にしていれば、進むことは出来る。

なお、_(アンダーバー)は、マシン名で使えるので、win7a_1.vmdkなどになっていても、それはスナップショットのファイルではない。では、マシン名にハイフンを入れたらどうなるかというのは、試していない。

続きに進みます。下記のコマンドで実際にクローンを行う。10GBのファイルで30分から1時間を見た方が良い。リモートで実施するときは、プロセスが切れるとどうなるか分からないので、実機で実行するか、LAN内のマシンを経由して行えばいい。

mkdir ../win7b

vmkfstools -i win7a.vmdk ../win7b/win7b.vmdk

その後、仮想マシンとして立ち上がるようにした。

Windowsアップデートのキャッシュやカタログを消した副作用なのか、ServicePack1を当てているにもかかわらず、更新予定に入っている。クローン元のWindowsはある程度アップデートを実施したと思ったけど、ちょっと忘れた。

DataStore の削除は、MSでも案内をしているから問題ないことである。
https://support.microsoft.com/ja-jp/help/875560

更新履歴を削除してしまうので、しょうが無いことなのか。

コメントする

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください