Windows.edb Defragmentation

這是在處理Client問題時碰到的奇怪問題。Drive C切了150GB給他用,但是很弔詭的是User本身Profile大約只佔了8GB的空間,剩下的空間不停地被吃掉吃到變成0,排除不是病毒問題,也刪掉市面上已知道暫存檔案,清多少沒多久就會被吃多少,甚至把Page File搬到D也沒用,用檔案管理員去計算資料夾大小卻一直找不出來,後來用WinDirStat這個軟體找到了Windows.edb檔案,單檔92GB。

這檔案的用途大概是Windows索引的資料庫,在Windows7不會發生異常增大的狀況,但是在Windows 8 / 8.1 / 10 、Windows 2012之後版本,他很有可能會持續增長到Drive C硬碟空間不夠用。

所幸,這檔案可以離線瘦身,也可以砍掉重練

下面是瘦身方式,但是如果你的Drive C已經沒有空間可以運作,你必須先清出一定的空間讓他運作才能做瘦身。

Sc config wsearch start=disable
Net stop wsearch

EsentUtl.exe /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb

Sc config wsearch start=delayed-auto

Net start wsearch

1.先把Windows Search服務Disable
2.停止Windows Search服務
3.下指令開始瘦身
4.重新把服務設定為延遲啟動
5.啟動Windows Search服務

我自己的電腦測試原本大約5GB瘦身完畢變成4.6G。
如果想砍掉重練流程大概是

1.先把Windows Search服務Disable
2.停止Windows Search服務
3.刪除C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
4.重新把服務設定為延遲啟動
5.啟動Windows Search服務(啟動時可能會出現錯誤,沒關係再啟動一次)

警告,砍掉重練會造成User暫時性無法搜尋檔案,需要等候系統自行重建索引檔。