Vista とUbuntu 9.10のデュアルブート 【別々のディスクにインストール】 [ubuntu]
※EasyBCD(公開版)で動くようになったように書いてありますが、後日偶然だったことが分かりました。
※詳しくは「【Ubuntu 9.10】 Ubuntu 9.10 64bit版とVistaのデュアルブート(2度目)」をご覧ください。
最近、AIZU Online JudgeやQ&Aサイトを利用していて、「LINUXに触ってないな~」と思いUbuntu 9.10を入れて見ました。一応、動くようになったのですが、苦労しました。
構成は、2つのハードディスクで、
HDD A: 1パーティション
--パーティション1: Windows Vista (NTFS) [Cドライブ]
HDD B: 3パーティション
--パーティション1: Ubuntu 9.10 ルート(/) (ext4)
--パーティション2: swap
--パーティション3: windows用 (NTFS) [Eドライブ]{余ったので・・}
ブート選択はntldrを使用したい。
ネットで調べたら、GRUBをMBRではなくパーティションを選択してインストールして、パーティションの先頭から512バイトをファイル化(ubuntu.pbr)して、Cドライブの直下にでも置いてbcdeditで「Windows レガシー OS ローダー」にすればできると書いてあったので、やってみたら・・・
できない ・・・
「ファイルが無いか、壊れている可能性~省略~」
\ubuntu.pbr
エラー 0xc000007b
。・゚・(ノД`)・゚・。 うえええん
そこで、
bcdedit /create /d "Ubuntu 9.10" /application bootsector
として「リアル モード ブート セクタ」にした。
今度はGrubまでは行くんだけど・・・そこから起動されない。。。
(´Д⊂ モウダメポ
色々やって、万策尽きてとうとうEasyBCDのお世話になりました。
そしたらすんなり起動された。さすが、(*゚▽゚ノノ゙☆パチパチ
それで、作成されたブートローダーのイメージを見たら拡張子が「mbr」になってる・・・
それで私は調査&妄想(想像)し始めました。ここからはかなりの憶測ですが・・・
初めのubuntu.pbrの拡張子「pbr」はどうやら「パーティション ブート レコード(Partition Boot Record)」の略のようです。当然EasyBCDは「マスターブートレコード」。
それで、初めに記述したネットで調査した方法はいずれも、Cドライブを圧縮なりして空いたエリアにubuntuを入れる方法だった。
ひょっとして、PBRにGrubをインストールしてイメージ化するんだけど、PBRに入れたときはどのパーティションがBootパーティションになるかの情報はあるけど、どのHDDのどのパーティションかまでは情報までは入ってないのかなと思い始めました。
HDD Aに入れたらパーティションは1つしかないしVistaがはいっているのでダメなのかな~と、妄想・・・
そうなると、HDDを選ぶときはマスターブートレコードをイメージ化してあげないと、ハードディスク情報まで入ってないのでは??
と、いうことは別のディスクにインストールするときに/dev/sdb1としましたが、(hd1)にして、HDD Bのマスターブートレコードに書き込んで、それをddコマンドでイメージ化して「リアル モード ブート セクタ」にしてあげないとダメ?? などと想像してます。
さらに、ファイル化するまでもなくHDD Bの MBRにGrubをインストールして、ntldrから直接HDD BのMBRを呼び出す方法があるのでは??とか妄想してます。
ただ、単に拡張子をmbrにすればよかっただけかもしれないし、読み取り専用にすれば直ったのかも・・・
それからubuntu9.10からはGrub2が使用されていますが、仕組みが分かってないだけかも・・・
いずれにしても、勉強不足です。出直してきます・・・モ、ダメ...(o_ _)/[壁]
コメント 0