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\Downloadfor /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
更新履歴を削除してしまうので、しょうが無いことなのか。