- PR -

FC4を入れた後XPを入れたらブートローダーが

1
投稿者投稿内容
mikasa
会議室デビュー日: 2005/10/31
投稿数: 2
投稿日時: 2005-10-31 19:14
Linux初心者です。よろしくおねがいします。

本日、FC1からFC4にアップグレードした後、不調子だったWindowsXPを再インストールしました。
XPインストール後、再起動したらFC1の頃には出ていたGRUBのブートローダーが出ずに直接XPが起動されるようになってしまいました。

色々調べてみて、フロッピーからGRUBの起動ディスクを作れば直る的なことが書いてあったのですが、使っているパソコンがFDドライブがないため、GRUBの起動ディスクが作れません。

一応、FC4のレスキューディスクはCD-Rで作成し、grub.confあたりが怪しいと思い見てみたのですがどれを直せばいいのかわかりません。

どうにかブートローダーを回復したいと思っています。
どうかお力をお貸しください。よろしくお願いします。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-10-31 21:42
カスタムインストールで Base システムだけ選択して、実際にインストールする。
GRUB の設定メニューも途中に出てくる筈やから、そこで XP の方も Alternative に
してデュアルブート。

もし、何もインストールされんようなら、/bin とか /etc の一部をバックアップして
復元できるようにしてから消す。消したら、インストールされて GRUB の設定メニュー
も出て来る筈。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-10-31 22:39
こんばんわ.

あまり詳しく書きませんが流れだけ.
recure disk で起動して,
Linux の partition をそれぞれを mount して,
chroot してから grub を command として利用して MBR に install し直します.
そうすると Linux は通常に起動できるようになるので,
今度は grub に Windows を起動する entry を追加します.

install 順序が逆であれば,
Linux は自動的に Windows の partition を認識して,
Windows のための entry を grub に書き込んでくれるはずです.

以上,参考までに.
mikasa
会議室デビュー日: 2005/10/31
投稿数: 2
投稿日時: 2005-10-31 23:15
素早い返答ありがとうございます。

>カスタムインストールで Base システムだけ選択して、実際にインストールする。
というのは、新規でインストールする際に出る、カスタムインストールというのでよろしいのでしょうか?
初歩的な質問ですみません。

あと、出来れば新規インストールは避けたいと思っています。
バックアップなどとっていないので・・・。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-11-01 11:57
こんにちは。
引用:
recure disk で起動して,
Linux の partition をそれぞれを mount して,
chroot してから grub を command として利用して MBR に install し直します.


こちらは、FC4のインストールCD(1枚目)から、“linux rescue”起動を行えば、大抵自動的にやってくれますよ。
( 途中、yes/no の選択くらいはあったはずですが )
すれば、grubのインストールも、grub-installコマンドで一発でできます。

勿論、その後
引用:
今度は grub に Windows を起動する entry を追加します.


が必要になりますので、grub.conf の書き方を予め調べることをお勧めします。

以上、ご参考まで。

追記:
失礼しました。chroot は、linux rescue での起動後、手動で行う必要がありますね。
下のあんとれさんのコメント通りになります。

[ メッセージ編集済み 編集者: angel 編集日時 2005-11-01 14:00 ]
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-11-01 13:31
Windows は Linux の存在を意識しないので、Linux が存在するところに Windows をインストールすれば MBR が上書きされてしまうのは当然のように思います。

Linux をインストールした際のインストールディスク (1枚目) が存在するのであれば、CD-ROM ブートして、boot プロンプトが出てきたら

linux rescue

と入力。後は英語 (日本語を選択すると文字化けするので)、日本語106キーボードを選択すると bash の画面になるので、
指示通りに、

chroot /mnt/sysimage

として、grub.conf を修正し、grub-install すれば、grub が再度上書きインストールされると思います。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-11-01 20:39
こんばんわ.

気になったのでちょっとだけ.
引用:

あんとれさんの書き込み (2005-11-01 13:31) より:

Windows は Linux の存在を意識しないので、Linux が存在するところに Windows をインストールすれば MBR が上書きされてしまうのは当然のように思います。


MBR が「上書き」というより「初期化」ではないかと.
少なくとも MBR に install されていた grub が ntloader によって
over write されてしまうのではなく,
ntloader が導入される際に MBR が flash されて,
grub が書きつぶされてしまうだけだったかと.
でも ntloader は boot partition の boot record(でしたっけ?)に
install されるので,
改めて MBR に grub が導入されると
Linux を起動する:grub -> Linux kernel を kick
Windows を起動する:grub -> ntloader に遷移 -> Windows kernel を kick
となるのではなかったかと.
実際には ntloader で選択肢が無いと skip されるので,
アタカも ntloader が「無い」ように思っている人も多いようですが.

angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-11-02 10:46
おはようございます。
引用:
引用:
あんとれさんの書き込み (2005-11-01 13:31) より:
Windows は Linux の存在を意識しないので、Linux が存在するところに Windows をインストールすれば MBR が上書きされてしまうのは当然のように思います。


MBR が「上書き」というより「初期化」ではないかと.


細かい所ですが、同じ事ではないでしょうか。
MBRの起動コードが元のブートローダに戻る、という意味では「初期化」ですし、MBR上の grub stage 1 が「上書き」されるという意味もありますし。

以前のスレッド起動ドライブ接続変更時の質問で、Mattunさんが参考になるサイトを挙げていらっしゃいますので、ここで再掲。

NOBUSAN'S SQUARE
 ( ブートとハードディスクのすべて )
ITAYA's Home Page
 ( マルチブート/デュアルブートのすべて )
Windows 2000 セキュリティ強化ガイド
 ( ブートパーティション・システムパーティションの解説 )

多分、Linux・Windowsのありがちなブートシーケンスといったら、こんな所ですよね…。

 1. Linux ( grub導入 )
  BIOSが MBR上の grub stage 1をロード
  grub stage 1 が、MBR直後の未使用セクタの、grub stage 1.5をロード
  grub stage 1.5 が、grub用パーティションの、grub stage 2ファイルをロード
  grub stage 2 が、grub.conf やコマンド、メニュー選択を解釈
  grub stage 2 が、Linux kernel および initrd をロード
  Linux起動
 2. WindowsXP ( 単独 )
  BIOSが MBR上の 標準ブートローダをロード
  標準ブートローダが、アクティブパーティションのブートセクタの、NTIPLをロード
  NTIPLが、同一パーティションの、ntldrファイルをロード
  ntldrが、boot.iniを解釈、ユーザからのOS選択を受け付ける
  ntldrが、Windows kernelをロード
  Windows起動
 3. Linuxインストール ( grub導入 ) 後のWindowsXP
  BIOSが MBR上の grub stage 1をロード
  grub stage 1 が、MBR直後の未使用セクタの、grub stage 1.5をロード
  grub stage 1.5 が、grub用パーティションの、grub stage 2ファイルをロード
  grub stage 2 が、grub.conf やコマンド、メニュー選択を解釈
  grub stage 2 が、指定パーティションのブートセクタのNTIPLをロード ( チェインロード )
  NTIPLが、アクティブパーティションの、ntldrファイルをロード
  ntldrが、boot.iniを解釈、ユーザからのOS選択を受け付ける
  ntldrが、Windows kernelをロード
  Windows起動

以上、ご参考まで
1

スキルアップ/キャリアアップ(JOB@IT)