私はそれから取られたスナップショットのかなりの数でvdiを持っています - 例えば50または70のスナップショット。現在の状態を1つのプレーンなvdiにしたい。これらのスナップショットはディスク容量を使い過ぎるため、スナップショットとしては必要ありません。
電話すれば知っている
VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing
欲しいものが手に入ります。しかし、非常に長い時間がかかります(私のハードウェアと16Gの初期ディスクサイズを考えると5時間以上)。
そしてもちろん、私はVBoxManage snapshot delete
を試してみました、そしてそれは奇妙です:停止したマシンでは動作せず、実行中のマシンでは失敗し、一度失敗するとそれ以降のすべての呼び出しに失敗します。
いくつかのスナップショットからプレーンなvdiを作成する方法はありますか - 早くなりますか?
$ VBoxManage --version
3.2.14r75509
( ServerFault で聞きましたが、この場所の方がこの質問に適していると判断しました)
解決策を見つけました。ここで書いたコマンドの最後のステップと同じくらい簡単です。すなわち.
VBoxManage clonehd fullpath/{uuid-of-last-snapshot}.vdi thedisk-full.vdi
そのため、チェーンのすべてのスナップショットではなく、最後のスナップショットだけをクローン化する必要があります。そしてそれは数千パーセント速いです。
UUIDはVBoxManage list hdds | grep VmName | tail
から見つけることができます
GUI(Windowsの場合)で、VMを選択し、右上からスナップショットを選択し、目的のスナップショットを右クリックし、クローンを選択します。 。をクリックし、ダイアログでFull Cloneを選択します。
これは 'Clone'コマンドを使用してすべてのスナップショットを単一のVDIファイルを含む新しいVMにマージして圧縮する手法(VirtualBox 4.3.4でテスト済み)です。
クローンしたVMに現在の名前を再利用できるようにVMの名前を変更します([全般]設定の[基本]タブからVM名を変更できます)。 ).
VMを右クリックして、[クローン...]コマンドを実行します。
古いVMを削除します(VMを右クリックして[削除...]コマンドを実行します)。
その操作は、同じ物理ディスク内の非常に大きなファイルの読み書きを意味します。あなたがそれをスピードアップすることができる唯一の方法はあなたのVBoxManageコマンドでパスを変更することでそれらを異なるディスクに置くことです。マシンにディスクが1つしかない場合は、ネットワーク共有を介して外付けUSBドライブまたは別のマシンのディスクを使用することができます(ネットワークの速度によって異なります)。