2017年10月2日 星期一

如何處理由大型 Windows 元件存放區 (WinSxS) 目錄所引起的磁碟空間問題

徵狀
當您檢視 C:\Windows 資料夾的大小時,可能會注意到 C:\Windows\winsxs 目錄似乎用到大量的磁碟空間。


發生的原因
Windows 安裝的服務作業期間,會使用到 Windows 元件存放區 (C:\Windows\winsxs) 目錄。服務作業包括 (但不限於) Windows Update、Service Pack 和 Hotfix 安裝。 

元件存放區包含 Windows 安裝所需的所有檔案。此外,在安裝更新時,這些檔案的任何更新也都存放在元件存放區中。因此,隨著安裝新增越來越多的更新、功能或角色,元件存放區也隨著時間成長。元件存放區在其本身和其他 Windows 目錄之間使用 NTFS 永久連結,以增加 Windows 平台的穩定性。

元件存放區會顯示出目錄大小很大,是因為 Windows 檔案總管殼層也計算永久連結。Windows 殼層會在該檔案所在之每個目錄中,將每個永久連結的參考計算為檔案的單一執行個體。例如,如果名為 advapi32.dll 的檔案是 700 KB 且位在元件存放區以及 \Windows\system32 目錄中,Windows 檔案總管會不準確地報告該檔案佔用 1,400 KB 的硬碟空間。

解決方案
由於 NTFS 永久連結的關係,元件存放區不能位在系統磁碟區以外的磁碟區上。如果您嘗試移動元件存放區,將會造成無法正確安裝 Windows 更新、Service Pack、角色或功能。此外,也不建議您以手動方式移除或刪除元件存放區中的檔案


若想降低 Windows 安裝上的元件存放區目錄大小,您可以決定永久安裝 Service Pack 並回收 Service Pack 檔案用過的空間。不過,如果您將 Service Pack 永久安裝的話,以後將無法移除該 Service Pack。

若要從 Windows 安裝移除 Service Pack 檔案,請使用下列內建公用程式:

已安裝 Windows Vista Service Pack 1:VSP1CLN.EXE
已安裝 Windows Vista Service Pack 2 或 Windows Server 2008 Service Pack 2:Compcln.exe
已安裝 Windows 7 Service Pack 1 或 Windows Server 2008 R2 Service Pack 1:
DISM /online /Cleanup-Image /SpSuperseded 
或磁碟清除精靈 (cleanmgr.exe)

也可以在系統上強制移除事件,以主動執行 Windows Vista 和 Windows Server 2008 上的清除作業。清除作業會嘗試從安裝中移除不要的系統二進位檔案,並啟用 Windows 回收磁碟空間。若想在 Windows 安裝上發出解除安裝事件,請新增並移除尚未安裝的不要的系統元件,然後重新啟動 Windows 安裝。清除會在下次重新啟動作業系統期間執行。


注意 Windows 7 和 Windows Server 2008 R2 安裝會自動執行清除。

沒有留言:

張貼留言

check_systemv1.1

 check_systemv1.1.bat 可用於電腦資產盤點 @echo off REM 後續命令使用的是:UTF-8編碼 chcp 65001 echo ***Thanks for your cooperation*** echo ***感謝你的合作*** timeout 1...