coLinuxディスクイメージのファイルサイズを変更する

cautionThis post might be outdated.

この投稿は14 年前に投稿されたものです。
記載内容が古くなっている可能性があります。

 coLinuxとは、Windowsのネイティブ環境でLinuxをエミュレータなしに同時に動かすことを目指したシステムで、現在betaバージョンがsourceforgeのcoLinuxサイトで公開されています。(*1)
 別ハードを立てなくてもLinuxを動かせることと、実用に耐えるパフォーマンスが出ること、そして何よりフリーソフトであるので最近重宝しております。
(開発者様ありがとうございます_o_)

 このcoLinuxで使用するディスクはrawモードも使用できますが、通常はディスクイメージのファイルを使用します。このファイルは固定長で最初に割り当てた大きさからの変更をしたい場合、少々工夫が必要になります。やってみて成功したので、簡単にまとめておきます。

(*1) coLinuxのインストールの仕方はERROR STORMさんのサイトや、coLinux導入メモ(元リンク消失につきarchive.orgを参照中)が詳しいので、必要な場合はそちらを参照してください。

resize2fsを使用したcoLinuxディスクイメージのリサイズ

coLinuxのディスクイメージとしてext2(ext3)を使用している場合、e2fsprogsにあるresize2fsにてサイズ変更が可能です。

さすがに動いている自分自身(=coLinux)で自分のディスクイメージのファイルサイズを書き換えることはできないので(^^; coLinuxではなく、Cygwin上にて上記のresize2fsを使用してディスクイメージをリサイズします。

Cygwin側にext2progsがなかったら、Cygwin Setupを使用してパッケージをインストールしておく必要があります。下記では、1.5G(1536M)に変更しています。サイズ指定には「K」「M」「G」が使えます。
resize2fsコマンドの詳細はmanを見てください。

resize2fsコマンド実行時の注意点

コマンド実行時に一点注意をしておかないといけないのは、イメージファイルのある /cygdrive/c/coLinux ディレクトリに移って、カレントディレクトリにイメージファイルがある状態でresize2fsを実行しないとエラーが出ます。
coLinuxイメージファイルはWindowsのCドライブ上(私の場合)にあるので、Cygwinからは /cygdrive/c/coLinux 以下に見えます。

× /usr/sbin/resize2fs -p -f /cygdrive/c/coLinux/Debian-3.0r2.ext3-mit-backports.1gb 2G
○ cd /cygdrive/c/coLinux
  /usr/sbin/resize2fs -p -f Debian-3.0r2.ext3-mit-backports.1gb 2G

resize2fsでのファイル指定では、このcygdriveを使った絶対パス指定をすると、イメージファイルがうまく認識されないようです。このcygdriveを使った絶対パス指定でコマンドを実行すると、

と怒られてしまいます。(^^;;