• ベストアンサー

windows2000とredhatlinuxのドュアルブート

自作機でwindows2000とredhatlinux9をgrubでドュアルブートしています。linuxもwindowsも問題なく起動するのですが、windowsを一度起動し、再起動するとgrubの画面が出ず、強制的にwindowsが起動してしまいます。「/boot」にgrubをインストールしているので、windowsのディスク管理で「/boot」パーティションをアクティブにして、再起動すると、grubが起動しlinuxも起動できるようになります。 この問題を回避する方法をご存知の方ご教授お願い致します。

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

  • ベストアンサー
  • Ujiki
  • ベストアンサー率37% (38/101)
回答No.2

   #1の、DrSumireさんの言われることが最も良いと存じます。  Linux(UNIX)を使っている人間にとって、「ソースを自分で入手」、(「自分でコンフィグレーション」、)「自分でコンパイル」、「自分でインストール」と言うような文化がありますね。(^^)  ところで、ディストリビューターのGUI(グラフィカル・ユーザー・インターフェイス)でのインストーラーに依存しすぎますと、見えなくなってくるものです。      -----  あくまでも、正解は#1のDrSumireさんが語り尽くしておられます。 デュアルブートと言うのでしょうか、MS-DOSフォーマットの1枚のFDで、GRUB起動環境を作成されると、見えてくると存じます。(以下はLinuxカーネル2.4を想定し、GRUBも最新であることを願っています。スーパーユーザーで手打ちしてくださいね) 1. FDをMS-DOSフォーマットしてください。 Win98なら   FORMAT A: /C Enter  ですね。「/C」で、書き込みエラーのあるFDをレポートします。書き込みエラーのあるFDは、どんどん捨てましょう!!  Linuxなら、fdformatなりsuperformatなりを利用します。 2. /boot 以下の全情報をFDに書き込みます。 # mount -t vfat /dev/fd0 /mnt # cp -a /boot /mnt # umount /mnt ※ どんどん、/boot/grub/menu.lst を改訂し、選択肢を広げ、1つの vmlinuz なり だけで起動させるのではなく、複数の vmlinuz を選択出来るようにしたいですね。FDには空きがあるでしょうから、チューニングして贅肉を取った vmlinuz を書き込み、このFD上の vmlinuz からも起動出来るようにしておけば安心かもしれません。 3. Win98などで、このFDをデフラグします。 4. FDの空き領域に「NULL」を書き込みます。  Windows系ではHDDなどを破棄する際にファイルの復元をさせない目的で数々の書き込みソフトが出回っています。  Linuxなら /dev/null を dd などで任意ファイル名で書き込んで、オーバーフローしたら、NULLファイルを消します。(^^) 5. GRUBを必ずFDにインストールします。  FDをFDDに挿入してから、 # grub grub> root (fd0) grub> setup (fd0)   (ここにレポートが表示されます) grub> quit 6. FDからのリブートを確認します。 7. FDをバックアップしておきます。 # dd if=/dev/fd0 | bzip2 -vv > /boot/FD/fd.img.bz2 8. FDを作成する時は # bzcat /boot/FD/fd.img.bz2 > /dev/fd0  さて、bzip2での圧縮の効率を無視するなら「3項、4項」は無用です。(微笑)      -----  まず、FDで起動できることを確認できたら、MBRに導入しましょう。/boot/grub/menu.1stのコマンド群が正しければ、アクティブにすることなど無用となります。GRUBでは、ドライブのスワップや、アクティブも任意に可能です。 1. 正しく起動したFDの /boot 以下を、丸々、HDDのLinux領域にコピーしましょう。以前の /boot 領域はしばらく残してからにしますか。 2. GRUBを必ずインストールします。  # grub grub> root (hdx,y) grub> setup (hdx) grub> quit # /sbin/shutdown -r 0 ※ 以上の「 x 」なり「 y 」には適宜、間違いの無い数値を入力してください。必ず、どのようなMS-Windows系OSとも共存できます。    応用は広がります。プリインストール機のHDDをスレーブに移動し、新しいHDDにLinuxを導入する。さて、GRUBでプリインストールなMS-Windowsをスレーブから起動し、「C:」ドライブとして起動させるようなことも、GRUBなら簡単ですよ。頑張ってみて下さい。    

その他の回答 (2)

  • Ujiki
  • ベストアンサー率37% (38/101)
回答No.3

   再度の登場です。うるさいですか?(^^); 「★ GRUBをMBRにインストールしたくない! ★」と希望されていると仮定しましょう。MS-Windows系をウィルスとかで再インストールを繰り返したい場合に、MS-Windowsのインストール時のオプションによってはMBRを強制的に書き換えてしまいますからね。 「MS-Windowsのブートが好き!」でも良いですよね。      ----- http://www.atmarkit.co.jp/flinux/rensai/linuxtips/233dualbootxp2.html が、親切な解説です。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/232dualbootxp1.html は、LILOでの解説です。GRUBも持ってくるイメージは同じですね。  Windows XPと書かれていますが、Windows NTも2000にも応用可能ですね。 MS-Windowsのルートディスク内のASCIIファイルである「 boot.ini 」に、GRUBなり、LILOのメモリーイメージファイル名を追加するだけです。 例えば、最後の行に c:\bootlnx.img = "★ redhatlinux9" の文字列を適当なエディターで追加する。無ければ、 「 C:\> COPY CON: C:\BOOT.INI 」 で、手打ちですね。最後は「 Ctrl+Z 」でEnterですか。^^; この、bootlnx.img は、「/boot」パーティションにインストールされた、GRUBを dd で作成し、MS-Windowsの C:ドライブにコピーするだけですね。  こうすれば、MS-Windowsを再インストールしても、「 BOOT.INI 」ファイルは残りますから、MS-Windowsのローダー経由、GRUB経由で、目的のLinuxを起動できます。  面白いですよね。(^^)  MBRにGRUBをインストールするか、任意のパーテーションにインストールされたGRUBメモリーイメージを持ってきて、MS-Windowsのローダーから食わせるのも、好きな方を選択してください。好き好きです。(微笑)    

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/232dualbootxp1.html
  • DrSumire
  • ベストアンサー率39% (264/666)
回答No.1

私の場合は、WindowsメインなのでHDDにgrubやlilo等のブートローダを入れて、いちいちメニューでWindowsを選択して起動させるのが嫌だったので、FDにLinuxのブートローダを入れていました。 Linuxを利用する時はフロッピーを挿して、Windowsの時は何も挿さないでって感じでブートを切替えていました。 ブートローダは小さいので起動もさほど時間がかからないので、私としてはお勧めです。 ※FDDなのでバックアップは必須ですが^^ この方法がお気に召さないのでしたら、ブートローダをアクティブパーティションにインストールするのではなくて、MBRにインストールすれば問題解決なのではないでしょうか? #確かそれが標準じゃないですか? #アクティブパーティションにブートローダを #入れるのはカスタムだったような????

関連するQ&A

専門家に質問してみよう