次のページ 前のページ 目次へ

4. PnP BIOS の設定

コンピュータの電源を入れると,オペレーティングシステムがロードされ る前に BIOS が実行されます.最近の BIOS は PnP 対応であり,一部あるい は全ての PnP デバイスを設定します.ほとんどの PnP BIOS では PnP を無効 にできないので,PnP とうまく共存していくしかありません.BIOS の CMOS メニューにあるかもしれない選択肢を以下にいくつか示します:

4.1 PnP オペレーティングシステムを持っているか?

これに「yes」を設定している場合,PnP BIOS はハードディスク・ビデオ カード・キーボードの PnP 設定を行って,システムを起動できるようにします. しかし,PnP BIOS は設定作業の仕上げをオペレーティングシステムに任せます. BIOS は ISA バス上で アイソレーション を 行い,デバイスは無効であるけれどオペレーティングシステムで設定できる状 態にします.Linux の場合にはおそらく,PnP オペレーティングシステムを持っ ていないとBIOS に設定しなければなりません.このように答えないと,BIOS は設定していない ISA デバイスを無効な状態のままにするかもしれません(??). PCI デバイスも設定されないかもしれません(??).

PnP OS を持っていないと BIOS に設定した場合,BIOS は自分自身でデバイス の設定を行います.新しい PnP デバイスを追加しない限り,BIOS は不揮発性 メモリ(ESCD)に保存されている設定を使うはずです. BIOS の ESCD データベース を参照してください. コンピュータの前回のセッションで Linux を使っていれば設定は変わらない はずです. BIOS での PnP 設定 を参照してく ださい.しかし,前回のセッションで (PnP OSである) Windows9x を使った場 合,Windows が ESCD を変更しているかもしれません. これが行われるのは多分,「設定」を強制した時か,レガシーデバイスを インストールした時だけです. Windows を用いた ESCD の設定が問題を起こす場合 を参照してください.読者の皆さんが isapnp や PCI Utilities 等のプログ ラムを使って設定を行った場合,これらのプログラムは BIOS の実行後に実行 され,ユーザが指示した通りに PnP の設定を変更します.

Windows9x と組み合わせての利用

Linux と Windows を同じ PC 上で使っている場合には,BIOS の 「PnP OS を使っているか?(Do you have a PnP OS?)」という問いにどう答え れば良いのでしょうか? 通常(そして正しく)は,標準の Linux については 「no」と答え,Windows9x については「yes」と答えるべきでしょう.しかし, OS を切替えようとする度に BIOS の CMOS メニューを手動で設定しなければ ならないというのは非常に面倒です.これを解決する方法の 1 つは,Windows 使用時も含めて「PnP OS を持っていない」と CMOS に設定することです. Windows はこの状況(BIOS が与えられたハードウェアを完全に設定している) に対応できることが期待できます.さらに,ハードウェアが既に設定されてい ることをWindows が 認識できなくても,Windows がもう一度この設定を行っ てうまく動作することが期待できます.しかし,こんなにうまくは行かないよ うです. Windows は単に,レジストリに格納している情報をドライバに伝えるだけのよ うです.しかし(BIOS が行った)実際のハードウェア設定は,ESCD に格納され ている設定であり,レジストリとは異なるかもしれず,問題を起こすかもしれ ません.

CMOS の設定とレジストリの設定を合わせる方法の 1 つは,BIOS の設定が 「PnP OS を持っていない(not a PnP OS)」である状態で Windows を インストール(または再インストール)することです.これを行うと, Windows には BIOS が設定したシステムが見せられるはずです.この設定にお いてリソースの衝突がなければ,Windows はたぶん設定をいじらず,これをレ ジストリに保存するでしょう.こうして ESCD とレジストリが同期します. これで正しく動作したら(そしてこの HOWTO が最新版であれば),筆者にお知 らせください.というのも,筆者は正しく動作したという報告を 1 件しか受 けていないからです.

別の方法は,Windows で問題を起こすデバイスをデバイスマネージャ上で「削 除」することです.それから「PnP OS を持っていない(Not a PnP OS)」の状 態でPC を再起動します(設定は起動時に CMOS で行います).すると,Windows 上でデバイスドライバを再インストールしますが,うまくすると BIOS が設定 したバスリソースをこの際に使います.Windows は多分 Windows のインストー ル用 CD を入れることを求めるので注意してください.というのも, Windows はドライバファイル(の類)が残っていても,これを見つけられない場合がある からです.テストとして,筆者は Novell 互換のドライバを持っている NIC カードを「削除」しました.再起動の時,Windows は Novell でなく Microsoft のネットワークドライバを使って再インストールを行いました. これはつまり,Novell クライアントを再インストールする必要があるという ことです.この方法で問題が起こったら筆者にお知らせください (この HOWTO が最新版の場合に限ります).

4.2 どのようにバスリソースを制御するか?

この項目は IRQ バスリソースと DMA バスリソースの割り当て方法だけを 決めます.この項目に「auto(自動)」を設定すると,BIOS が割り当てを行います. 「マニュアル(手動)」を設定すると,ユーザの入力によって 「レガシー(legacy)」(非 PnP) カードのための IRQ をいくつか予約すること ができます.指定を行わなければ,カードがレガシーカードであるかどうかは BIOS が認識できることも認識できないこともあります.BIOS がレガシーカー ドの情報を知ることができるのは,ユーザが Windows 上で ICU(または同様の もの)を実行して BIOS にその情報を与えている場合だけです.BIOS がこれを 知っていれば "auto" を試してください.知らなければ,レガシー ISA カー ド用の IRQ は手動で予約し,残りの IRQ を BIOS の PnP で 割り当てるよう にします.

4.3 設定をリセットするか?

この項目はPnP デバイスの設定に関する BIOS の ESCD データベースを消 去します.さらに,レガシー(非 ISA)のデバイスの設定に関するリストも消去 します.データベースが間違っていて,作り直す必要があると確信している場 合でなければ,消去を行ってはいけません.消去を行うのは,ユーザがコンピュー タを起動できない場合に限る,と何かに書いてあったと思います.BIOS がレ ガシーデバイスのデータを失くした場合には,ユーザが Windows で ICA を実 行してこのデータを作り直す必要があるでしょう.


次のページ 前のページ 目次へ