torutkのブログ

ソフトウェア・エンジニアのブログ

Windows 7 32/64bitとHALの種類

Windows 7が認識するハードウェア種類を調べる方法を探していたら、次の記事が見つかりました。

記事はWindows 2000用ですが、対象OSの欄にはVistaまで記載があり、この方法でWindows 7 32bitを調べたら該当しました。

C:\Windows\System32\hal.dll のプロパティを開き、[詳細]タブを選択し、[元のファイル名]欄を見ます。Core i7のPCでは、[halmacpi.dll]と記載されていました。

Microsoftのサポート情報にHALの種類の記載があります。

で、別のPC(Windows 7 64bit版)で同じ情報を調べると、[hal.dll」と記載されていました。上述記事の解説では、hal.dllだと標準PC(ACPI非搭載のユニプロセッサ機)となってしまいます。しかし、CPUは複数認識して動作しています。

Windows 7 32bit版のC:\Windows\System32ディレクトリには、hal.dllの他、halmacpi.dllなどハードウェア種類に応じたhalのDLLファイルが存在していますが、Windows 7 64bit版にはhal.dllのみです。

Webをいろいろ検索してもずばりの答えが見つからなかったのですが、次の掲示板(英語)のやりとりでは、64bit版はHALは1種類のみで、起動時にハードウェアを自動認識してそれに対応する、というもののようです。

Windows 7 64bit機(CPU: Phenom IIx6)にてデバイスマネージャの[コンピュータ]欄の下を見ると、[ACPI x64-based PC]となっています。これが自動認識結果と思われます。