前言

系統槽空間不足的問題,坦白說在我拿到公司的電腦後就一直在捆擾我,尤其是這部電腦的前主人還灌了些很多開發工具之下顯的更加嚴重。

最一開始

一開始的時候我幾乎是每天都打開 Powershell cleanmgr /lowdisk 來清出空間,很多時候只要當天有 Windows update,都有一些些空間可以謄出來,不過依然免不了會把既有空間逐漸佔去的問題,說到底這只是個緩兵之計。所以後來就開始打開 應用程式與功能 開始砍應用程式。

幫你找出最肥的是誰

但要砍程式,也要看一下是不是真的肥,不然砍了幫助也不大,因此有一款工具可以很好的幫我辨識誰才是戰犯的好工具。

不得不說這真的是 Windows 平台上針對此需求不可多得的好工具,不但掃的快還有圖形化的顯示與排序,可以快速看出到底你可以砍的檔案中誰才是最該死的那一個。

mklink大顯神威

不管怎麼砍應用也是會遇到砍不了的時候,這個時候就很需要將一些預設放在系統槽,但又沒有介面讓你更改的檔案放在系統槽以外的地方。不要小看這部份,若有用 windirstate 掃的話會發現,你可以騰出的空間會有數十 GB 之多。

官方文件:

Microsoft Docs

這邊我們需要用到的參數其實就是「/J」,藉由產生 Junction Directory 來將一些預設放在系統槽的檔案搬移出去。

最一開始被我盯上的就是 C:\ProgramData\Package Cache 這個資料夾,畢竟當初一掃就掃出了快 10GB 的空間!

  1. 首先先將 X 槽建立一個資料夾 “DirJunction” 方便將未來使用這個方式的資料夾統一放在一起
  2. 再來將 C:\ProgramData\Package Cache 的 Package Cahce 資歷夾直接剪去 X 槽的 “DirJunction” 資料夾底下
  3. 使用 Admin 權限開啟 cmd
  4. 輸入 mklink /J "C:\ProgramData\Package Cache" "X:\DirJunction\ProgramData\Package Cache"
  5. 打完收工

你可以藉由這個方法,不斷把空間清出來

結語

說實話,在用 mklink 之前每天使用 cleanmgr 實在痛苦成效又不彰,在改用 mklink 之後確實好了很多,唯一的缺點大概就是未來 Windows 做大型更新時要先確認一下連結是否還是 Work 的狀態