Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

DataStore.edbとは?PCが重くなる原因と6つの解決方法を徹底解説

DataStore.edbは、システムに適用されたすべてのWindows Updateの履歴を記録している正規のWindowsログファイルです。Windows Updateのチェックが行われるたびに、このログファイルはサイズを増やしていきます。ファイルはSoftwareDistributionフォルダ内(C:\Windows\SoftwareDistribution\DataStore\DataStore.edb)に保存されています。

このファイルの重要性自体は疑いようがないものの、一部のユーザーからは、システムがDataStore.edbへの読み書きに大量の時間を費やし、リソースを占有してPCの動作が大幅に遅くなるという報告があります。パフォーマンスモニターで調査したところ、この問題に直面したユーザーからは、svchost.exe(netsvcs)プロセスが毎分120MB以上の速度でdatastore.edbを読み込むためにディスクリソースをすべて消費し、PCが他の作業を一切できなくなっているとの報告がありました。調査の結果、これは主にWindows 7およびWindows Vistaで発生する問題であることがわかっています。

実際には、新しい更新プログラムが保留になると、Windows Updateコンポーネントによってdatastore.edbファイルが読み込まれます。状況やPCのスペックによっては、このファイルへのアクセス中にマシンが操作不能になることもあります。

この問題でお困りの場合、多くのユーザーが成功を収めたいくつかの修正方法があります。以下に、問題の解決につながった対策をまとめました。お使いの環境で有効な解決策が見つかるまで、順番に各方法をお試しください。

注意:Vistaをご利用の場合は、直接方法2から始めてください。

方法1:Windows Update KB3050265をインストールする(Windows 7のみ)

Microsoftはこの問題を迅速に対応し、Windows Updateクライアント更新プログラムをリリースしました。この更新プログラムは、更新プログラムの検索・インストール時におけるWU(Windows Update)の非効率さを改善し、datastore.edbファイルの長時間読み込みを軽減することを目的としています。

検出時間の短縮やRAM・ディスク使用量の削減には効果がありましたが、すべてのユーザーの問題を解決できたわけではありません。まず、この修正はWindows 7でのみ機能し、Vista向けの公式修正はリリースされませんでした。さらに、一部のユーザーからは、この更新プログラムによってWUコンポーネントが完全に破損し、WindowsUpdate_80244019WindowsUpdate_dt000といったエラーが発生したという報告もあります。

この更新プログラムはオプション扱いのため、自分でインストールしない限り適用されません。Windows 7でこの問題が発生している場合は、以下の手順に従ってWindows Update KB3050265をインストールしてください。効果がない場合は、更新プログラムを削除して次の方法に進みましょう。

  1. お使いのWindowsのバージョンに応じて、以下のリンクから適切なKB3050265更新プログラムをダウンロードします:
    Windows Update KB3050265(32ビット版)
    Windows Update KB3050265(64ビット版)
  2. ダウンロードが完了したら、インストールパッケージを開き、正常にインストールされたらシステムを再起動します。
    注意:PCから直接インストールすることも可能です。「コントロールパネル」>「システムとセキュリティ」>「Windows Update」>「利用可能な更新プログラムをすべて表示」>「オプション」の順に進み、KB3050265を探して手動でインストールしてください。

これで問題が解決しない場合は、「ファイル名を指定して実行」ウィンドウ(Windowsキー + R)を開き、「control update」と入力します。次に「インストール済みの更新プログラムの表示」>「更新プログラムのアンインストール」からKB3050265をアンインストールし、方法2に進んでください。

方法2:esentutl.exeを使ってdatastore.edbをデフラグする

より高度な解決策を試す前に、まずdatastore.edbファイルのデフラグで問題が解決するか確認しましょう。ただし、これは一時的な対処法であり、datastore.edbファイルに新しい情報が蓄積されると、時間が経つとともに問題が再発します。

この方法では、esentutl.exeユーティリティを使用してDataStore.edbファイルをデフラグします。ファイルへの読み書きを行うプログラムからのアクセス性が向上するだけでなく、ファイルサイズも大幅に縮小されます。以下の手順に従ってください。

  1. 適切な権限を持たせるため、管理者権限のコマンドプロンプトを開く必要があります。画面左下の「スタート」をクリックし、「cmd」と検索します。次に「コマンドプロンプト」を右クリックし、「管理者として実行」を選択します。
  2. 管理者権限のコマンドプロンプトに以下のコマンドを入力し、Enterキーを押します:
    esentutl.exe /d C:\windows\SoftwareDistribution\DataStore\DataStore.edb
  3. 処理が完了したら、システムを再起動し、症状が改善したかどうかを確認します。それでも問題が解決しない場合は、次の方法に進みましょう。

方法3:Windows Repair(All-in-One)を使用する

公式の修正がうまくいかない、または適用できない場合は、システムファイルの破損が原因である場合に有効な、もう一つの人気の解決策があります。

Windows Repair(All-in-One)は、すべてのWindowsバージョンに対応した修復ツールを集めた無料ユーティリティです。このソフトウェアを使用すると、問題の原因となっている可能性のあるWU関連の問題を修復できます。以下の手順で実行してください。

  1. 配布サイトからWindows Repairのポータブル版をダウンロードします。
  2. Windows Repairのアーカイブ内のすべてのファイルを展開します。
  3. Repair_Windowsの実行ファイルをダブルクリックしてユーティリティを起動します。
  4. 初期チェックが完了するまで待ち、「Repairs – Main」タブをクリックします。次に「Automatically Do A Registry Backup」にチェックを入れ、「Open Repairs」をクリックします。
  5. しばらくすると、利用可能なすべての修復戦略の一覧が表示されます。今回の目的では一部だけが必要なので、すべてのチェックを外し、以下の項目のみ再度有効にします:
    Reset Service Permissions(サービス権限のリセット)
    Repair WMI(WMIの修復)
    Register System Files(システムファイルの登録)
    Remove Policies Set By Infection(感染によるポリシーの削除)
    Repair Windows Updates(Windows Updateの修復)
    Repair MSI(Windows Installerの修復)
  6. Restart」ボックスにチェックが入っていることを確認し、「Start Repairs」をクリックして処理が完了するまで待ちます。
  7. 処理が終了したら「Yes」を押して再起動を確定し、再起動後に問題が解決したかどうかを確認します。解決していない場合は、次の方法に進みましょう。

方法4:SoftwareDistributionフォルダを再初期化する

前述の方法で効果がなかった場合は、SoftwareDistributionフォルダのクリーンアップで問題が解消されるか試してみましょう。この方法の有効性については賛否ありますが、SoftwareDistributionフォルダを再作成した後にディスク使用率の高さの問題が解消したというユーザーの報告があります。

SoftwareDistributionフォルダをクリーンアップすると、DataStore.edbを含むすべてのコンポーネントが強制的に再初期化されます。これにより、DataStore.edbによる過剰なメモリ占有を引き起こしていた破損関連の問題が解決されます。

注意:SoftwareDistributionフォルダには、自動更新および関連ファイルが保存されています。DataStore.edbもここにあります。削除しても安全ですが、次回Windowsが更新プログラムをチェックする際に一からやり直すことになります。そのため、以下の手順を実行した後は、次回の自動更新のインストール時にWUがすべてを再チェックする必要があるため、時間がかかることを想定しておいてください。

以下は、コマンドプロンプトを使用してSoftwareDistributionフォルダをクリーンアップする手順です。

  1. 画面左下の「スタート」をクリックし、「cmd」と検索します。「コマンドプロンプト」を右クリックし、「管理者として実行」を選択します。
  2. 管理者権限のコマンドプロンプトに以下のコマンドを入力し、それぞれ入力後にEnterキーを押します:
    net stop wuauserv
    net stop bits
    注意:これにより、SoftwareDistributionフォルダを使用する更新コンポーネントが無効化されます。このステップを省略すると、フォルダが使用中の場合に削除できません。
  3. サービスが無効になったら、以下のコマンドをコマンドプロンプトに入力し、Enterキーを押します:
    ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
    注意:このコマンドはSoftwareDistributionフォルダの名前を変更します。.old拡張子により、Windowsが新しいSoftwareDistributionフォルダを再作成するようになります。
  4. 先ほど無効化したサービスを、以下のコマンドを入力してそれぞれEnterキーを押しながら再起動します:
    net start wuauserv
    net start bits
  5. PCを再起動し、「C:/Windows」に移動してSoftwareDistribution.oldフォルダを削除します。

それでもディスク使用率が高いままの場合は、次の方法に進みましょう。

方法5:antivirusチェックからdatastore.edbを除外する

実際のところ、この問題は過度に敏感なアンチウイルスソフトが原因である場合もあります。起動が遅くなるという症状に悩まされていた一般ユーザーの中には、datastore.edbファイルをMicrosoft Security Essentials / Windows Defenderの除外リストに追加することで問題を解決できた人がいます。

注意:以下の手順でPCの応答性は向上するかもしれませんが、アンチウイルスの除外設定を頻繁に行うのは避けるべきです。不要なAV除外設定を追加すると、悪意ある攻撃を受ける可能性が高まります。

以下は、datastore.edbおよびその関連ファイルをアンチウイルスの対象から除外する手順です。

注意:以下の手順はWindows Defender / Microsoft Security Essentialsでの操作例です。ただし、どのセキュリティソフトにも除外リスト機能は備わっています。

  1. スタートメニューの検索で「Windows Defender」または「Security Essentials」を検索し、セキュリティソフトを開きます。
  2. Windows Defender / Security Essentials内で「ツール」に移動し、「オプション」(Security Essentialsでは「設定」)をクリックします。
  3. 除外されたファイルとフォルダ」(Excluded files and locations)を選択し、「追加」ボタンをクリックします。「C:\windows\SoftwareDistribution\Datastore」に移動し、「datastore.edb」をダブルクリックします。
    注意:これにより、アンチウイルスがdatastore.edbファイルをスキャンしなくなります。
  4. 同じ手順で、以下のパスも追加します:
    c:\windows\softwaredistribution\datastore\logs\
    注意:これらはWindows Updateおよび自動更新のログファイルです。ここの情報もdatastore.edbに収集されます。
  5. 保存/変更の保存」をクリックし、再起動後にPCの速度が向上したかどうかを確認します。

方法6:WU(Windows Update)を無効化する

ここまで試しても目立った効果がない場合、この問題に遭遇したほとんどのユーザーに有効だった最後の手段があります。残念ながら、これは理想的な解決策とは言えません。WU(Windows Update)サービスを無効化すると、システムがdatastore.edbファイルを読み書きする必要がなくなり、このファイルが原因のメモリ占有の競合が解消されます。

しかし、その影響は非常に大きく、自動的にセキュリティ更新プログラムや安定性の修正を受け取れなくなります。理想的には、この方法を実行した後は、定期的にWUサービスを再有効化してシステムを最新の状態に保つことを忘れないようにしましょう。

マルウェア感染のリスクと引き換えにシステムの応答性向上を得ることが許容できるのであれば、以下の手順でWindows Updateを無効化してください。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ウィンドウを開きます。「services.msc」と入力し、Enterキーを押して「サービス」ウィンドウを開きます。
  2. サービス」ウィンドウで下にスクロールして「Windows Update」を見つけ、右クリックして「プロパティ」を選択します。
  3. プロパティ」の「全般」タブで、「スタートアップの種類」の横にあるドロップダウンメニューから「無効」を選択します。次に「適用」をクリックして変更を保存し、「サービス」ウィンドウを閉じます。
  4. システムを再起動し、リソース使用量が減少したかどうかを確認します。

注意:最新のセキュリティ更新プログラムを確実に受け取れるよう、定期的に「サービス」画面に戻ってWindows Updateサービスを再有効化することを忘れないでください。すべての更新プログラムが適用されるまでサービスを有効に保ち、その後上記の手順で再度WUを無効化してください。

  1. Windows 10アップデートエラー0xc1900104の原因と解決方法を徹底解説

    Windows 10アップデートエラー0xc1900104とは?主な原因Windowsアップデートエラー0xc1900104は、アップデートのインストール処理が規定時間内に完了しなかった場合(MOSETUP_E_PROCESS_TIMEOUT)、またはシステムの予約領域・回復パーティションの空き容量が不足している場合に発生するエラーです。また、Conexant製オーディオデバイスドライバーのバグが原因となるケースもあります。この問題は、Windows 10 20H2への機能更新プログラムのインストール中に、特定の進捗率(主に61%付近)で失敗し、エラー0xc1900104が表示されることで確認

  2. BIOSとは?仕組みとWindows 10での正しい更新方法を徹底解説

    パソコンでキーボードの不具合、電源まわりのトラブル、インターネット接続の問題や動作速度の低下などが発生したとき、その原因がBIOSに関連しているケースは少なくありません。修理業者やITの専門家に相談すると、本格的なトラブルシューティングの前に「まずBIOSを更新してみてください」とアドバイスされることも多いでしょう。実際、BIOSの更新だけで問題が解決するケースも多くあります。 BIOSとは? BIOS(Basic Input/Output System:基本入出力システム)は、PCのマザーボード上にある小さなメモリチップに格納されたソフトウェアで、CPUやGPUなど、PCに搭載されたすべての