GPartedを使って仮想環境のパーティションサイズを増やす方法

Haskellを入れようとしたらパーティションサイズが1Gもなくて、入れられなかった。そこで、パーティションサイズを増やすことにしたのだが、それが大変でした。

何しろVirtualBoxでHDDイメージ自体は可変サイズとしてあっても、もともとのパーティションサイズは増えてくれない。後から変更して増やす必要があるのだ。デバイスを追加してそれを / に付け足すという方法もあるのかもしれませんがLinuxに疎い僕には/dev/sdaだの/dev/sdbだの言われてもさっぱりでした。


結果的に以下を参考にして、なんとかかんとか出来ました。
http://www.bitgram.net/blog/archives/1777
http://ohtsuka.cocolog-nifty.com/blog/2011/11/gpartedlivecdvi.html
http://www.ifusio.com/blog/resize-your-sda1-disk-of-your-vagrant-virtualbox-vm

  1. まずはGpartedのISOファイルをダウンロードしておく。
  2. 起動時に、F12を押してブート順変更の画面に行き、そこでCDにGpartedをマウント。CDから起動する。
  3. GPartedを起動して、/dev/sda2のサイズを目いっぱいにする。(僕の場合は250GBまで)
  4. GPartedのツールにある、ターミナルを開いてrootになる。
  5. pvresize /dev/sda2 を行う。なんかエラーが出ても無視してOK。
  6. vgdisplayを行って、フリースペースの確認。Free PE /Sizeの行にある数字(例えば60000とする)
  7. lvextend -l +60000 /dev/vg_mycentos/lv_root を行う。(指定するデバイスの名前は lvdisplay で確認可能)
  8. vgdisplayを行って、フリースペースを使い切ったことを確認。
  9. Gpartedを終了して、VirtualBoxを再起動。CDではなくHDDでブートする。
  10. ターミナル開いてrootになる。
  11. resize2fs /dev/mapper/vb_mycentos-lv_root を行う
  12. パーティションサイズが大きくなったことを、df -hで確認する


以上です。