本文提供了一個解決方案,以解決因大型 Windows 組件存儲 (WinSxS) 目錄導致的磁碟空間問題。
適用於: Windows 7 Service Pack 1, Windows Server 2008 R2 Service Pack 1
原始 KB 編號: 2795190
癥狀
當你檢查 C:\Windows 資料夾的大小時,你可能會注意到 C:\Windows\winsxs 目錄似乎佔用了大量的磁碟空間。
原因
Windows 元件存放區 (C:\Windows\winsxs) 目錄在 Windows 安裝的服務操作過程中使用。 服務操作包含但不限於 Windows 更新、服務包和修補程式安裝。
元件存儲庫包含所有 Windows 安裝所需的文件。 更新檔安裝後,這些檔案的任何更新也會保存在組件存儲中。 這會導致組件存儲隨著時間的推移而增長,因為在安裝中添加了更多的更新、功能或角色。 元件儲存區使用 NTFS 硬連結在其自身與其他 Windows 目錄之間,以提高 Windows 平台的穩定性。
元件存放區顯示的目錄大小會很大,這是因為 Windows Explorer 殼層處理硬連結的方式造成的。 Windows Shell 會將每個硬連結的參考在每個包含該檔案的目錄中計算為該檔案的單一實例。 舉例來說,如果一個名為 advapi32.dll 的檔案是 700 KB 且存在於元件存放區和 \Windows\system32 目錄中,Windows 檔案總管會錯誤地報告該檔案消耗了 1,400 KB 的硬碟空間。
決議 / 解析度 / 決心 (depending on context)
由於 NTFS 硬連結的關係,元件存儲不能位於系統磁碟區以外的其他磁碟區。 如果您嘗試移動元件存儲,這將導致無法正確安裝 Windows 更新、服務包、角色或功能。 此外,我們不建議您手動移除或刪除來自元件存放區的文件。
為了減少 Windows 安裝中的元件存放目錄的大小,您可以決定使服務包的安裝成為永久性,並從服務包文件中回收已使用的空間。 如果您將服務包安裝設為永久狀態,則無法移除該服務包。
若要從 Windows 安裝中移除服務包檔案,請使用以下內建工具:
- 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 Server 2008 的安裝上主動進行,方法是強制執行系統上的刪除事件。 系統清理將嘗試移除安裝中的不需要的系統二進位文件,並使 Windows 能夠回收磁碟空間。 若要在 Windows 安裝中發出卸載事件,請添加和移除任何尚未安裝的不需要的系統元件,然後重新啟動 Windows 安裝。 系統將在下次重新啟動時進行清理作業。
註記
在 Windows 7 和 Windows Server 2008 R2 上,清理程序會自動執行。
更多資訊
若要釋放系統上的額外磁碟空間,請按照以下步驟進行:
選擇開始,然後在搜尋程式和檔案文字框中,輸入磁碟清理。
點擊 磁碟清理 圖示,並執行磁碟清理工具,以根據您的配置決定哪些檔案可以刪除。
在系統硬碟上保存更多空間的方法包括以下幾點:
- 將分頁檔案移至系統上的另一個磁碟區。
- 在系統上禁用休眠功能。
- 使用專用傾印檔案選項,將記憶體傾印檔案捕獲到系統的另一個卷。
- 要將使用者設定檔和程式檔案目錄卸載到系統上的另一個磁碟區。
- 停用用戶端安裝的系統還原點。
- 使用磁碟清理精靈 (cleanmgr.exe) 清理所有臨時目錄和資料夾。
- 將未使用的應用程式或工具從系統中移除。
如需有關 WinSxS 資料夾的更多資訊,請參閱。
若要了解有關磁碟系統需求的更多資訊,請參閱:
註記
當產品使用 Windows Installer 安裝時,原始 .msi 文件的較小版本會儲存在 Windows Installer 快取 (%windir%\Installer) 資料夾中。 隨著時間的推移,這個資料夾可能會變大。 每次為已安裝的產品安裝額外更新(例如熱修復程式、累積更新或服務套件設置)時,相關的 .msp 或 .msi 檔案也會儲存在 Windows Installer 快取中。 隨著時間的推移,這個資料夾可能會變大。 我們不支持也不建議您刪除此資料夾中的任何檔案或用從其他電腦來的檔案取代它們。 更新應用程式依賴於儲存在此資料夾中的檔案所提供的資訊。 若沒有此資訊,更新無法正確地安裝。
%windir%\softwaredistribution\downloads 資料夾由 Windows Update 用來儲存已下載的更新。 通常,您不需要管理此資料夾,因為它由 Windows 自動管理。 此資料夾的典型大小由多種因素決定,例如作業系統版本、當時可用的更新等。 因此,很難提供一個典型的大小預期。 如果此資料夾佔用了大量磁碟空間,首先安裝系統所有可用的更新,然後重新啟動電腦。 若要解決此問題,如果大小仍然過大,請遵循以下步驟:
- 在提升權限的命令提示字元中,執行
Net Stop WUAUSERV
指令。 - 刪除 %windir%\softwaredistribution\downloads 資料夾中的內容。
- 在提升權限的命令提示字元中,執行
Net Start WUAUSERV
指令:
- 在提升權限的命令提示字元中,執行
資料收集
如果您需要微軟支援部門的協助,我們建議您按照使用 TSS 蒐集部署相關問題的資訊中所提到的步驟來收集資訊。