colinuxのパーティションが99%になってしまいました。
以前
「colinuxのイメージを拡張とswapを使う方法」というエントリを書いたのを思い出し見てみたのですが、自分で書いておきながらすごくめんどくさそうだったので、他に方法ないのか調べてみました。
そしたら
公式のwikiにイメージ拡張の方法がまとめてあったので、ここに書いてある方法でイメージ拡張したログを残しておきます。
ちなみに、このwikiのページには数種類の方法が書いてあるのですが、この中でも今回は「The most reliable way to enlarge the root partition」という方法をやってみました。
- まずはcolinuxが起動してたらshutdown
# shutdown now -h
- 次に新しいイメージをWindowsのコマンドプロンプトで作成する
# fsutil file createnew colinux_new.img 8589934592
8589934592=8Gのことです。4Gだったらこの半分ね。
- colinuxの設定ファイルで手順2で作成したイメージファイルを新しいパーティションとして登録する
昔のXMLの設定ファイルだったら下記のような感じ。
<block_device index="0" path="\DosDevices\c:\path\to\colinux_old.img" enabled="true" />
<block_device index="1" path="\DosDevices\c:\path\to\swap_device.256mb.img" enabled="true" />
<block_device index="2" path="\DosDevices\c:\path\to\colinux_new.img" enabled="true" />
「index="2"」のところは、今自分が使ってないパーティション番号にしなければなりません。
最近のcolinuxの設定だったらば下記のような感じ。
cobd2="c:\path\to\colinux_new.img"
cobd2の「2」は、XMLの場合と同様に今自分が使ってないパーティション番号にしてください。
ちなみに、今回僕は上記のように 0 が既存のパーティション、1 がswapになっていたので、新しいイメージは 2 にしました。
- colinux起動して、データのコピー等を行なう
ここで元のパーティションでcolinuxを起動して、colinux上で以下のコマンドを順に実行していきます。
まずは今まで使ってたパーティションをe2fsckする。ちなみに自分はこれはやりませんでした。というか、当たり前だけどマウントしてるパーティションなのでwarningがでますので注意してください。
# e2fsck /dev/cobd0
次に新しいパーティションにddコマンドを使ってデータをコピーします。ifで指定したパーティションのデータをofで指定したパーティションにそのままコピーします。このコピーは元のパーティションのデータ量により若干時間がかかります。(3GBのパーティションで30分ぐらいかかりました)
# dd if=/dev/cobd0 of=/dev/cobd2
次に新しい方のパーティションをe2fsckとresize2fs、そしてもう一度e2fsckします。
# e2fsck -f /dev/cobd2
# resize2fs -p /dev/cobd2
# e2fsck /dev/cobd2
最後にshutdownです。
# shutdown now -h
- 新しいイメージファイルをメインパーティションに変えて起動
ここまできたらもう少しです。
新しく作ったイメージファイルをメインパーティションとして使うようにcolinuxの設定を変更します。
設定方法は、下記のように今まで index="0"(最近のcolinuxの場合は cobd0="") と設定していたところに colinux_new.img を指定して、先程指定していた 1 の部分を削除してやるだけです。
<block_device index="0" path="\DosDevices\c:\path\to\colinux_new.img" enabled="true" />
<block_device index="1" path="\DosDevices\c:\path\to\swap_device.256mb.img" enabled="true" />
そして、最後にcolinuxを起動させます。問題なくログインできれば成功です。
自分は1時間ぐらいでこれらの作業は完了し、今のところ問題なく動いています。
でもまだ数時間した使ってませんので、なにか不具合があったらまた報告したいと思います。
と、ここまで書いたけど、めんどくささでは前のとそんなに変わらないような気もする…。