2016.09.25: 古い情報(Windows Update Agent)の削除。
2014.12.13: サイト内に関連ページ作成。一部情報の捕捉や修正。
2014.11.29: 参考リンクを追加。文体の修正。
2010.12.09: 初出

このページの内容

Windows Updateに利用されるシステムファイル「datastore.edb」の削除と再作成を行い、Windowsの安定化と高速化を行う方法を紹介したページです。
2010年に Windows 7 で検証した内容を元に構成しています。

対象OS

Windows 10 / 8.1 / 7 / Vista

手元のPCにて、Windows10でもこの方法が有効であることを確認しました。
他サイトで情報を探してみたところ、
Windows 10 won't update - keeps failing : Windows10
海外で数件、この方法を利用しているページを発見。
Windows Updateでトラブルが発生した場合にも有効である旨が読み取れます。

補足注意

Windows10の場合、「datastore.edb」はすぐに肥大化するので高速化には寄与しません (システムが不安定な場合の対処方法としては効果は大きいです)。
また失敗するとWindows (特にWindows Update関連)の調子が著しく悪くなる危険な手順なので、自己責任でお願いします。

※関連ページを作成しました。
Windows 7/8.1の高速化に効果抜群。セキュリティソフトの監視対象から外すファイルリスト
Windows 10の Window Defenderの手順はこちら
「datastore.edb」の削除は怖い、高速化Tipsのみを知りたい、という場合は上記ページを利用してください。

 

以下本文です。
2010年頃に記載した情報が元になっており、またこのTipsを発見するに至るまでの経緯なども含めて記載しているのでやや冗長な構成です。

サービス

今ホッテントリで話題になっている、全力HPさんの「Windows XPの起動時の長いディスクアクセスは、WindowsUpdateの履歴が溜まりすぎていたせいだった?!」は、WindowsVistaや7でも行える技なのか、そして有効なのかどうなのか、が非常に気になったので検証してみました。

結果

Windows 7/Vistaでも、多少操作方法は違うがこの方法は実行可能。
しかしdatastore.edbに大量のフラグメントが発生していない限りは、肥大化していても起動が遅くなる事はありませんでした。
ただ、偶然発見した セキュリティツールの保護対象からdatastore.edbを除外するという行為が、かなりの効果がありました。

 

検証にあたって

  1. datastore.edbの削除に関する話は、XP 向けの情報ならばMicrosoftのサポートページにあり
    ただしVista・7向けの資料は発見できなかった。
    ※2012年以降、色々なページで(別Tipsとして)紹介されています。(詳細はページ下段の参考リンクの項目で紹介)
  2. 色々検索してみたけど、それらしき事をやっている・紹介してる人はいない。(これ書き終わってから検索したら、本日付で大量に出てきた。考える事はみんな同じだ(^_^; )
  3. 停止サービスの名前は違うが、Vista/7でも一連の操作は問題なく行える。
    (このページ内下段でVista/7用の手順紹介あり)
  4. Vista,7 では行う必要は無いって意見が多い。
    確かにその通り、効果は少な目。
  5. しかし「%windir%\SoftwareDistribution \Datastore\」フォルダの中身をアンチウイルスソフトのスキャン対象から外すってのはかなり有効。

Windows7・Vistaでの「datastore.edb」再作成方法

注意)システムフォルダの中身を削除するので、それなりに危険な行為です。大切なデータのバックアップを行ってから実行しましょう。心配な人は実行しないでおきましょう。

Windows7/Vistaの場合、ファイル削除でUACが反応したり、WindowsUpdateで正規ユーザーかどうかの確認が入ったり、ちょっとだけ面倒ですがこの手順自体は問題なく実行出来るようです。

まずはWindowsサービス実行
Windowsサービスは「スタート」>「管理ツール」>「サービス」などから実行。
Win+Rキーから「services.msc」を実行してもOK

サービス
▲クリックすると全体表示: Windowsサービス画面。
Windows7/Vistaの場合、「Windows Update」を停止する。
※Windows XPの場合は「Automatic Updates」「自動更新」などの名前のサービス名を停止。

該当ファイルの削除
datastore.edb
▲クリックで拡大
エクスプローラーを開いて、
「C:\Windows\SoftwareDistribution\DataStore」へ移動する。
フォルダ内のdatastore.edbと、Logsフォルダの中身を全て削除する。
(念のためLogsフォルダ自体は削除しなかった)
(ちなみにdatastore.edbは156MB、断片化数3)

削除
▲UACが反応して上記ダイアログが表示されますが、「続行」をクリック。
全部削除します。

Windowsサービスを元に戻す
「Windows Update」開始
▲Windowsサービスの「Windows Update」を右クリックして「開始」を選択。元に戻します。

注意!削除後は必ずWindows Update エージェントの更新とWindows Updateを実行する事

現在はこの手順は不要です。
PC再起動後にWindows Updateを行えばOKです。

Windows Updateを行う

datastore.edbには、Windows Updateに関する情報が記録されています。
PC内のWindows Updateに関するデータベースが消去されていますので、必ずWindows Updateをしておく必要があります。

Windows Updateに接続した際の画像
Windows Update画面
コントロールパネルから「Windows Update」を開くと、「Windowsは最新の状態ではない」と警告が出ます。
「更新プログラムの確認」をクリックしてWindowsが最新の状態である事を再確認させましょう。


datastore.edb削除前
この手順実行前
▲クリックで拡大: この手順実行前。
このように大量のWindows Updateの履歴があります。

datastore.edb削除後
実行後
▲クリックで拡大: この手順実行後。
Windows Updateの履歴は空っぽになりました。

PC再起動後
datastore.edb
▲datastore.edbのサイズは156MB(断片化3)から8.2MB(断片化0)へスリム化成功。

再起動後
▲アクションセンターのチェックも全く問題なし。

実行後、Windowsの起動は高速化出来たか?

私はわりと定期的にPCメンテを行っている事もあり、Windows起動速度自体に大きな速度差を感じる事は出来ませんでした。しかしそれなりに高速化が体感できた&別の高速化Tipsを発見できました。

メンテ前datastore.edb 再作成
このページの内容
(今回のメンテ)
CCleanerを実行
(過去のメンテ)
さらにシステムドライブをデフラグ
(過去のメンテ)
BIOS起動まで10秒10秒10秒10秒
BIOS通過10秒10秒10秒10秒
OS起動中23秒20秒21秒19秒
ログイン処理21秒19秒20秒17秒
タスクバーに常駐アプリが出揃うまで7秒1秒5秒4秒
合計71秒60秒66秒60秒
※注)表中の「CCleanerを実行」「さらにシステムドライブをデフラグ」は以前に行った時のデータで、今回の「datastore.edb再作成」とは別に行ったもの

Windows再起動後、タスクバーに常駐アイコンが一瞬で登場するようになったのはビックリ。この結果から推測すると、、、、今回の高速化のキモはどうもセキュリティソフトの起動や常駐ソフトと関係あるんじゃないか?

と言う事で、datastore.edbをセキュリティーツールの常駐保護から外す事は可能なのか模索開始。

セキュリティソフトの監視対象からdatastore.edbなどを除外する

datastore.edb を含め「\SoftwareDistribution\Datastore\」フォルダ内のファイルは非常に断片化しやすい&肥大化しやすい性質を持っています。なのでセキュリティソフトの監視対象から該当ファイルを除外することで、セキュリティーツールの起動や常駐・WindowsUpdate時のレスポンスを軽くする事が出来る。。。と予測し、検証してみました。

Aviraでの除外方法
▲クリックで拡大: 画面はAvira AntiVirでの除外設定追加方法

各種セキュリティーソフトで[スキャナ]、[常駐保護]、[ガード]などと言った項目の「例外設定」に「%windir%\SoftwareDistribution\Datastore\datastore.edb」含む フォルダ内のファイルをドンドン設定してやる。この時フォルダ全体の指定は絶対しない事。ウイルスの攻撃対象となった時に侵入を防げなくなる。
打ち消し線の補足:フォルダを丸ごと追加しても大きな問題にはならない無いようです(トレンドマイクロの推奨する除外設定例)

他にも常駐保護から外せるフォルダやファイルは無いの?

サイト内別ページで紹介しています。
Windows 7/8.1の高速化に効果抜群。セキュリティソフトの監視対象から外すファイルリスト

 

参考リンク

このページで紹介した小技は、以下のサイトでも紹介されています。

少々危険な気もするけど思ったほどトリッキーな方法でもなさそうで、チョット気をつけていれば大丈夫、というレベルで考えておけば良さそうです。
マイクロソフトやトレンドマイクロのページや、かなりのPC知識を持った方も紹介されており、思ったほどトリッキーな方法でもなさそう。
チョット気をつけていれば大丈夫、レベルで考えておけば良さそうです。

まとめ

フォルダ「%windir%\SoftwareDistribution\Datastore\」の中身を削除&再作成は、Vista 以降のWindowsでも高速化にそれなりに効果があるが、その効果は肥大化したdatastore.edbをスリムにするよりも、フラグメント解消の方が大きそう。

そしてWindows 7/Vistaはアイドリング時にかなりしっかりとデフラグしてくれるので、datastore.edbのスリム化はそんなに神経質にならなくても大丈夫。

それよりも、セキュリティーツールの保護対象からdatastore.edbを除外した際の効果が、意外と大きかった。7/Vistaユーザーにはこの方法がお奨め

あとがき(2014年11月の追記)

この高速化Tipsを利用し始めてほぼ4年経過。
datastore.edbをセキュリティーツールの保護対象から外した事による弊害やこのルートでのウィルス感染はありませんでした。このまま利用しても大丈夫な感じですねえヾ(´ー`)ノ