Windows 2000 のハードウェア アブストラクション レイヤのトラブルシューティング

概要

Windows 2000 で発生するハードウェア アブストラクション レイヤ (HAL) に関連した問題のトラブルシューティング方法はいくつかあります。このような問題は、ハードウェアが検出されない、Advanced Configuration and Power Interface (以下 ACPI) Basic Input/Output System (以下 BIOS) が古いか標準に準拠していない、間違ったコンピュータの種類を手作業でインストールした、といった場合に発生します。この資料では、HAL に関連した問題のトラブルシューティング方法の一部を説明します。


: この資料では、"コンピュータの種類" と "HAL" は同義で、読み替えても問題ありません。

詳細

コンピュータの種類の決定

お使いのコンピュータの種類を調べるには
  1. [スタート] メニューで、[設定]、[コントロール パネル] の順にポイントして、[システム] をダブルクリックします。
  2. [ハードウェア] タブ、[デバイス マネージャ] の順にクリックします。[コンピュータ] の下の階層を一覧表示します。サポートされているコンピュータの種類の一覧を次に示します。


    標準 PC の HAL は次のようになります。
    ACPI マルチプロセッサ PC

    ACPI ユニプロセッサ PC

    ACPI (Advanced Configuration and Power Interface) PC

    MPS マルチプロセッサ PC

    MPS ユニプロセッサ PC

    標準 PC
    Compaq の HAL は次のようになります。
    Compaq SystemPro Multiprocessor or 100% Compatible
    SGI の HAL は次のようになります。
    Silicon Graphics Visual Workstation

インストールされているコンピュータの種類の表示と変更

インストールされているコンピュータの種類の表示と変更を行うには


警告 : ACPI の HAL を標準の HAL に変更したり、標準の HAL を ACPI の HAL に絶対に変更しないでください。コンピュータが正常に起動できなくなります。たとえば、現在ロードされているプラグ アンド プレイのデバイス ツリーが ACPI 用である場合、標準の HAL に変更しても、プラグ アンド プレイのデバイス ツリーが再構築されず、また標準の HAL のプラグ アンド プレイのデバイス ツリーにも戻せなくなるためです。ACPI の HAL と標準の HAL とではデバイス ツリー構造がまったく異なるため、ブート デバイスの位置を読み込ませるためコンピュータを再起動しても、システムはハードウェアの変更を認識しません。HAL を変更するとデータが失われるため、Microsoft ではこの操作を推奨しておらず、サポートも行っていません。
  1. [スタート] メニューで、[設定]、[コントロール パネル] の順にポイントして、[システム] をダブルクリックします。
  2. [ハードウェア] タブ、[デバイス マネージャ] の順にクリックします。[コンピュータ] の下の階層を一覧表示します。Windows 2000 が検出したコンピュータの種類、たとえば [標準 PC]、または [ACPI (Advanced Configuration Power Interface) PC] などが表示されます。
  3. インストール済みのコンピュータの種類を変更するには、[ドライバ] タブ、[ドライバの更新] の順にクリックします。


    : 標準 PC の HAL を標準 マルチプロセッサ PC の HAL に変更する場合、デバイス マネージャの [コンピュータの種類] の下にある HAL にのみしか変更できません。これは、ACPI の HAL から標準の HAL への変更を行うとコンピュータを起動できなくなるためです。
間違ったコンピュータの種類 (HAL) をインストールしたために、Windows 2000 のセットアップ後にコンピュータを正常に起動できない場合、システム修復を行います。
  1. Windows 2000 セットアップ フロッピー ディスクまたは Windows 2000 CD-ROM (コンピュータが CD-ROM からの起動をサポートしている場合) を使用し、コンピュータを起動します。
  2. [セットアップへようこそ] 画面で、R キーを押して修復を行います。
  3. [Windows 2000 修復オプション] 画面で、R キーを押して、システム修復処理を実行します。
  4. M キーを押して、[Windows 2000 システム ファイルの確認] と [スタートアップ環境の検査] を選択します。または、F キーを押して高速修復を実行します。
  5. システム修復が完了すると、インストールされていた HAL と関連ファイルが復元されます。CD-ROM またはフロッピー ディスクを取り出し、コンピュータを再起動します。


    : この時点では、間違ってインストールされたコンピュータの種類がデバイス マネージャに表示されています。
  6. デバイス マネージャに正しいコンピュータの種類が表示されるようにするには、コンピュータの再起動の際に F8 キーを押し、[前回正常起動時の構成] を選択して、Enter キーを押します。
  7. 適切なハードウェア プロファイルをクリックします (複数のプロファイルがある場合)。ハードウェア プロファイルで、[Configuration Recovery] をクリックし、Enter キーを押して Windows 2000 を起動します。
ACPI の HAL から標準の HAL に変更する最も良い方法は、Windows 2000 をアップグレードとして再インストールすることです。
  1. Windows 2000 のセットアップをアップグレードとして起動します。
  2. コンピュータがサポートしている正しいコンピュータの種類 (標準の HAL) を ACPI サポートを自動的に無効にしてWindows 2000 が検出できるようにし、あるいは手動で変更してインストールするには、次のいずれかを実行します。


    • コンピュータの種類を自動で検出するには、次を実行します。


      セットアップで次のメッセージが表示されたら、F6 を押します。
      Press F6 if you need to install a third party SCSI or RAID driver.
      F6 を押したとき、自動検出が実行されていること示すインジケータは表示されません。完了するまで、通常通りインストールを続けます。

    • 手動でコンピュータの種類を選択するには、次を実行します。


      F5 キーを押し、次の一覧を基に標準のコンピュータの種類を正しく選択します。
    *hal.dll
    Compaq SystemPro Multiprocessor or 100% Compatible
    *halapic.dll
    MPS ユニプロセッサ PC
    *halapic.dll
    MPS マルチプロセッサ PC
    *hal.dll
    標準 PC
    *halborg.dll
    SGI mp


    : 標準 PC の HAL から MPS マルチプロセッサ PC の HAL へ更新する場合は、再インストールを行う必要はありません。デバイス マネージャの [ドライバの更新] をクリックして変更できます。ただし、標準のコンピュータの種類を ACPI の HAL のコンピュータの種類へ更新する場合は、Windows 2000 を再インストールして、Windows 2000 が正しいコンピュータの種類を自動検出できるようにする必要があります。

システム修復処理の際に、修復情報が見つからない場合、または、修復情報が無効である場合は、回復コンソールを起動して Windows 2000 を回復します。
  1. Windows 2000 セットアップ フロッピー ディスクを使用するか、お使いのコンピュータが CD-ROM からの起動をサポートしている場合は Windows 2000 CD-ROM を使用して、お使いのコンピュータを起動します。[セットアップへようこそ] 画面で、R キーを押して修復を行うか、C キーを押して回復コンソールを起動します。


    : 回復コンソールの使用法については、次の文書番号をクリックして Microsoft Knowledge Base の資料を参照してください。
    229716 Windows 回復コンソールについて
  2. コンピュータにログオン後、コマンド プロンプトを使用して、元の Windows 2000 の %SystemRoot%\System32 フォルダから、次のファイルをコピーし、名前を次のように変更します。最初に、以下のサポート済みコンピュータの種類の一覧を参照し、必要な HAL とカーネル ファイルを見つけます。


    : アスタリスク (*) が付いているものは、標準のコンピュータの種類 (非 ACPI) です。


    i386 source file: i386\driver.cab\halmacpi.dll

    コンピュータの種類 : ACPI マルチプロセッサ PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: i386\driver.cab\halaacpi.dll

    コンピュータの種類 : ACPI ユニプロセッサ PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: i386\driver.cab\halacpi.dll

    コンピュータの種類 : ACPI (Advanced Configuration and Power Interface) PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: *i386\driver.cab\halsp.dll

    コンピュータの種類 : Compaq SystemPro Multiprocessor or 100% Compatible

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: *i386\driver.cab\halapic.dll

    コンピュータの種類 : MPS ユニプロセッサ PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: *i386\driver.cab\halmps.dll

    コンピュータの種類 : MPS マルチプロセッサ PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: *i386\driver.cab\hal.dll

    コンピュータの種類 : 標準 PC

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


    i386 source file: *i386\driver.cab\halborg.dll

    コンピュータの種類 : SGI mp

    Copy to this folder: winnt\System32

    変更後のファイル名 : hal.dll


  3. 次の表に示すとおり、システム (ユニプロセッサ、またはマルチプロセッサ) とコンピュータの種類に対応するカーネル ファイルと HAL ファイルを、Windows 2000 CD-ROM (i386\driver.cab)、またはインストール済みのサービスパックから、表にある元の Windows 2000 の該当するフォルダにコピーします。その後、必要に応じて、これらのファイル名を Ntoskrnl.exe と Hal.dll にそれぞれ変更します。


    i386\driver.cab\ntkrnlmp.exe
    winnt\System32
    ntoskrnl.exe
    i386\driver.cab\ntkrpamp.exe
    winnt\System32
    ntkrnlpa.exe
    i386\driver.cab\kernel32.dll
    winnt\System32
    kernel32.dll
    i386\driver.cab\ntdll.dll
    winnt\System32
    ntdll.dll
    i386\driver.cab\win32k.sys
    winnt\System32\drivers
    win32k.sys
    i386\driver.cab\winsrv.dll
    winnt\System32
    winsrv.dll
    i386\driver.cab\ntoskrnl.exe
    winnt\System32
    ntoskrnl.exe
    i386\driver.cab\ntkrnlpa.exe
    winnt\System32
    ntkrnlpa.exe
    i386\driver.cab\kernel32.dll
    winnt\System32
    kernel32.dll
    i386\driver.cab\ntdll.dll
    winnt\System32
    ntdll.dll
    i386\driver.cab\win32k.sys
    winnt\System32
    win32k.sys
    i386\driver.cab\winsrv.dll
    winnt\System32
    winsrv.dll
  4. Windows 2000 CD-ROM (i386\driver.cab) またはインストールされているサービスパックにある Ntdll.dll ファイルを、元の Windows 2000 の %SystemRoot%\system32 フォルダに展開します。
  5. Windows 2000 CD-ROM (i386\driver.cab) またはインストールされているサービスパックにある Win32k.sys ファイルを元の Windows 2000 の %SystemRoot%\system32 フォルダに展開します。
  6. Windows 2000 CD-ROM (i386\driver.cab) またはインストールされているサービスパックにある Kernel32.dll と Winsrv.dll ファイルを元の Windows 2000 の %SystemRoot%\system32 フォルダに展開します。たとえば、次のコマンドを入力します。 expand CD-ROM のドライブ文字 :\i386\driver.cab /F:kernel32.dll %systemroot%\system32\kernel32.dll


    expand CD-ROM のドライブ文字 :\i386\driver.cab /F:winsrv.dll %systemroot%\system32\winsrv.dll


    CD-ROM のドライブ文字 は、お使いの CD-ROM ドライブのドライブ文字になります。


  7. expand コンピュータを再起動します。
関連情報については、次の文書番号をクリックして、Microsoft Knowledge Base の資料を参照してください。
234558 Windows 2000 にマルチ プロセッサのサポートを追加する方法
警告 : デバイス マネージャ上で手作業で作業する際に、インストール可能な互換性のあるコンピュータの種類のリストが表示されます。その中には、選択するとコンピュータが正常に起動しなくなるものも含まれています。コンピュータの種類に [ACPI (Advanced Configuration Power Interface) PC] が表示されている場合や、最新の ACPI BIOS にアップデートした場合は、デバイス マネージャで [ACPI マルチプロセッサ PC] へ変更することはできません。これを行うと、コンピュータが正常に起動できなくなる場合があります。Windows 2000 で ACPI HAL を使用して、両方の CPU をサポートおよび認識させるには、最初に最新の完全準拠の ACPI BIOS にアップデートし、Windows 2000 をアップグレードとして再インストールして、自動的に ACPI マルチプロセッサ PC を検出、インストールできるようにする必要があります。これを行わないと、BIOS は完全準拠にはなりません。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID
237556 (最終更新日 2000-10-06) をもとに作成したものです。


プロパティ

文書番号:237556 - 最終更新日: 2004/04/01 - リビジョン: 1

フィードバック