システムが現在使用しているHALを確認する方法:Tech TIPS
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はデバイス マネージャで簡単に確認可能
今述べたHALの切り替えは、Windows 2000のインストール時に自動的に行われ、通常、インストール途中ではどのHALが組み込まれたかは分からない。しかしWindows 2000のインストールが完了したら、コントロールパネルの[システム]アプレットから起動できる[デバイス マネージャ]で簡単に確認することが可能である。
これには、コントロールパネルの[システム]アイコンをダブルクリックし、表示される[システムのプロパティ]ダイアログの[ハードウェア]タブをクリックする。
[システムのプロパティ]ダイアログの[ハードウェア]タブ
コントロールパネルの[システム]アイコンをダブルクリックし、表示される[システムのプロパティ]ダイアログの[ハードウェア]タブを表示したところ。ここからデバイス マネージャを起動できる。
(1)[システムのプロパティ]ダイアログの[ハードウェア]タブをクリックする。
[A]このボタンをクリックして、デバイス マネージャを起動する。→[A]へ
すると次のようなデバイス マネージャが表示されるので、デバイス ツリーの[コンピュータ]項目の左側にある[+]マークをクリックし、[コンピュータ]の現在の設定を表示させる。このとき表示される項目が、このシステムで現在使用中のHALを表わしている。
[A]
デバイス マネージャの[コンピュータ]項目を表示する その1
デバイス マネージャの[コンピュータ]項目の左側にある[+]マークをクリックして、下位の情報を表示する。ここに表示される項目が、現在使用中のHALを表わしている。
[B]このシステムでは、「Advanced Configuration and Power Interface (ACPI) PC」というHALを利用していることが分かる。この項目をダブルクリックすれば、異なるHALに手作業で切り替えることも可能だが、危険が伴うので操作は慎重に行う必要がある。→[B]へ
このシステムでは、「Advanced Configuration and Power Interface (ACPI) PC」というHALを使用していることが分かる。これはACPI対応のシングルプロセッサ システム向けのHALである。
上とは別のシステムでも同様の操作を行い、使用中のHALを確認してみた。
デバイス マネージャの[コンピュータ]項目を表示する その2
上と同様の操作を別のシステム上で行ってみた。するとこちらは、「標準 PC」というHALを使用中であることが分かる。
(1)この「標準 PC」は、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]
HALのプロパティ
デバイス マネージャの[コンピュータ]に表示されたHALの項目をマウスでダブルクリックすると、このダイアログが表示される。HALをマニュアルで切り替えるには、[ドライバ]タブをクリックし、右下にある[ドライバの更新]ボタンをクリックする。
[C]HALを切り替えるにはこのボタンをクリックする。→[C]へ
ダイアログが表示されたら、[ドライバ]タブをクリックし、右下にある[ドライバの更新]ボタンをクリックする。すると、デバイス ドライバのアップグレード ウィザードが起動される。
[C]
デバイス ドライバのアップグレード ウィザード
他のデバイス同様、[ドラバの更新]ボタンをクリックすると、デバイス ドライバのアップグレード ウィザードが起動される。
[D]このボタンをクリックする。→[D]へ
ここで[次へ]ボタンをクリックする。すると次のウィザードのウィンドウは次のようになる。
[D]
デバイス ドライバの検索方法の指定
こちらも他のデバイス同様、デフォルトでは最適なドライバを自動的に検索する[デバイスに最適なドライバを検索する]が選択されているので、下の(1)[このデバイスの既知の〜]を選択し、[次へ]ボタンをクリックする。
[E]このボタンをクリックする。→[E]へ
当初は、ソフトウェアで最適なドライバを検索する[デバイスに最適なドライバを検索する]が選択されているので、これを[このデバイスの既知の〜]に変更して[次へ]ボタンをクリックする。
[E]
デバイス ドライバの選択
x86向けのWindows 2000インストールCD-ROMに収録されているHALがこれらである。通常は左側のリストから[(標準コンピュータ)]を選択し、右側のリストから変更したいHALを選択する。
(1)この一覧から新しいHALを選択する。ただしHALを変更すると、最悪の場合、システムが起動しなくなることもあるので注意が必要。
すると、このようにサポートされているHALが一覧される。ここで強制的にACPI対応システム向けのHAL(「Advanced Configuration and Power Interface (ACPI) PC」)や、マルチプロセッサ システム向けのHAL(「ACPI Multiprocessor PC」や「MPS Multiprocessor PC」)を選択することが可能である。ただしくどいようだが、HALを強制的に切り替えると、最悪の場合、システムが再起動しなくなる可能性もあるので、変更には細心の注意が必要である。
■更新履歴
【1999/12/08】初版公開。
■この記事と関連性の高い別の記事
- インストール時に強制的にシステム タイプを指定する方法(TIPS)
- 現在使用されているHALのファイル名を調査する(TIPS)
- Windows 2000で選択可能なHALのシステム タイプ(TIPS)
- マルチプロセッサ システムが正しく機能しないときには(MPS BIOSバージョンを確認・変更する)(TIPS)
- アップグレード インストールに潜む危険性(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.