Windowsには複数のHAL(Hardware Abstraction Layer)が用意されている。その種類を確認したり切り替えたりするには?
対象OS:Windows 2000
Windows 2000のインストーラは、インストール時にシステムの種類を自動的に認識して、システムのタイプごとに何種類か用意されているHAL(Hardware Abstraction Layer)を切り替えるようになっている。具体的には、シングル プロセッサシステム向けのHALやマルチプロセッサ システム向け、ACPI非対応システム向け、ACPI対応システム向けなどがある。
HALとは、文字どおりハードウェアを抽象化(abstract)して、上位のオペレーティング システムに対してハードウェアの違いを隠蔽するものである。マイクロプロセッサの激しい市場競争の結果、現在ではサポートが中止されてしまったが、これまでNTは、Intel x86アーキテクチャのプロセッサだけでなく、MIPS RシリーズやPowerPC、DEC Alphaなど、さまざまなプロセッサ向けに移植されていた。これを可能にしたのがHALである。ハードウェア システムの構成に依存するような基本的なルーチンをHALに集め、上位では、ハードウェアの違いを意識せずにすますようにしている。
x86 PC向けのWindows 2000で標準的にサポートされているHALの種類としては、ACPI対応か非対応か、マルチプロセッサかシングルプロセッサかなど、全部で8種類がある。これらの詳細については、TIPS「Windows 2000で選択可能なHALのシステム タイプ」でまとめているので参照されたい。
本TIPSでは、現在使用中のHALの種類を確認したり、別のHALに切り替えたりする方法を解説する。
今述べたHALの切り替えは、Windows 2000のインストール時に自動的に行われ、通常、インストール途中ではどのHALが組み込まれたかは分からない。しかしWindows 2000のインストールが完了したら、コントロールパネルの[システム]アプレットから起動できる[デバイス マネージャ]で簡単に確認することが可能である。
これには、コントロールパネルの[システム]アイコンをダブルクリックし、表示される[システムのプロパティ]ダイアログの[ハードウェア]タブをクリックする。
すると次のようなデバイス マネージャが表示されるので、デバイス ツリーの[コンピュータ]項目の左側にある[+]マークをクリックし、[コンピュータ]の現在の設定を表示させる。このとき表示される項目が、このシステムで現在使用中のHALを表わしている。
[A]
このシステムでは、「Advanced Configuration and Power Interface (ACPI) PC」というHALを使用していることが分かる。これはACPI対応のシングルプロセッサ システム向けのHALである。
上とは別のシステムでも同様の操作を行い、使用中のHALを確認してみた。
必要なら、上のデバイス マネージャから、現在使用中のHALを別のHALに切り替えることが可能である。まだトラブルが多いからか、ACPIサポートの自動認識は条件が非常に厳しく、BIOSが少々古かったりするだけで、実際にはACPI対応がなされていても、インストール段階ではACPIがサポートされない「標準PC」HALが使われることが少なくない。またマルチプロセッサ システムにおいても、自動認識ではシングル プロセッサ システムとなってしまうことがあるようだ。
このような場合には、デバイス マネージャから(操作上は)簡単にHALを切り替えることができる。具体的には、ACPI未サポートの「標準PC」HALを強制的に「Advanced Configuration and Power Interface (ACPI) PC」のHALに切り替えたり、シングルプロセッサ システム向けの「ACPI UniProc」をマルチプロセッサ システム向けの「ACPI MultiProc」に変更したりするなどだ。
ただし、HALはシステムを最も低レベルな部分でサポートするソフトウェアで、これが正しく動かなければ、システムは起動すらしなくなってしまう危険性がある。したがってHALの切り替えは、なるべくなら使用中の環境に対して行うのではなく、別稿でご紹介しているように、Windows 2000の新規インストール時に指定したほうがよい。それでもデバイス マネージャから操作するなら、最悪の事態が発生することを念頭において、バックアップなどをきちんととってから作業を行っていただきたい。
デバイス マネージャの[コンピュータ]項目以下の行をマウスでダブルクリックすると、次のようなダイアログ ボックスが表示される。
[B]
ダイアログが表示されたら、[ドライバ]タブをクリックし、右下にある[ドライバの更新]ボタンをクリックする。すると、デバイス ドライバのアップグレード ウィザードが起動される。
[C]
ここで[次へ]ボタンをクリックする。すると次のウィザードのウィンドウは次のようになる。
[D]
当初は、ソフトウェアで最適なドライバを検索する[デバイスに最適なドライバを検索する]が選択されているので、これを[このデバイスの既知の〜]に変更して[次へ]ボタンをクリックする。
[E]
すると、このようにサポートされているHALが一覧される。ここで強制的にACPI対応システム向けのHAL(「Advanced Configuration and Power Interface (ACPI) PC」)や、マルチプロセッサ システム向けのHAL(「ACPI Multiprocessor PC」や「MPS Multiprocessor PC」)を選択することが可能である。ただしくどいようだが、HALを強制的に切り替えると、最悪の場合、システムが再起動しなくなる可能性もあるので、変更には細心の注意が必要である。
■更新履歴
【1999/12/08】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.