- ベストアンサー
複数のOSのマルチブート
WinMeとLinux Redhat7jを一台のマシンにインストールしました。 マシンを起動すると何も問わずにWinMEが起動されます。 Linuxはブートディスクを使わないと起動できません。 どういうことでしょう? それで #lilo コマンドを投入したどころ、次のようなメッセージが出ました。 Warning:device 0x0302 exceeds 1024cylinder limit. Fatal:sector 20383207 too large for liner mode cfrg iba32 instead. 分割がまずかったでしょうか。 再インストールせずにブート時にOSを選ばせるように出来ませんか。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
initrd=/boot/initrd ← に2.2.16-22.imgを加えてください。 それでもエラーが出るようなら削除してください。 image=/boot/vmlinuz-2.2.16-22 label=linux initrd=/boot/initrd read-only ←と root=/dev/hda2 ←これを逆にしてみてください 。 カーネルから見て、7.1ではなく7.0ですね。 #message=/boot/message #linear がエラーの原因です。lba32とlinearは相反するものです。 削除してください。
その他の回答 (10)
'liner'and'lbc32'(-l and -L)are mutually exclusive ということですが、「lbc32」と記述しているのですか?。もしそうなら「lba32」としてください。a と c の違いです。間違って記述している場合、LILOがインストールされないんです。 もしlba32として間違いない場合、lilo.confの内容もお教え願います。
お礼
上がLilo.confです。そのままLinuxからコピーして上げました。 まだ、Linuxのnetscapeからの日本語入力が分からないもんで、、--; また、なぜかブラウザが良く消えちゃいます。
補足
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 #message=/boot/message #linear default=linux image=/boot/vmlinuz-2.2.16-22 label=linux initrd=/boot/initrd read-only root=/dev/hda2 other=/dev/hda1 label=dos
- acky
- ベストアンサー率31% (182/583)
もはやこうなると/etc/lilo.confの記述が間違っているとしか考えられませんね。以下を参考にして見直してみてください。 コメント(#)や不要な""などがある場合はすべて削除して下さい。 ------------------------------ boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux image=/boot/vmlinuz label=linux initrd=/boot/initrd(この行はもしかしたらないかも) read-only root=/dev/hda5(ここは実際に/パーテーションのあるところを指定して下さい)
お礼
ありがとうございました。 次のようにしたら動き出しました。 boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux image=/boot/vmlinuz-2.2.16-22 label=linux read-only root=/dev/hda2 other=/dev/hda1 label=dos
補足
initrd=/boot/initrdがありませんでした。 defaultの上にLinerがありましたが削除しました。 /sbin/lilo -vを実行したところ次のメッセージが出ました。 open /boot/initrd: No such file or directory. initrdのファイルが入ってないのでしょうか。
#7での操作をしても、LILOがMBRにインストールされないということでしょうか?。確認します。保存して、/sbin/lilo 、またはliloコマンドを実行されてますよね?。それでだめなら再セットアップしかないでしょうかね・・・。またliloコマンドを実行したときのメッセージをお教え願えませんか?。
補足
liloコマンドを実行したところ次のメッセージが出ました。 'liner'and'lbc32'(-l and -L)are mutually exclusive. どういうことでしょう。
FDISKコマンドと言うのはDOS固有のものではありません。Linuxにもあります。/ , /boot というのはLinuxのパーテーションのことです。またRedHat7JのLILOは1024シリンダ以降にLinuxのパーテーションがあってもブートできるバージョンのLILOです。パソコン起動時にRedHatのロゴと dos linuxという表示は出ていますか? もし出ていなければlilo.confにtimeout=50の下にlba32という記述があることを確認し、なければ書き加え、先頭の行が boot=/dev/hda となっていることを確認し、なっていなければそのように書き直し、保存して、#/sbin/lilo を実行してください。
補足
ご返事ありがとうございました。 RedHat7jは間違いありません。パソコンの起動時には何も出てません。 Linuxを設置してないときと同じようにMEが起動します。 lba32方法でやってみましたが出来ませんでした。
lba32を書き加え、保存し、#/sbin/lilo とやってだめなんですね?。WinMeのパーテーションは何GBあるのでしょう?。/boot または / が作れてますから、FDISK コマンドを使われと言うことですか?。
補足
WinMeのパーテーションは10GBです。 その下の話の意味が良く分かりませんが、、、 FDISKってDosのコマンドじゃないですか。
- Himao
- ベストアンサー率29% (5/17)
僕も同じ経験があります。 シリンダ1024以内に「/boot」を設けなかったためです。 結果的には、Win98(僕の場合)をセットアップし直したんですが・・・。 「LILO」のあるバージョン以降では、この制限が改善されたと聞いたことがあります。 もし可能であれば、最新版の「LILO」を使ってみてはどうでしょう。 「Kernel」がVer.2以降でなければならなかったような・・・。 また、パーティッションを移動することがあったら、「GNU Parted」を使ってみるのもいいかもしれません。 「http://www.gnu.org/software/parted/parted.html」 ただし、現バージョンでは、ext2(linux用のファイルシステム)の場合、パーティッションの先頭位置を変えられないので、注意が必要です。 そして、何よりも、ソフトを利用したことによっての保証がありません。 このへんの話に関しては、「http://www.gnu.org」を参考にしてください。
補足
LILOの新しいバージョンはどこから得られるのですか。 ちなみに、私は最近出たと思いますがRedhat7jをインストールしました。 ホームページのアドレスはありがとうございました。 「GNU Parted」に対してこれから勉強してみたいと思います。
- acky
- ベストアンサー率31% (182/583)
下記参考URLの原因と対策で2番を参照してください
- selfport
- ベストアンサー率0% (0/4)
もし、パーティションマジック等の分割ツールをお持ちであれば、1024シリンダーまでのエリアに100MB程度のエリアを作成してインストールの際にそのエリアを/bootにすれば、起動できます。 私はこの設定でインストールしました。
まず第一にLILOがMBRにインストールされていないようですね。lilo.conf の先頭の行が boot=/dev/hda となっていますか?。ackyさんがおっしゃっているようにdefault=hogehoge の前に lba32 という記述を加えてください。できればパーテーションの情報が欲しいですね。
- acky
- ベストアンサー率31% (182/583)
LiLoをディスクの先頭から1024シリンダ内におかなければいけないという制限に引っかかってしまっているのです。/etc/lilo.confにlba32のオプションを渡せば解決する場合があります。timeout=50という行の下にlba32(ibaではありませんよ、エル・ビー・エーです)を追記してから # /sbin/lilo -v を実行してください。ただし解決するとは限りませんのでご注意下さい。
お礼
ご返事ありがとうございました。 変更したんですけど出来ませんでした。--; やはりMEの領域を小さくして再インストールしなければなりませんかね、、、
お礼
ありがとございました。 initrd=/boot/initrd を削除したら出来ました。 どうもお騒がせしました。