Skip to content

   前へ 次へ 目次

4. ブートローダに関する質問


4.1 Master Boot Record (MBR) に LILO をインストールする際のエラー

質問:

インストールはうまくいきましたが、LILO 情報をマスタブートレコードに書き込もうとすると、「インストーラがマスタブートレコードに情報を書き込むことができませんでした」という内容のエラーが表示されてしまいます。どうしたらよいのでしょうか?

回答:

マスタブートレコードがロックされている可能性があります。システムの BIOS 画面を表示して、MBR が書き込み禁止になっていないかを確認してください。 また、MBR への書き込みの妨害となるウィルススキャンが、BIOS で有効になっていないかどうかも確認してください。あるいは、既に別のブートローダーが MBR 内に存在し、LILO と競合していることも考えられます。

この場合、MBR 内を削除してから、次に LILO をインストールします。

最初に、ブートディスクで起動し、次にブートプロンプトで vmlinuz root=/dev/hda5 と入力して下さい (または、linix ルートパーティションでもよい)。

これにより、Linux のインストールが起動するはずです。次に、ファイル /etc/lilo.conf をチェックして、設定が正しいことを確認してください。以下が設定の例です。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinux-2.2.12-20
label=linux
root=/dev/hda5
read-only

設定を確認後、コマンド /sbin/lilo を実行してシステムを再起動します。これにより、MBR に LILO が正しくインストールされ、ブートディスクを使用せずにシステムを起動することができるはずです。

4.2 インストール後に Windows® をブートする際の問題

質問:

Windows と Linux のデュアルブートにしようとしました。マスタドライブは Linux で、スレーブドライブには Windows をインストールいたしました。Linux をインストールするまでは Windows は正しく動作していました。そこで Windows をブートするために、LILO プロンプトで ”dos” を選択しましたが、”Starting…“ が表示されたまま止まってしまいました。Windows のための lilo.conf ファイルのエントリは以下のとおりです。:

other=/dev/hdb1
label=dos
table=/dev/hdb

なぜこのようなことが起きるのでしょう?また、どうすれば Windows を起動できますか?

回答:

Windows は最初のドライブにインストールされていることを期待しているため、2台目のドライブからブートしようとしても、Windows 自体が何をすればいいのかわからない状態なのです。これを修正するためには、lilo.conf を修正しなければなりません。Windows を起動するドライブに対するエントリを以下のように変更してください。:

other=/dev/hdb1
label=dos
table=/dev/hdb
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80

このように編集したら、その変更を有効にするために LILO を起動してください。

/sbin/lilo

これはあたかも1台目のドライブから起動しているかのように DOS/Windows を騙すための設定です。

4.3 ブート時に 'LI' が表示されて停止した

質問:

マシンを起動したところ、"LI" とだけ表示されてフリーズしてしまいます。何が問題なのでしょうか?

回答:

これは、LILO(Linux ブートローダー)に問題があり、システムに対してブートストラップ自体が実行されてしまいます。この問題の原因は、いくつか考えられます。LILO がシリンダ番号 1024 より上にインストールされている可能性があります。カーネルは、すべてドライブ上のシリンダ 1023 より下になければなりません。これが問題の原因である場合、制限内に /boot パーティションを作成して、LILO を再度インストールしてください。また、BIOS 画面を表示して、LBA モードが有効になっているかをご確認ください。LBA モードが無効になっている場合、パーティションの作成とインストールを再度実行してください。

4.4 Loadlin を使用する

質問:

LOADLIN が必要になるのは、どのようなときですか?

回答:

BIOS がアクセスできる領域に Linux カーネルをインストールできない場合や、カーネルを使用したくない場合、LILO の代わりとなるものが必要になります。以下に示すいずれかの理由で、BIOS が Linux にアクセスできない場合があります。

  • カーネルがハードディスクドライブの 1023 シリンダより上にある。
  • BIOS が起動できないドライブにカーネルが存在する(プライマリ IDE や SCSI チェーン以外)。
  • その他、カーネルと BIOS 間に存在する非常に難しい障害。
  • ハードウェアの初期化が DOS でのみ実行できる(例:プラグアンドプレイ)。

上記の場合、通常 LOADLIN ブートローダーを使用する必要があります。これは、CD-ROM 内のディレクトリ \dosutilsに格納されています。このディレクトリを DOS ハードディスクパーティションにコピーして、新しいポジションを指すように autoboot.bat ファイルを編集してください。また、ファイル内の initrd= の行を削除してください。SCSI システムをお持ちの場合には、レスキューモードで /mnt/boot/initrd.img をハードディスクドライブから DOS パーティションにコピーして、起動用に使用してください。

4.5 LILO によるブートでデフォルトの OS を変更するには

質問:

LILO のインストールがうまくいき、起動する OS を選択することができるようになりました。ところで、デフォルトの起動 OS を変更するには、どうしたらよいですか?

回答:

Linux が起動するデフォルトの OS を変更するためには、/etc/lilo.conf ファイルを編集し、LILO が参照する OS の順序を変更する必要があります。以下の例では、Linux の代わりに DOS が起動するように、起動順序を変更します。

pico /etc/lilo.conf

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinux-2.2.12-20 label=linux root=/dev/hda2 read-only other = /dev/hda1 label = dos table = /dev/hda

これを、以下のように変更します。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other = /dev/hda1
label = dos
table = /dev/hda
image=/boot/vmlinux-2.2.12-20
label=linux
root=/dev/hda2
read-only

ファイルに変更内容を保存して、エディタを終了します。次に、以下のコマンドを実行します。

/sbin/lilo -v

最新の LILO がブートデバイスに書き込まれます。これにより、Linux の代わりに DOS でマシンが起動します。

4.6 LILO 情報を Master Boot Record (MBR)から削除するには

質問:

マスタブートレコードから LILO 情報を削除するにはどうしたらよいですか?

回答:

マシーンのマスタブートレコードから LILO を削除する方法は、いくつかあります。Linux システム内部では、/sbin/liloコマンド:/sbin/lilo -uを使用して、現行の MBR を以前保存したバージョンの MBR に置換することができます。

/sbin/lilo -u

DOS、NT、および Windows 95 では、fdisk コマンドに正式な文書には表記されないフラグ /mbr を付けて新規 MBR を作成することができます。次のコマンドにより、 プライマリ DOS パーティションが起動するように MBR が上書きされます。

fdisk /mbr


   前へ 次へ 目次