デュアルブート(パーティション分割)

いままで、WindowsLinuxをハードディスクを分けて使ってきたが、やっぱりかなーりめんどくさい。
というわけで、一つのハードディスクに同居させることにした。問題はWindowsがハードディスクの全体を使っちゃっててLinux用のスペースがないことだ。
で、考えられる方法としては、

  1. パーティションを切りなおし、Windowsのインストールからやり直し
  2. なんらかの方法で、現存のWindowsパーティションを縮めてLinux用のスペースを作る。

1の方法は確実だが、Windows上のデータは全部バックアップ取らないといけないし、アプリのインストとか設定とか全部やり直しかよ!ということで、2でできたらうれしいわけです。
例のごとくググってたら、どうやらQTPartedつう便利なものがあるらしい。
http://www.stackasterisk.jp/tech/systemConstruction/dual01_02.jsp
QTPartedとは、KNOPPIXというCDブート可能なLinuxディストリビューションに含まれるパーティション変更ツールらしい。Linuxだからもちろんフリー!操作もGUIだから簡単そうに見える。そして、使った結論からいえば実際簡単だった。具体的な手順としては、上記URLのページに書いてるある以上のことはない。KNOPPIXのisoイメージを適当なところ*1から落としてきて、CDに焼いて、CDからブートし、シェルからQTPartedを起動する。あとは、マウスでもってパーティションサイズを自由に伸縮すればいい。

しかしながら、最初のパーティション構成が、

となっていて、拡張パーティションLinuxのために使いたいので*2パーティション2は一旦削除するを免れなかった。幸いシステムおよびアプリケーションは全てパーティション1にあり、パーティション2は純粋にデータのみであったのでバックアップは比較的簡単だった。で、結局パーティション2はバックアップした後一旦削除して、新たに基本パーティションを作りなおして、

とした。その上で、外付けハードディスクに移しといたパーティション2のファイルを全部戻した。結局パーティション1には全く手をつけずに空き領域を確保することができた。この空き領域にLinuxを入れるわけだ。そして、パーティション2はFAT32にして、LinuxWindows両方から読み書きできるようにするのである。続く。

ところで

http://nobumasa-web.hp.infoseek.co.jp/partition/partition.htmlなどを見ると、一つのハードディスクに基本パーティション4つまでっていうのは、どうやらMBR(マスターブートレコード)の長さが512バイト、さらに言えばそのうちのパーティションテーブルの部分が64Bと決まってるからのようだ。いまや、個人用途でも1TBとか言ってるこのご時世になんでこんな仕様が続いてるんだろうか?パーティションテーブルに1MBくらい割いても誰も文句いわないんじゃないか?まあ、多分なんか変えられない歴史的理由とかがあるんだろうけど、ちょっと馬鹿っぽい気がする。

*1:こことかhttp://www.dnsbalance.ring.gr.jp/archives/linux/knoppix/iso/

*2:拡張パーティションは一つのハードディスクの中に一つしか作れない