(注)以下の方法はゲストOSのデータを失う可能性があります。
ここでは65Gのハードディスクを30Gに縮小する。65Gのハードディスクにはプライマリパーティションが1つしかなく、それが全領域を占めている。そして、65Gのうち40G位は空いていなければならない。またホストにはあらじめ30G位の空き領域がなければならない。
1、ゲストの65Gのハードディスクを25Gと40Gのパーティションに区切り、データを25Gの方に移動する。
ここではUbuntuのLiveCD(ubuntu-ja-9.04-desktop-i386-20090510.iso)を使う。
このisoをゲストに接続し、”コンピュータに変更を加えないでUbuntuを使ってみる”で起動する。
[システム]→[システム管理]→[パーティションエディタ]を選択して、gpartedを起動する。
パーティションをリサイズし25Gで区切り、[適用]をクリックして実行する。これでデータはすべて25Gの方に移る。
Ubuntuをシャットダウンし(右上のボタン)、isoを切り離して、OSを起動してみて、起動できるかを一応確認しておく。
2、30Gのハードディスクを新しく作成しデータをコピーする
次に30Gのハードディスクを新しく作成して、ゲストに接続し、再びUbuntuをLiveモードで起動する。
再びgpartedを起動し、新しく追加した30Gのハードディスクにパーティションを追加する。このパーティションはハードディスク全領域にする。フォーマットはしなくていい。
またこのとき、65Gと30Gのハードディスクのパスを確認しておく。ここでは65Gは/dev/sda、30Gは/dev/sdbになっている。
[アプリケーション]→[アクセサリ]→[端末]を選択して、以下のコマンドを実行してハードディスクをコピーする。(間違えるとデータが全部消える。ifは入力、ofは出力、sda1やsdb1の1は最初のパーティションを意味する。)
コピーが終了したら、再びgpartedを起動し、30Gのハードディスクのパーティションを全領域にする。その後、30Gのハードディスクにbootフラグを付ける。
Ubuntuをシャットダウンし、ゲストから65Gのハードディスクを切りはなし、30Gのハードディスクから立ち上がるかを確認する。
成功したら65Gのハードディスクをホストから削除する。