'/' ルートパーティションのコピー方法 [Vine Linux]
今の PC はもともと Windows が入っていた所に、Vine をインストール
してデュアルブート環境する為にパーティションを切り直したんだけど、
その時は 5G バイトも確保しておけば十分だろうと思ってたのに、
最近色々パッケージを作ったりする関係で容量が足りなくなってきた。
そこで去年の12月24日のエントリでも書いた、削除した Windows 用の領域を
新しいルートパーティションとして使う事にした。
一番簡単なのは KNOPPIX のようなライブ CD なディストリを使う
方法だと思うんだけれども、それではつまらないので勉強
も兼ねて今使っている環境だけでやることにした。
(て言うか手元にそういうCD/DVDが無くて面倒だったという話もある)
最初は X を起動して gparted でコピーできないかと思ったんだけど、
これだと(リードオンリーであっても)マウントされているパーティションを
コピーすることができない仕様らしく挫折。
で、dump/restore も考えたんだけど、今までこのコマンドを使った事が
無い&ちょっと不安ということで、cp コマンドでやることにした。
ということで以下手順。
今回は /dev/hda5(論理パーティション)を /dev/hda1 (基本パーティション)
にコピーする。
まずはシングルユーザーモードで起動。
次に不要なパーティションを手動でアンマウントして上で
# /sbin/mkfs.ext3 /dev/hda1 (新しい方をフォーマット)
した後に、
# mkdir /tmp/new_root # mount /dev/hda1 /tmp/new_root
として新しいルートパーティションを仮のマウントポイントにマウントし、
# cp -ax / /tmp/new_root
としてファイルを全て新しいパーティション側にコピー。
ちなみに -x を付けておくと別ディスクや別パーティションのファイルは
コピーしないでくれる。
(これで /tmp/new_root 以下の再帰的なコピーも防止される)
その後、/dev 以下を手動でコピーしてやる。
# cp -a /dev/* /tmp/new_root/dev
最後に、grub の menu.lst を新しいルートパーティションから
起動するように変更すれば完了。
本当はマウントした状態でコピーするのは勧められないんだけど、
まあこんな方法で上手くいったケースもあるという事で参考までに。
# この辺りもいずれ GUI から可能になってくれると嬉しいな。
コメント 0