【Windows】システムファイルの「Dhcp.dll」や「Dnsapi.dll」の破損をSFCコマンドで修復する手順

【Windows】システムファイルの「Dhcp.dll」や「Dnsapi.dll」の破損をSFCコマンドで修復する手順
🛡️ 超解決

業務中にWindowsパソコンのネットワーク接続が不安定になったり、特定のウェブサイトにアクセスできなくなったりする状況に直面していませんか。

これは、Dhcp.dllやDnsapi.dllといった重要なシステムファイルが破損している場合に起こる可能性があります。

この記事では、SFCコマンドを使ってこれらの破損したシステムファイルを効率的に修復する具体的な手順を解説します。

手順通りに進めることで、ネットワーク関連のトラブルを解決し、業務を円滑に進められるようになります。

【要点】システムファイル破損の修復とネットワークトラブルの解決

  • コマンドプロンプトの管理者実行: システムの変更に必要な管理者権限でコマンドプロンプトを開きます。
  • SFC /scannowコマンド: 破損したシステムファイルをスキャンし、自動的に修復します。
  • DISMコマンドの併用: SFCコマンドで修復できない場合に、Windowsイメージ自体を修復しSFCコマンドの効果を高めます。

ADVERTISEMENT

Dhcp.dllやDnsapi.dllファイル破損がネットワークに与える影響とSFCコマンドの役割

Windowsのシステムファイルが破損すると、OSの動作に様々な問題が生じます。

特にDhcp.dllやDnsapi.dllといったファイルは、ネットワーク通信に不可欠な役割を担っています。

これらのファイルが破損すると、IPアドレスの自動取得やドメイン名の解決ができなくなり、インターネット接続や社内ネットワークへのアクセスが困難になります。

SFCコマンドは、System File Checkerの略であり、保護されたシステムファイルの整合性を検査し、破損や改ざんが検出された場合に正しいバージョンに置き換えるWindows標準のツールです。

このツールを使用することで、システムファイル破損による多くの問題を解決できます。

システムファイル破損の主な原因

システムファイルの破損は、いくつかの要因で発生します。

主な原因としては、WindowsUpdateの失敗や中断、不適切なシャットダウン、ウイルスやマルウェアの感染が挙げられます。

また、ハードディスクドライブの物理的なエラーや、ソフトウェアの競合によってもファイルが破損する場合があります。

Dhcp.dllとDnsapi.dllの機能

Dhcp.dllは、DHCPクライアントサービスに関連するファイルです。

このファイルは、ネットワークからIPアドレスやDNSサーバーのアドレスを自動的に取得するために使用されます。

Dnsapi.dllは、DNSクライアントサービスに関連するファイルです。

ウェブサイトのドメイン名からIPアドレスを解決する、つまり名前解決を行うために必要です。

これらが破損すると、ネットワークリソースへのアクセスが阻害されます。

SFCコマンドとDISMコマンドでシステムファイルを修復する手順

システムファイルの破損が疑われる場合、SFCコマンドを使って修復を試みます。

SFCコマンドで解決しない場合は、DISMコマンドでシステムイメージを修復してからSFCコマンドを再実行することが効果的です。

  1. コマンドプロンプトを管理者として実行する
    Windows 11の場合、スタートボタンを右クリックします。
    表示されるメニューから「ターミナル 管理者」を選択します。
    Windows 10の場合、「コマンドプロンプト 管理者」または「Windows PowerShell 管理者」を選択します。
    ユーザーアカウント制御の画面が表示されたら「はい」をクリックして許可します。
  2. SFCコマンドを実行する
    コマンドプロンプトの画面で、以下のコマンドを入力しEnterキーを押します。
    sfc /scannow
    このコマンドは、システムファイルの整合性をスキャンし、破損しているファイルがあれば自動で修復します。
    スキャンには時間がかかる場合がありますので、完了するまで待ちます。
    「検証100%が完了しました。」と表示されるまで操作を中断しないでください。
  3. SFCコマンドの結果を確認する
    スキャン完了後、以下のいずれかのメッセージが表示されます。
    「Windowsリソース保護は、整合性違反を検出しませんでした。」:システムファイルに問題がないことを示します。
    「Windowsリソース保護は、破損したファイルを検出し、正常に修復しました。」:破損したファイルが修復されたことを示します。
    「Windowsリソース保護は、破損したファイルを検出しましたが、それらの一部を修復できませんでした。」:一部のファイルが修復できなかったことを示します。この場合は次の手順に進みます。
  4. DISMコマンドを実行してシステムイメージを修復する
    SFCコマンドで修復できなかった場合、または「Windowsリソース保護は、要求された操作を実行できませんでした。」と表示された場合は、DISMコマンドでシステムイメージ自体を修復します。
    以下のコマンドを順に入力し、それぞれEnterキーを押します。
    DISM /Online /Cleanup-Image /CheckHealth
    DISM /Online /Cleanup-Image /ScanHealth
    DISM /Online /Cleanup-Image /RestoreHealth
    これらのコマンドは、Windowsのシステムイメージをチェックし、破損をスキャンして修復します。
    特に/RestoreHealthは、時間がかかりますが、システムイメージの健全性を回復するために重要です。
    進行状況が100%になるまで待ちます。
  5. DISMコマンド実行後にSFCコマンドを再実行する
    DISMコマンドでシステムイメージを修復した後、再度SFCコマンドを実行します。
    sfc /scannow
    これにより、DISMコマンドで修復された健全なシステムイメージを基に、SFCコマンドがより効果的にファイル破損を修復できるようになります。
    修復が完了したら、パソコンを再起動して問題が解決しているか確認してください。

SFCコマンドで修復できない場合の追加対処法と注意点

SFCコマンドやDISMコマンドを実行しても問題が解決しない場合、またはコマンドが正常に動作しない場合には、以下の対処法を試してください。

「Windowsリソース保護は、要求された操作を実行できませんでした。」と表示される場合

このエラーは、SFCコマンドの実行環境に問題があることを示唆しています。

Windowsが完全に起動した状態では、一部のシステムファイルがロックされており、SFCコマンドがアクセスできない場合があります。

対処法: Windowsをセーフモードで起動し、SFCコマンドを再実行します。

  1. セーフモードで起動する
    Windowsの「設定」を開き、「システム」から「回復」を選択します。
    「PCの起動をカスタマイズする」の下にある「今すぐ再起動」をクリックします。
    再起動後、「オプションの選択」画面で「トラブルシューティング」→「詳細オプション」→「スタートアップ設定」→「再起動」と進みます。
    再起動後、画面に表示されるオプションから「セーフモードとネットワークを有効にする」を選択します。
  2. セーフモードでSFCコマンドを実行する
    セーフモードでWindowsが起動したら、管理者権限でコマンドプロンプトを開き、sfc /scannowコマンドを再度実行します。

修復後もネットワーク接続の問題が解決しない場合

システムファイルの破損が修復されても、ネットワーク接続の問題が続く場合は、他の原因が考えられます。

ネットワークアダプターのドライバー問題や、IPアドレスの設定問題などが影響している可能性があります。

対処法: 以下のコマンドを実行して、ネットワーク設定をリセットします。

  1. IPアドレスのリセットとDNSキャッシュのクリア
    管理者権限でコマンドプロンプトを開きます。
    以下のコマンドを順番に入力し、それぞれEnterキーを押します。
    ipconfig /release (現在のIPアドレスを解放します)
    ipconfig /renew (新しいIPアドレスを再取得します)
    ipconfig /flushdns (DNSキャッシュをクリアします)
    netsh winsock reset (Winsockカタログをリセットします)
    netsh int ip reset (TCP/IP設定をリセットします)
    これらのコマンドを実行した後、パソコンを再起動してください。
  2. ネットワークアダプターのドライバー更新
    デバイスマネージャーを開き、「ネットワークアダプター」を展開します。
    使用しているネットワークアダプターを右クリックし、「ドライバーの更新」を選択します。
    「ドライバーを自動的に検索」を選び、最新のドライバーがインストールされていることを確認します。

SFCコマンドが途中で止まる、またはエラーコードが表示される場合

SFCコマンドの実行が途中で停止したり、特定のエラーコードが表示されたりする場合、ディスク自体に問題がある可能性があります。

物理的なディスクエラーは、システムファイルへのアクセスを妨げることがあります。

対処法: Chkdskコマンドでディスクの健全性を確認し、修復します。

  1. Chkdskコマンドを実行する
    管理者権限でコマンドプロンプトを開きます。
    以下のコマンドを入力し、Enterキーを押します。
    chkdsk C: /f /r
    CドライブはWindowsがインストールされているドライブを表します。
    /fオプションはディスク上のエラーを修復し、/rオプションは不良セクターを特定して読み取り可能な情報を回復します。
    「次回のシステム再起動時に、このボリュームの検査をスケジュールしますか?」と表示されたら「Y」を入力しEnterキーを押します。
    パソコンを再起動すると、起動時にディスクチェックが実行されます。

ADVERTISEMENT

SFCコマンドとDISMコマンドの役割と使い分けの比較

項目 SFCコマンド DISMコマンド
目的 保護されたシステムファイルの整合性を検査し、破損を修復する Windowsのシステムイメージ自体の破損を修復する
対象 個々のシステムファイル(.dll, .exeなど) Windowsのコンポーネントストア、OSイメージ全体
実行時間 比較的短時間で完了する傾向がある SFCコマンドより時間がかかる場合が多い
主な使用場面 システムファイルの軽微な破損、OSの不安定化 SFCで修復できない深刻な破損、WindowsUpdateの問題
推奨される実行順序 最初に試す SFCで解決しない場合に実行し、その後SFCを再実行する

まとめ

この記事では、Dhcp.dllやDnsapi.dllといった重要なシステムファイルの破損が原因で発生するネットワークトラブルに対し、SFCコマンドとDISMコマンドを用いて修復する手順を解説しました。

管理者権限でのコマンド実行や、SFCコマンドで解決しない場合のDISMコマンドの併用により、システムの健全性を回復できます。

SFCコマンドやDISMコマンド、Chkdskコマンドを活用することで、Windowsの安定稼働を維持し、業務効率の低下を防ぎましょう。

今後同様のトラブルが発生した際は、今回ご紹介した手順を参考に、迅速な対処ができるようになります。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。