• ベストアンサー

Linuxのマルチブート時のブートローダーの設定

現在、Windows XPとFedora 9のデュアルブート環境の端末を所有しています。しかし、OpenSUSE10.3をインストールしなくてはならない事情ができたのですが、未だかつてマルチブート環境を構築したことがありません。 調べたところ、ハードディスクの空き領域にSUSE用のパーティーションを確保 (SWAPは共有可能??)し、その後ブートローダーをMBRでなく、SUSEのパーティションの先頭にインストールすればいい、というところまではわかりました。 しかし、その後、FedoraのほうでGRUBの設定ファイル (grub.conf)を編集し、SUSEのブートローダーを呼び出せるようにしなければいけないようですが、どこの部分に何を書き加えればよいのでしょうか? また、FedoraのほうでSUSEのパーティションをマウントしなければいけないようなことも聞きましたが、その方法にもご教示願えると幸いです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yakan9
  • ベストアンサー率54% (2202/4052)
回答No.3

> SUSEを起動させるには、SUSEのインストールを行う際に、 > GRUBはMBRにインストールするということでよろしいでしょうか? MBRは、通常システムに一つしかありません。 SUSEをインストールしたときは、MBRのポインタは、SUSEの grub.confをポイントするということです。 MBRは、Fedoraのgrub.confのポインタから、SUSEのgrub.confを ポイントに書き換えられてしまうということです。 よって、最新のインストールしたLinuxのgrub.confにポイントが 書き換わるわけです。 よって最新のインストールしたLinuxのgrub.confが有効になり、 それを編集の対象とするのです。 この場合、MBRのポイントの変化は、 XPのc:\boot.ini → Fedoraのgrub.conf → SUSEのgrub.confに、 書き換えられています。 よって、これからは、SUSEのgrub.confの編集が対象となります。

mas_stagea
質問者

お礼

詳細な説明ありがとうございました。 これで安心してマルチブート環境の構築ができます。

その他の回答 (2)

  • yakan9
  • ベストアンサー率54% (2202/4052)
回答No.2

Fedora9は、起動できれば、大丈夫です。 トリプルブートでも何も変わりません。 パソコンが起動する仕組みさえ理解していればよいです。 BIOS → MBR → C:\boot.ini これは、windows XPの起動です。 BIOS → MBR → /boot/grub/grub.conf これは、Fedoraの起動です。 一度、grub.confを見てください。 grub.confの中を見れば、簡単な構造ですよ。 title から、次titleの前まで、コピーして貼り付ければよいだけです。 grub.confが、menu.lstにLinuxの種類により変わるだけです。 また、安全のため、MBRを各Linuxをインストールする度に、 セーブしておけば、いつでも戻せます。 SUSEをインストールする前に、FedoraのMBRを保存しておく。 SUSEをインストールする。 SUSEのgrub.conf(menu.lstかな)に、Fedoraのgrub.confのFedora分を、 コピー貼り付ければよいです。 ヒントとしては、MBRのセーブは、 dd if=/dev/hda of=/media/fd0/mbr-fed.img bs=512 count=1 MBRのリストアは、 dd of=/dev/hda if=/media/fd0/mbr-fed.img bs=512 count=1 Fedoraの/bootパーティションを、hda3とすれば、 mount /media/hda3 /etc/fstabに、 /dev/hda3 /media/hda3 ext3 defaults 0 0 cd /media mkdir hda3 とすれば、アクセスできるでしよう。

mas_stagea
質問者

お礼

ありがとうございます。 ところで、SUSEを起動させるには、SUSEのインストールを行う際に、GRUBはMBRにインストールするということでよろしいでしょうか?

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.1

Linux同士のマルチブートの場合は、同じブートローダー(いまどきは普通GRUBですね)なら MBRにGRUBがあって、その参照する設定ファイルに設定があれば どちらも自由に起動できるようになります。 GRUBは、読み込まれると、まず指定されている設定ファイルを読み出します。 /boot/grub/menu.lstあたりにあったりします。 ただし、ディストリビューションによっていくつか違います。 たとえば /dev/sda1の/boot/grub/menu.lstと /dev/sdb1の/boot/grub/menu.lstをテキストエディタで開いて 設定内容をGRUBが実際に参照するほうにコピーペーストするだけで 起動メニューに追加できるわけです。 逆に、MBR上のGRUBと別のHDDに設定ファイルがあると このHDDを取り外すことでGRUBが正常に機能しなくなったりもします。

mas_stagea
質問者

お礼

ありがとうございます。 とりあえず、インストールを行ってみたいと思います。

関連するQ&A

  • Linux同士でのマルチブートについて

    Linuxのマルチブートをするときには、 GRUBの設定を書き換える必要があります。 具体的には、 /boot/grub/grub.conf (Fedoraをデフォルトでインストールした場合) を書き換えることで実現できます。 ここで、 chainloaderを使うと MBRに入っているブートローダを消しても chainloaderで起動するようにしたOSは起動できると聞きました。 しかし、 インターネットで調べるとそのような記述は発見できませんでした。 chainloaderを使うと MBRに入っているブートローダを消しても chainloaderで起動するようにしたOSは起動できる というのは、間違いなのでしょうか? また、 正しいのならば、 MBRを消した後にchainloaderで起動するようにしたOSの 起動方法も教えて下さい。 よろしくお願いします。

  • ブートローダについて

    疑問がいつくつわきました。 1.WindowsXPのブートローダは、はじめにインストールするのになぜ場所が変わるのでしょうか? 2.Fedoraを最後にインストールする場合、LILOはどこに焼けばいいのでしょうか。ふつうにfedoraのパーティションに焼けばLinuxはWindows7のブートローダに見捨てられてしまいますよね?逆にHDDの先頭512Bに焼けばWindows7が死んでしまうような気がします。 そのほか、考え方に誤りがあれば教えてください。Linux使用歴4年の初心者です。デュアル以上のブートは初めてです。 また、図のUbuntuのところのLILOですが、GRUB2の誤りです。

  • linux複数ブート

    複数のOSのブートをしたいのですが。 やり方がわかりません。 grub.confは、どのように書いたらいいのですか? それから、/bootとswapは、各OS毎に必要なのでしょうか? やりたいものとしては、 CENTOS whitebox FEDORA2.3 すべてをいれたいのです。

  • Linuxデュアルブートのインストール方法

    Linux系のLinuxmint13とWattOS R6をインストールしデュアルブートさせる予定ですが次の手順で間違っていないかご教示下さい。 sda1にLinuxmint13をインストール。sda2にswap領域 ブートローダーはsdaにインストール 未割当領域からsda3 に/boot、 sda4 にWattOS R6をインストール。 後のディストリビューションをインストールする際にパーティション設定画面で基本領域・論理領域の選択肢が出て来ますがこれはどう取り扱うべきなのでしょうか。(予め論理領域にティックされている) grubによってはディストリビューションのインストールの順序があるような情報もありますがこの場合はどうなのでしょうか。(UbuntuとFedoraならFedoraのgrubは他のgrubを認識しない一方ubuntuのgrubは先に入っているgrubを認識する。)

  • grubについて教えてください。

    fedoraとcentosのデュアルブートにしています。 MBRにgrubをインストールしたのですが centosの/boot/grub.confを見に行くようになっている みたいです。 grubのstage1にどこのパーティションの/boot/grub.confを 見に行くようにするのか設定する方法が あるのでしょうか? 情報があれば教えていただけないでしょうか?

  • Fedora8とWindowsXPのデュアルブート

    私はWindows以外のOSを使用するのは初めてで、これからLinuxの勉強をしようと思っている、スーバー初心者です。 表題のとおり、Fedora8とWindowsXPのデュアルブートをしようと思っているのですが、うまくいきません。 【HDD構成、パーティション】 ・マスタHDD MBR(Grub)|Fedora8|未割り当て|SWAP ・スレーブHDD MBR(NTLDR)|C(WinXP)|D(NTFSデータ用) 【//boot/grub/grub.confの設定】 Fedora8をインストールした直後のgrub.confに下記3行を追加しただけです。 title Windows XP rootnoverify (hd1,0) chainloader +1 #boot 【現状】 ・BIOSで起動順番を変更すれば、どちらのOSも起動可能です。 ・FedoraとXPの選択画面は出ます ・XPを選択すると、しばらく真っ黒な画面になり、再度FedoraとXPの選択画面に戻ってしまう。 ・#bootのコメントアウトをとった場合、OSの選択画面でXPを選択すると「Error8」と出て、Karnelが読み込めないというようなメッセージが出ます。 【質問】 今マスタのMBRにはGrubが入っており、スレーブのMBRにはNTLDRが入っています。このような構成ではデュアルブートはできないのでしょうか? NTLDRを消してしまおうかとも思っているのですが・・・できればWindowsの方はあまり触りたくないと思います。 PCの知識に乏しく、四苦八苦しています。おそらく根本的なところが違っているか、わかっていないのだと思います。。。どなたかアドバイスをください!!よろしくお願いします。

  • ブートローダをwindows XP用からGRUBに変更したい

    現在LinuxのみインストールされているPCに今回windows XPをインストールし、デュアルブート環境を構築しようと思います。以前にもデュアルブート環境にありましたが、Linuxの勉強の為あえてデュアルブート環境を構築していませんでした。 そこで質問なのですが、現在ブートローダにはGRUBが使用されており、WindowsをインストールするとWindows用のブートローダに書き換えられると思います。 ここが問題なのですが、Windows用のブートローダを使用すると何故かLinuxが立ち上がらなくなるのでGRUBに書き換えたいのです。このとき、Linuxは立ち上がっておらず、なおかつLinux内のデータを生存させてMBRの内容を書き換える事はできるのでしょうか?

  • GRUBブートローダのインストール先

    こんにちは。 RHEL6のGRUBブートローダインストール先を確認しようと/boot/grub/grub.confを確認したところ、 #boot=/dev/sda とコメントアウトされていました。 この場合の、GRUBブートローダのインストール先ってどこになるのでしょうか。 知っている方、教えてください。 宜しくお願い致します。

  • ブートローダ関係

    80GBのHDD内に、WindowsXP-Pro-(C=40GB・D=30GB) RedHatLinux9(10GB)をインストールして利用したいと 考えております。 WindowsXPのMBRを消さず、FD起動ディスクを使用しないで Linuxを起動させたいのですが、、、 どのように、行ったら できるようになりますでしょうか? 最終目標は、デュアルブートさせた後、 Windows上からLinuxを削除してもWindowsのブートローダで Windowsを使い続けたいという希望です。 GRUBなどを使うとWinのブートローダを上書きして しまうのでできませんでした。 なお、BIOS時に利用できる媒体は、HD,CD の2つしか 利用できません。 このような環境で、希望通りの環境を作るには どのようにすれば、よろしでしょうか?

  • マルチブート設定後のパーティション分割

    WindowsとLinux(Fedora Core 4)のデュアルブート環境を作ったあと、Windowsがインストールされているパーティションを分割しFAT32の拡張パーティションを作成したところ、Fedora Coreが起動しなくなりました。拡張パーティションを削除するとまた起動するようになったのですが、その理屈を教えていただけないでしょうか。 なお、 元々のパーティション hda1 : Windows XP Pro(NTFS) hda2 : Linuxのboot hda3 : Linuxのswap hda4 : Linuxの/ 新しいパーティション hda1 : Windows XP Pro(NTFS) hda5 : Windowsの拡張パーティション(FAT32) hda2 : Linuxのboot hda3 : Linuxのswap hda4 : Linuxの/