こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

grubでトリプルブートがしたい

はじめて質問します。お願いいたします。

grubを使用して、トリプルブートしようとしています。
Vine Linux3.0→Win2000(NTFS)→WinXP(FAT32)の順番にインストールしました。
NT Booter でWindows2000の拡張ドライブでXPとのデュアルブートが構成されました。
それはいいのですが、grubからWindows2000のブートはできてもWindowsXPのブートができないのです。

WinXPを立ち上げるのに
grubでWindows2000を選び、
NT booterのリストからXPを選ばなければならない状況です。

それでは、2ステップ踏まなければならなくなるので
面倒だなって思ってます。

通常、grubから拡張ドライブであるWindowsXPを立ち上げることはできるのでしょうか。
それとも、なにか構築の仕方がおかしいのでしょうか。

投稿日時 - 2004-09-27 04:48:12

QNo.1018314

暇なときに回答ください

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

1.の手順ではgrubからNTFSにアクセスする事が出来ず、ntdetect.comをロード出来ませんでした。

2.のntldrから起動する方法が使えました。
#grub.conf又はmenu.1st
title vine
root (hd0,0)
kernel (hd0,0) /vmlinuz

title win2k
rootnoverify (hd0,1)
chainloader +1

title winxp
rootnoverify (hd0,2)
chainloader +1

#boot.ini w2k
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\winnt

#boot.ini xp
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

これで行けるかと思います。

投稿日時 - 2004-11-09 08:31:40

補足

ありがとうございます。
遅くなってすみません。

いままでの経緯を書きます。
なぜかうまくいきません。
grubからXPを起動するとgrubプロンプトになってしまいます。

なにかミスってたらご教授ください。

C :win2k
E e:winXP

C:\にある3つのファイル
ntldr、
bootdetect.com、
boot.ini

をE:\にコピーしました。


vine linux のgrub.confは、以下のようになります。

title Vine Linux (2.4.26-0vl15)
root (hd0,0)
kernel /boot/vmlinuz-2.4.26-0vl15 ro root=/dev/hda1 vga=773 resume2=swap:/dev/hda2
initrd /boot/initrd-2.4.26-0vl15.img
title Windows
rootnoverify (hd0,2)
chainloader +1

title WindowsXP
rootnoverify (hd0,4)
chainloader +1



[boot loader]=Win2k
timeout=5
default=multi(0)disk(0)rdisk(0)partition(3)\WINNT


[boot loader]=WinXP
timeout=5
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS

投稿日時 - 2004-11-24 20:46:05

ANo.3

実験してないので可能性で話します。
ハードディスクの先頭からVINE、Win2000、XPだとして考えました。
1.現行のgrubがもしNTFSを読めntdetect.comをロードできるならNTLDRを使わずに
title vine
root (hd0,0)
kernel (hd0,0) /vmlinuz
title win2k
rootnoverify (hd0,1)
chainloader /ntdetect.com
title winxp
rootnoverify (hd0,2)
chinloader /ntdetect.com
ntdetect.comをxpのルートにコピーしておきます。

2.grubでntdetect.comをロードできない場合、w2kパーティションのntldr、bootdetect.com、boot.iniをコピーします。ntldrをロードするブートセクターはxpのインストール時に書かれていると思いますので、上記のchainloaderのオプションを+1とし、w2k/xpそれぞれのboot.iniを編集してデフォルト起動、timeout=0として見るのはいかがでしょうか。

参考URL:http://www.corso-b.net/~spe3609a/multiboot/index.html

投稿日時 - 2004-11-08 22:09:32

ANo.2

本筋とははずれるいささか邪道ですが MBRから制御するマルチブートのソフト(商品ならシステムコマンダーとかです)と併用すると 対応の柔軟性は増すと思います。
ちなみに私はフリーソフトの Multiple Boot Manager (MBM) (R0.38) を愛用させて頂いています。

こういったソフトの中には 一時的に任意の領域を隠す 機能があるものも(MBMも)あります。
ただ、MBMは直接に拡張領域の起動を呼ぶ事はできません。
Linuxをお使いですから 基本領域を3つ作ってしまって、そこに3つのOSをインストして データ(やswap)は 拡張領域に論理領域を複数作って共有(?)という構成でも良いのであれば:MBMに沿ってお話すれば、3つのOSのインスト時 には他の2つの基本領域を先にマスク(隠し)ておいて作業することで お互いのOSが依存する事なく入れられます。

* 実は (XPを持ってないので) Windows2000 を触ってる範囲では 基本領域のWindowsの存在なしに いきなり拡張領域にインストする方法が 私には解っていません(ムリと思ってるのですが)んが、それが可能なのなら:つまり基本領域をマスクして拡張領域にいきなりWindowsが入るなら どうにでもなりそうなのですけれど。
↑この問題がないのなら ご希望に近い方法が可能と思いますが、NTLDRが勝手に依存関係を作ることなしに拡張領域へのWindowsのインストの方法をどなたかご存知であればいいのですが.
そうでなければ、2つ(までなら)のWindowsは基本領域に依存関係なしに入れるのが妥協点に思います。(もう一つ作れる基本領域にgrubなりliloなり)

あと、(少しカジってその後、実際には触ってないので全く自身ありませんが) grubの場合 フロッピーdiskに入れてそれを起動diskとして中の設定を作りこむ というヒネリワザもあるようです(それで拡張域を呼べるのかは私は判っていませんが)。
ヒネリついでに HDDを2台にすれば 使える基本領域が増えるので考え方が簡単になるかもしれません。
もちろんそれらがスマートな方法ではありませんが-。

(参考URLは手前ミソというか私の初心者レベル晒してますが、MBMとliloの組み合わせでも Vineは拡張領域にたくさん入れられます。)

参考URL:http://a-axis.com/left/archives/000025.html

投稿日時 - 2004-10-04 11:40:32

ANo.1

 これはWindows XPをどのようにインストールしたかによる。具体的に言えば基本領域と論理領域のどちらかによる。
 また、2000とXPでデュアルの構成を組んでしまった場合、XP用のブートエリアが無い(2000用のブートエリアを見つけてそこに寄生してしまった)事が多いので、ここからXP用にブートエリアを作成するのはやや面倒だ。

 ここでのお勧めは、いっそGRUBの方をVineの/bootパーティションの先頭に入れなおして、OS選択をNTLDRで行うようにする事だ。具体的には以下のようになる。

現行
GRUB
 →Vine
 →NTLDR
  →2000
  →XP

代替案
NTLDR
 →2000
 →XP
 →GRUB
  →Vine

このようにするメリットは、GRUBのOS選択タイムアウトを短めに取っておけば、擬似的にNTLDRで3OSを選択しているようにできる事だ。また、NTLDRでのブートは、ブートセクタさえあればboot.ini(テキストファイル)の編集だけでOKという点も見逃せない(grubも大して変わらんが)。

 残念な事に、Windowsはインストール後に起動の調整をするのはやや上級者向けのテクニックになってしまうので、マルチOSにするには最初に計画を立てておく事が肝要だ。

投稿日時 - 2004-09-27 10:12:07

補足

早速の返答ありがとうございます。

WindowsXPについては、ほとんど使用していないので
アンインストールには躊躇はないんです。
かといって、XPの環境もいじれるようにしておきたいんです。
XP用のブートセクタを2000のNTLDRに組み込まれないように個別に作成すれば、grubは認識してくれる・・・はずだとおもってます。
別個につくる方法があったら、教えていただけないでしょうか。
できればgrubのほうを使用したくおもっています。
お願いいたします。

投稿日時 - 2004-09-28 02:13:32

あなたにオススメの質問