VirtualBoxのファイルを小さくしたい

WordPressの開発はVCCWで行っているのだけど、

VirtualBoxのファイルが数ギガとでか過ぎてプロジェクトが増えるとやばい。

調べたところ小さくできるようなので手順をメモっとく。

 

1.対象のHDのIDを調べる

$ vboxmanage list hdds

UUID:           5639c3a9-ae54-45b8-845c-2f2b677cc50a
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/hogehoge/VirtualBox VMs/example/box-disk1.vmdk
Storage format: VMDK
Capacity:       102400 MBytes
Encryption:     disabled

...複数出る

Locationで対象のHDを探し、UUIDをコピーしとく。

2.HDをコピーする

$ vboxmanage clonehd 5639c3a9-ae54-45b8-845c-2f2b677cc50a "/Users/hogehoge/VirtualBox VMs/example/box-disk2.vdi" --format vdi

vdiというのが容量を縮小できる形式らしい。

box-disk2.vdiというファイル名は自由。

この処理には時間がかかる。

3.コピーしたHDのIDを調べる

$ vboxmanage list hdds

...複数出る
UUID:           e2991e09-72b7-4363-9b7c-b53c4c288b76
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/hogehoge/VirtualBox VMs/example/box-disk2.vdi
Storage format: vdi
Capacity:       102400 MBytes
Encryption:     disabled

1.で使ったコマンドをもう一度。

多分、一番下に追加されているのでまたUUIDをコピーしとく。

4.コピーしたHDを小さくする

$ vboxmanage modifyhd e2991e09-72b7-4363-9b7c-b53c4c288b76 --compact

ちと時間かかる。

5.対象マシンのIDを取得する

$ vboxmanage list vms

...複数出る
"example" {b363d109-ad25-4eaf-8002-67e75463a951}
...複数出る

{〜}の〜がIDなのでコピーしとく。

さっきのHDの一覧とは異なるので要注意。

6.HD情報を確認する

$ vboxmanage showvminfo b363d109-ad25-4eaf-8002-67e75463a951

Name:            example
Groups:          /
Guest OS:        Ubuntu (64-bit)
UUID:            b363d109-ad25-4eaf-8002-67e75463a951
...その他いろいろ
SATA (0, 0): /Users/hogehoge/VirtualBox VMs/example/box-disk1.vmdk (UUID: 5639c3a9-ae54-45b8-845c-2f2b677cc50a)
...その他いろいろ

最初に調べた対象のHDDについて書かれた行を探す。

その最初の文字列をメモっとく。

この場合だと”SATA”。

“IDE Controller”や”SATA Controller”の場合もある。

7.HDを付け替える

$ vboxmanage storageattach b363d109-ad25-4eaf-8002-67e75463a951 --storagectl "SATA" --port 0 --device 0 --type hdd --medium e2991e09-72b7-4363-9b7c-b53c4c288b76

“SATA”の部分が、場合によって”IDE Controller”や”SATA Controller”になる。

8.確認

$ vboxmanage showvminfo b363d109-ad25-4eaf-8002-67e75463a951

6.で使ったコマンドをもう一度流して、HDの部分が変わったことを確認する。

$ vagrant up

さらに念の為、起動してみた方が確実。

問題なさそうであれば次へ。

9.古いHDを削除

$ vboxmanage closemedium disk 5639c3a9-ae54-45b8-845c-2f2b677cc50a --delete

1.で使ったコマンドで、IDは確認した方が良い。

以上。

参考ページ
http://d.hatena.ne.jp/stealthinu/20170919/p1

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です