Quantcast
Channel: 黑暗執行緒
Viewing all articles
Browse latest Browse all 2311

Windows C槽空間不足問題

$
0
0

照片來源:民報

公司或家裡都有 i7 桌機可用,左手筆電只是輔助,所以當年買筆電選了Vaio T13,以中階價位買到 i5+SSD+觸控螢幕+金屬外殼,十分划算。唯一美中不足就是小不啦嘰的 128GB SSD,扣掉還原 Partition 只剰 100G 左右。隨著軟體愈裝愈多,系統碟 C槽可用空間捉襟見肘,三不五時低於10%警戒線。每每看到C槽的刺眼紅條我就會焦慮,忙著刪暫存檔、移除軟體調頭寸。空間大戶非 Visual Studio 莫屬,用觸控螢幕測試Windows Phone 8.1 App,用Cordova寫Android App,酷是很酷,但模擬器動轍數GB起跳,令人驚心;而 Windows 習慣保留安裝程式以備日後修復或解除安裝,每次裝 Windows Update 也會耗用空間,刪掉系統檔案怕有後遺症,只能看著 Windows 資料夾日益肥大。

這麼下去不是辦法,一咬牙買了第二顆 SSD(T13擴充槽規格特殊,還得花半顆SSD的價錢買轉換頭 orz),自此筆電多了 X 槽。移除 VS2013、Office 2013 改裝到新磁碟,不少檔案似乎綁死 C 槽,擠出空間沒想像多。今天在筆電安裝 Visual Studio 2015,安裝程式預估兩顆磁碟總共要用掉 22GB,有種不祥預感,果不其然,C槽又要爆了…

由 WinDirStat 分析結果,抓到幾個大咖,Windows 暴增到 42GB,ProgramData/Package Cache 用掉 7GB!

探了來歷,極有可能是Visual Studio的傑作。依MSDN部落格文章提到,就算安裝在其他磁碟,Visual Studio還是固定會佔用不少系統碟空間:

  • Shared runtimes like the .NET Framework and Visual C/C++ which require installing into the system drive.
  • Packages shared with other products that have their own installation folders like SQL Server and Windows SDK
  • Components shared with other applications like Office or services like IIS
  • Windows Installer and package caches

換句話說,有些檔案註定只能裝在系統碟,由不得我作主 orz

爬文找到一個好解法,將 Package Cache 移到 X 槽,並將 C 槽原目錄指向新位置,不需要 Hacking 改 Registry,就能輕鬆轉移空間:

  1. 將 C:\ProgramData\Package Cache 目錄搬到 X:\DirJunction\ProgramData\Package Cache
  2. 使用 mklink /J 指令建立目錄連接( Directory Junction
    mklink /J "C:\ProgramData\Package Cache" "X:\DirJunction\ProgramData\Package Cache" 

目錄連接對程式甚至OS來說是透明的,存取時跟位於該實體位置的資料夾沒有兩樣,搬移後幾乎無感,很完美的解決方案。

同樣原理可應用在其他歸檔備用性質的目錄搬移,騰出寶貴 C 槽空間,但仍有些限制。由於原目錄必須完全搬移後刪除,該目錄不能有任何檔案在執行中或被鎖定,另一方面,顧及第二磁碟故障時作業系統至少要能開機,搬移對象以「備而不用」性質為佳,安裝檔、舊版元件的封存資料夾,或是不涉及Windows服務/ActiveX元件的高可攜性軟體是較好的選擇,另外應避免有特殊NTFS權限要求的資枓夾,以免搬移後權限改變造成問題。

陸續搬了\Program Files (x86)\Windows Kits、\Program Files (x86)\Android、ProgramData\Package Cache,挪出15GB,但空間仍不充裕。於是我把腦筋動到高達 22GB 的Windows\Installers,但它是個系統隱藏資料夾,搬動可能引發災難。爬文學到,並不是每個 Installers 檔案都有保存價值,有些孤兒快取檔(Orphaned Cache)是可以放心刪除的。不過文章提到Microsoft Installer CleanUp 工具已隨XP退役、WICleanUp 工具年代久遠,我不確定是否可用在Windows 8,考慮後,決定採行打安全牌-手動搬檔。

Installer 目錄下的msi、msp 採隨機檔名,看不出所以然,在增加作者及標題欄位可以提供一些線索:

標題不是給人看的文字,但從關鍵字可看出端倪,看起來 Office 安裝檔是吃光空間的主謀集團,依大小、標題、修改時間判斷,很多還是重複檔案。

猜得到檔案用途,動手搬移心裡就篤多了,我選擇不刪除檔案,而是將檔案搬移到X槽,待日後要移除或修復時再由X槽複製還原。

C槽剩餘空間來到34GB的安全水位,開心!


Viewing all articles
Browse latest Browse all 2311

Trending Articles