[Vagrant & VirtualBox] VirtualBox のディスクサイズを縮小する
肥大化した仮想ハードディスクを縮小します。
以下のバージョンで確認しています。
“`prettyprinted
% vagrant version
Installed Version: 2.2.5
Latest Version: 2.2.5
You’re running an up-to-date version of Vagrant!
% VirtualBox –help
Oracle VM VirtualBox VM Selector v6.0.10
(C) 2005-2019 Oracle Corporation
All rights reserved.
No special options.
If you are looking for –startvm and related options, you need to use VirtualBoxVM.
“`
## ディスクの縮小
`vagrant up` でゲスト OS を起動します。
ゼロ書き込みが完了した後、ホスト OS に戻ります。
“`prettyprinted
% vagrant up
% vagrant ssh
$ dd if=/dev/zero of=zero bs=1M; \rm zero
dd: error writing ‘zero’: No space left on device
57607+0 records in
57606+0 records out
60404719616 bytes (60 GB, 56 GiB) copied, 775.581 s, 77.9 MB/s
$ exit
“`
ホスト OS でディスクの Location を確認します。
“`prettyprinted
% VBoxManage list hdds
UUID: b59506c6-1152-4d68-a267-133f3b31cdd5
Parent UUID: base
State: locked write
Type: normal (base)
Location: /Volumes/WDHD/VirtualBox_VMs/deadwood2/box-disk001.vmdk
Storage format: VMDK
Capacity: 65536 MBytes
Encryption: disabled
“`
VMDK フォーマットは縮小ができないため `.vmdk` から `.vdi` のクローンを作成します。
VM を停止した後に実行します。
> – [5.2. Disk Image Files (VDI, VMDK, VHD, HDD)](https://docs.oracle.com/cd/E97728_01/E97727/html/vdidetails.html)
“`prettyprinted
% vagrant halt
% VBoxManage clonehd /Volumes/WDHD/VirtualBox_VMs/deadwood2/box-disk001.vmdk /Volumes/WDHD/VirtualBox_VMs/deadwood2/box-disk001.vdi –format vdi
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone medium created in format ‘vdi’. UUID: b3a4b065-2357-4ed5-b3fa-320515852db8
“`
変換したディスクの UUID を指定してサイズを縮小します。
“`prettyprinted
% VBoxManage modifyhd b3a4b065-2357-4ed5-b3fa-320515852db8 –compact
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
“`
## ディスクの入れ替え
VirtualBox の 仮想メディアマネージャーを開き、右クリックから変換前のディスクを「解放」して下さい。
後述の全ての確認が終わり不要になったら同じ手順で「除去」します。
マネージャーに戻り、対応する VM の設定を開きます。
ストレージが未指定となっています。
利用していたコントローラーを選択して変換した仮想ディスクを追加します。
以上で終了です。
## 参考ソース
> – [仮想ディスクの圧縮 – VirtualBox Mania](https://vboxmania.net/%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E5%9C%A7%E7%B8%AE/)
> – [VirtualBox の仮想ディスクのサイズを変更する – Qiita](https://qiita.com/niwashun/items/f71b0b805a6f97b514ec)
> – [仮想ディスク(VDI)のサイズ変更 | VirtualBoxの使い方](http://virtual-soft1.nnn2.com/?p=384)