GeekFactory

int128.hatenablog.com

ディスク容量が足りなくなったら


coLinuxを使っていてディスク容量が足りなくなった。ext2の拡張方法を調べた(思い出した?)のでメモ。
例えば、512MBのイメージを1GBに拡張する場合を考える。現在使用しているイメージを roofs.img としよう。

パーティションの拡張

まず rootfs.img を新しいイメージ rootfs-new.img としてコピーする。

$ cp rootfs.img rootfs-new.img

新しいイメージに現在のイメージを追記する。これで1GBになる。任意のサイズのファイルを追記してもよい。


$ cat rootfs.img >> rootfs-new.img

これでパーティションの拡張は完了だ。下記の状態になっているはずだ。

説明イメージファイル名サイズ
拡張前のイメージrootfs.img512MB
拡張後のイメージrootfs-new.img1GB

ファイルシステムの拡張

ext2resizeコマンドがあるか確認する。ない場合はどこかからを取ってくる。私は、Ubuntudebパッケージを7-zipで解凍してext2resizeコマンドを取り出した。
下記のようにcoLinuxを設定してほしい。

説明デバイスイメージファイル名サイズ
拡張前のイメージ/dev/cobd0rootfs.img512MB
拡張後のイメージ/dev/cobd1rootfs-new.img1GB
いつも通りcoLinuxを起動したら、rootで以下のコマンドを実行する:

# ext2resize /dev/cobd1

これで完了だ。新しいイメージから起動してみてほしい。