0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VirtualBoxの仮想ディスク(.vdi)のCapacityを半強制的に縮小する

Posted at

経緯

今回新規でSSDを購入したため、HDDにある.vdiをSSDに移動することにしました。
しかし、SSDの容量は256GBに対し、vdiの容量Capacityの設定が500GBになっていたため、
大容量のファイル書き込みを行った際に問題が生じると考えてvdiを縮小する作業を行いました。

通常はvirtualboxのVBoxManager.exeを用いて以下の方法で縮小可能です。

参照 : VirtualBox の仮想ディスクのサイズを変更する

しかし、VBoxManage clonehdを実施しても縮小可能な形式にはならず…
代替案として、下記を参照して強制的に縮小してみたのでその備忘録になります。

参照:How to decrease virtual size/capacity of a Virtualbox vdi file

※注意:強制的にリサイズするため、データが欠損する可能性があります。
    必ずvdiファイルをコピーをした後に実施してください。

環境

  • HostOS : Windows10 Home
  • VMHost : VirtualBox 5.2.26
  • VM OS : Ubuntu 18.04
  • 備考 : LVM未使用

実施手順

1. gpartedで既存パーティションの容量を削減

LiveCDでUbuntuを起動しgpartedを用いてパーティションを変更します。

$ gparted

GUIで操作できるため、パーティションを削減後のディスク容量以下になるように修正

rapture_20190330174833.jpg

2. 容量の小さなvdiを作成する

先に新規の仮想マシンを作成し、容量の小さなvdiファイルを新規に作成。

rapture_20190330175143.jpg

その後、VBoxMaangerで複製する。clonehdの--existオプションでcapacityそのままに内容のみコピーが可能となる
(標準のvboxmanagerの位置:C:\Program Files\Oracle\VirtualBox)

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd <既存のvdi> <上記で作成した新規vdi> --existing

完了した後に、list hddsによりcapacity確認

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe list hdds

3. fsckで微修正

この状態で仮想マシンを起動してもエラーが表示されるため、LiveCDのfsckで調整

## 対象となるパーティションを確認
$ fdisk -l
## 強制的に修正
$ sudo e2fsck -fy /dev/sda1

以上で仮想マシンを立ち上げると動作する・・・はず

おわりに

強制的にリサイズしているので、データ欠損がある可能性が高いです…
あまりいい方法ではないですね。まぁ最終手段ということでよろしくおねがいします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?