
Ubuntuサーバー上の80GBのvmdkのサイズを変更したいと考えました。
VBoxManage clonehd /path/to/file.vmdk" --format vdi
VBoxManage modifyhd "/path/to/file.vdi" --resize 256000
VBoxManage clonehd "/path/to/file.vmdk" --format vmdk
vmdk のサイズを変更します。
次に、仮想メディア マネージャーの phpvirtualbox から 80 GB の仮想ハード ディスク エントリを削除し、250 GB の仮想ハード ドライブをインポートしました。正常に動作し、起動しましたが、Win Server 2008 が 2 年前の状態になっていることがわかりました。
メディア マネージャーの 80 GB vmdk エントリが削除されたために、スナップショットが受信されなかったことが原因であることがわかりました。新しい 250 GB vmdk には、スナップショットが接続されていません。
vmdk ファイル形式のスナップショットは、「スナップショット」の概要には表示されませんが、参照先の仮想ハード ドライブに接続された仮想メディア マネージャーには表示されます。
他の 2 つの仮想ハード ドライブには、元の構成、ベース vmdk、および 1 つのスナップショットが残っています。構成ファイルを手動で再構築できますか。または、コマンド ラインでベース vmdk とスナップショット vmdk をマージできますか。
VBoxManage clonevm Infor_LN --snapshot \{35dd536c-6e3d-4c62-9b0b-065cc40a59c1\}
VBoxManage: error: This machine does not have any snapshots
回避策として、Windows用のCloneVDIを使用したかったので、すべてのファイルを外付けハードドライブにコピーしましたが、エラーが発生しました
"Compressed VMDKs are currently not supported"
vmdk をスナップショットとマージするにはどうすればよいですか?
答え1
VMDKファイルが複数ある場合は、これスナップショットの順序について何らかの見当がついていると仮定します。古いファイルの最終変更時刻から、そのことが分かるかもしれません。
それ以外の場合、ファイルのバックアップがない場合は、.vbox
適切な情報を含めるように手動でファイルを編集してみてください。これは推奨されません (正当な理由があります) が、それ以外の選択肢はあまりないようです。ダミー VM を作成し、複数のスナップショットを即座に作成するという簡単なテストでは、ネストされた構造のように見えます。そのため、複数のスナップショットを処理する必要がある場合は、おそらく楽しい作業ではないでしょう。
私のアプローチは、80 GB のファイルを使用して新しいスナップショットを作成し、VM を停止して、.vbox
新しいスナップショットの参照がバックアップの古いスナップショットを指すようにファイルを変更することです。または、実際に必要な行はおそらく数行だけなので、XML 部分全体を自分で記述することもできますが、どの行が必要なのかはわかりません。