使用 ImDisk 保護自己的固態(tài)硬盤

ImDisk 簡介
ImDisk,是一款免費的、功能實用的、體積超小的、適用于 Windows 平臺的軟件,這個工具可以讓你掛載硬盤、CD-ROM 或軟盤的鏡像文件,還可以搭配一點參數(shù)創(chuàng)建 RAMDISKS(本文涉及)。
This tool will let you mount image files of hard drive, cd-rom or floppy, and create one or several ramdisks with various parameters.
官網(wǎng)(?):


大量的緩存文件在耗損著你的固態(tài)硬盤壽命
現(xiàn)在的電腦 C 盤都是安裝在固態(tài)中的吧(小聲)
Windows 在日常使用中,會生成大量碎片化的緩存文件:

并且,根據(jù)自身的使用習慣的不同,習慣使用的某些軟件也會生成大量的碎片文件,比如筆者偏愛的 Edge 瀏覽器:

大量的碎片文件不僅占據(jù)著寶貴的 C 盤空間,其清理也會消耗 SSD 的壽命:

接近五年的使用后,S.M.A.R.T. 中所顯示的壽命也消耗了 18%:

所以,關(guān)閉各種“自動更新”,以及使用 RAM Disk 功能,將部分內(nèi)存映射為磁盤,用于暫存緩存文件(關(guān)機后會自動丟失),有一定的延長 SSD 壽命的作用,是筆者目前可能有點在意的事情。

ImDisk 給緩存文件一個暫存地點
1. 創(chuàng)建 RamDisk:
打開“RamDisk 設(shè)置”

主頁如圖:

按照自己的需要和使用習慣,并結(jié)合可分配的空閑內(nèi)存空間容量,為內(nèi)存磁盤指定空間大小,選擇一個合適的驅(qū)動器號(本文使用 X),把“開機啟動”和“創(chuàng)建TEMP文件夾”都勾上,點擊確定,就創(chuàng)建完成了。我個人電腦開機后一般不會連續(xù)運行超過一天,查了一下自己 Temp 目錄下單日最多產(chǎn)生的垃圾沒有超過 400 MB,自己電腦的總內(nèi)存為 16 GB,所以為 RamDisk 分配了 1 GB 的空間。如果部分應用(推測如錄屏軟件、解壓軟件)在使用 RamDisk 后,出現(xiàn)了問題,可:1. 更改相關(guān)軟件的緩存地址為硬件磁盤中的地址;2. 暫時修改環(huán)境變量中的 TEMP 和 TMP 為硬件磁盤中的地址(可能需要重啟);3. 考慮為 RamDisk 分配更大的內(nèi)存空間;4. 別入 RamDisk 這個坑。但是如果自己有預警,這種問題也是可以避免的(后文)。
2. 修改環(huán)境變量內(nèi)的 TEMP 們:



將上面圖片中所有 Temp、tmp 修改成剛剛創(chuàng)建的 RamDisk 下的 Temp 文件夾路徑。重啟電腦,然后就能新奇地發(fā)現(xiàn),RamDisk 下的 Temp 目錄中,開始接受緩存文件:

3. 將單獨應用的緩存地址更改至 RamDisk 之下
在 RamDisk 內(nèi)創(chuàng)建的文件(夾),關(guān)機后就會自動丟失,所以,可以使用腳本輔助創(chuàng)建起到區(qū)分作用的緩存文件夾。
以 Edge 瀏覽器為例,Edge 瀏覽器下,有三個產(chǎn)出非常多碎片文件的目錄,分別是:
在自己磁盤中,專門搞一個固定位置的文件夾,比如命名為“WindowsScripts”,里面存放接下來要創(chuàng)建的腳本:

腳本寫完后,雙擊運行,X 盤出現(xiàn)了相應的文件夾:

使用管理員權(quán)限打開 cmd:


關(guān)閉 Edge 瀏覽器的狀態(tài)下,將上面提到的 C 盤中那三個文件夾直接刪除,再在 cmd 中使用 mklink 指令,創(chuàng)建對應的符號鏈接:[格式:mklink /D "鏈接入口" "鏈接到的地方"]

原來的位置會出現(xiàn)這樣的符號鏈接:

然后打開瀏覽器使用,就會發(fā)現(xiàn)有源源不斷的小文件出現(xiàn)在文件列表中了:

有了腳本,還得實現(xiàn)自動化,這邊使用 Windows 自帶的“任務(wù)計劃程序”來實現(xiàn)自動化:

創(chuàng)建基本任務(wù):

“當用戶登錄時自動執(zhí)行腳本”:

這樣,就實現(xiàn)了讓 Edge 瀏覽器在使用過程中生成的緩存文件不直接寫入 C 盤(SSD)的操作。

進階技巧
如果分配的空間太小,可能在使用某些軟件時(例如:解壓縮),會遇到“磁盤空間不足”的問題。那么應該如何解決這種問題呢?
解決方法一:部分應用支持單獨設(shè)置緩存文件路徑,可以自行更改為原磁盤內(nèi)的地址(部分應用也許得重啟才能生效該設(shè)置)。
解決方法二:使用批處理腳本,將 Temp 重新指向原空間地址。由于我個人確實不會寫批處理,所以問了下 New Bing,并結(jié)合網(wǎng)上的資料,寫了這樣一段腳本,單獨保存為一個 .bat 文件:
這樣的話,就需要重新將上面步驟中的相關(guān)環(huán)境變量更改為原路徑,并且在原路徑創(chuàng)建由虛擬硬盤 Temp 指向原 Temp 路徑的軟鏈接,并且在原路徑下創(chuàng)建一個空文件夾 Temp3,后面這話講得很別扭,不妨看圖:

這樣,執(zhí)行上面的腳本就能將 Temp(軟鏈接)重命名為 Temp2(軟鏈接),同時將 Temp3(文件夾)重命名為 Temp(文件夾),再次執(zhí)行將執(zhí)行相反的操作。
但這樣有個問題,電腦重啟后,我還是希望它能夠直接定向至虛擬硬盤,免去手動檢查的步驟。那么,就需要對前文中那個自動創(chuàng)建其他需要的文件夾的腳本后面添加這樣的內(nèi)容:

是誰在產(chǎn)生碎片
筆者在過去的 Windows 使用過程中,偶然遇到了一款名為 SpaceSniffer 的軟件,主要功能是“磁盤占用可視化”。巧合的是,這款軟件可以通過相應方塊閃爍的方式,讓人找到是哪個文件夾下發(fā)生了文件更新。比如 Edge 的 IndexedDB 文件夾,就是筆者用這樣的方式尋找到的。



