據說從上古時代傳下來過一個「笑話」:
老師!我給這個文件備份了好幾份呢,D 盤一份,E 盤一份,F 盤一份,我怕 C 盤東西太多電腦會卡就沒放在 C 盤!
等等,你真的需要分區嗎?就算分區了,這麼備份有用嗎?
從我有記憶以來,很多人的 Windows 電腦買來第一件事就是分區,80G 容量硬盤成為主流的時候,大家更是習慣了這樣的設定:C 盤除了系統文件啥也不放,D 盤放軟件,E 盤放文檔。總之不分四五個區總覺得哪裡不太對勁,久而久之,大家對以下場景也就不會感到陌生了。
傳統的分區方式
雖然這些習慣究竟緣起何處已無從考證,但它們放在當下的确是沒有太大意義的,甚至還會給我們的使用帶來不便。這裡我們不妨設想這樣一個場景:
小明和小剛都租賃了一個 1000 ㎡ 的廠房。小明是一個強迫症,他把廠房分割成了 10 塊,每塊 100 ㎡。小剛沒有對廠房進行分割。頭一個月他們經營得很不錯。第二個月突然出現了一批占地 200 ㎡ 的貨物,小剛通過簡單的調度将貨物存儲下來,小明則開始發愁了:他的廠房并不是不夠大,可是突然來了一個超出預期的貨物,調度就比較困難了。
這個例子适用于所有時期的電腦。以上面的截圖為例:如果我要下載總容量為 300G 的遊戲,那我至少需要将一個盤裡的文件全部移動到另外一個盤中才能愉快地點擊「下載」按鈕。另外大部分情況下分區間的數據移動也是需要進行重新寫入,如果移動的數據裡有很多小文件,整個過程就會變得十分漫長無形之間你的快樂就少了幾分。
憑啥不讓我分區?
在暫且隻讨論 Windows 環境的前提下,我們不妨先回到「分區」這件事情的真正意義上來。一般情況下,對分區的熱衷往往有以下幾種動機:
No.1「我分區僅僅是因為有強迫症,想更好地整理文件。」
其實文件夾也能很好地完成這個工作,多分區反而會為數據備份、歸檔帶來不必要的麻煩,使容錯能力大幅下降。關于這點我們在下文會詳細解釋原因。
No.2「我分區是怕數據丢失,放在多個盤裡我放心多了!」
這個就對應着開頭的笑話:備份是指在不同物理介質上對文件進行多份複制、存檔,通常情況下在一塊磁盤的不同分區裡做備份僅僅是自我安慰。但這種情況也不能太絕對,如果一個電腦小白在系統崩潰時無法通過技術手段獲取重要文件,多分區可以幫助你降低電腦在店裡或是售後重新安裝系統前保留數據的成本。
No.3「我分區是因為軟件裝在 C 盤系統會變慢。」
這個想法目前來看完全錯誤。
一個物理磁盤由于文件系統、物理特性等原因在分區即将塞滿的時候的确會出現速度下降的情況,在固态硬盤上這個現象由于 Trim 機制的存在會更加嚴重。所以如果以保證系統運行速度為由對磁盤進行分區,那很大概率 C 盤空間是會被壓縮的,從邏輯上看發生上述情況的可能性也更大。
況且目前的筆記本電腦有很大一部分采用了固态 機械硬盤的配置,如果你将軟件安裝在機械硬盤分區上來「節省」C 盤空間,軟件的加載速度和運行速度相對會更慢。
早年間軟件裝在 C 盤會導緻電腦變慢的觀點還有部分原因來自磁盤碎片。
當時機械硬盤占主流,它的數據讀寫原理導緻了這個問題。機械硬盤實際上可以理解成一塊容量更大的 CD 光盤,在讀取時磁頭移動到數據存儲的位置才能讀出内容。而磁盤碎片問題大概可以這樣理解:你在數學課上用一個定頁筆記本記筆記,幾乎所有内容都是按章節緊密銜接的;但有時候老師講知識的時候會漏講或是跳講,這對于定頁筆記本就是一個考驗了,到底記在哪裡好呢?
這時候大體上有兩種解決方法:改用活頁筆記本,在每次有需要補充的知識的時候就補充一整張新的空白紙;或繼續使用定頁本,有新知識的時候記在其他的空白部分,然後在原來的地方标上新知識點的位置。
這兩種方法各有優劣,第一種方法會浪費大量空間以解決文件修改、删除的問題;第二種方法則将一個文件打碎後存儲。這個時候的機械硬盤就像極了筆記本,它的磁頭需要在查看整個文件的時候需要四處移動才能讀取完畢。
好在現在的電腦大部分是帶有固态硬盤的,有别于機械硬盤需要移動磁頭的原理,固态硬盤中使用了閃存 (NAND Flash) 技術,它使用主控芯片讀寫閃存,用精準施加電流的方式來讀寫數據。1 沒有了磁頭的移動,「磁盤碎片」也不再是一個問題,早年間在 C 盤安裝軟件導緻過多磁盤碎片拖慢運行速度的說法自然也不複存在。2
我想給「Windows 娘」一片私人天地
我們自然可以照顧到這種強迫症需求,但且慢,這個想法也得您給的地方夠大才行呀!
Windows 的機制(如:WinSxS 會存儲各版本的運行支持庫等)決定了 C 盤需要一些預留空間來應付日後的存儲需求。全新安裝的 Windows 大約占用 10 G 的磁盤空間,但是在使用中這個數字會逐漸增大,達到 20 G 或更多。3 在這個時候,軟件裝不上、系統更新不了,再騰空間就是一件很累的事情了。
而從操作系統設計的角度來看,Windows 上分多個區對于軟件來說是不友好的。
如果我們使用 diskpart 工具來查看磁盤分區的話,可以看到以下輸出:
Microsoft Diskpart
在系統裡,每一個分區實際上按照順序都有一個物理地址,這與 Linux/Unix 一緻,但是它與盤符并沒有必然聯系。
分區 1, 3-5 是我為了安裝 Linux 而建立的分區,它們在 Windows 下不可見。而分區 2 是我的 D 盤,它擁有一個獨立的盤符。如果我們在 Linux/Unix 下執行類似命令 df -h 來查看分區情況,則會有如下輸出:
df -h on Linux
可以看到,所有的分區并沒有一個特定的盤符,反而是最右邊有一個 Mounted on 标識出它們被挂載在哪個位置。在這種情況下,整個文件樹就像宜家的 SKÅDIS 斯考迪斯洞洞闆一樣,我們可以随時更換圖片或小物件,而不會像傳統需要打洞的裝飾方式一樣對牆體造成不可逆的破壞。
圖片來自宜家官網
例如,我在圖上的第一排第一列的孔裡可以放入一個小挂鈎。過了幾個月,這個小挂鈎生鏽了,這時我可以将其拿下更換一個新的挂鈎,而不會改變整體闆子的結構。Linux/Unix 的文件系統也是這樣,如果 /home 目錄占了 300 G 大小,但是原來的硬盤隻有 512 G,這個時候就可以插入一個新硬盤,将文件轉移到新硬盤上,再将新硬盤挂載在 /home,這樣就可以完成無損的數據轉移和擴容。
而軟鍊接則和 Windows 上的快捷方式類似,不同的是 Windows 上的快捷方式本質還是一個 .lnk 文件。如果在 D 盤下面有個名為 ghost 的快捷方式指向 C:\Windows\Fonts,你并不能通過 D:\ghost 來讀取字體文件。軟鍊接本質是一個符号,在文件系統進行讀取時實際是直接重定向到目标位置的,這也是一個在不對軟件設置等進行修改的前提下轉移數據的方式,在之前的 轉移 iTunes 文章 裡當中有提到。
也就是說,如果你建立的是軟鍊接,你可以用 D:\ghost 代替C:\Windows\Fonts 來訪問字體文件。
由于 Windows 最初在設計時沒有挂載點、軟鍊接等概念,早期也沒有對應的 API,即使現在的版本即使中加入了這些功能,兼容性也不容樂觀56。從長遠來看,這可能會對于一些在設計時寫死盤符的軟件的内容庫遷移帶來麻煩。
道理我都懂,到底咋分好?
如果你的電腦是單硬盤固态硬盤大于 256 G 時可以考慮分為系統盤與數據盤,但不推薦系統盤小于 120 G。
固态硬盤介于 128 G 與 256 G 之間時分區會顯得有些多餘,建議不進行分區,日常注意數據備份;若需要分區,此時建議至少給系統盤預留出 100 G 的空間。固态硬盤小于 128 G 時不建議分區。機械硬盤一般沒有總大小的顧慮,建議給 C 盤 256 G 以上的空間;如果是新購置的電腦且有預留第二硬盤位,建議購買一個固态硬盤作為系統盤使用。
如果你的電腦是多硬盤,那不建議對系統盤二次分區。
通常此類電腦附帶的固态硬盤大小是 128 G 或 256 G,參考第一點,保留一個區即可。數據區可以依照個人喜好分 1-2 個區,但是最好的做法是不分區,原因在上文已經叙述過了。
需要注意的是,如果你的電腦帶有固态硬盤,在空間許可的情況下應盡量将軟件安裝在固态硬盤上。在安裝系統時,請不要自行建立分區之後安裝系統,正确的做法是删除分區後選中空閑空間,讓 Windows 安裝程序自動建立分區。
至于分區/合并分區的方式,Windows 自帶磁盤管理的「壓縮卷」功能可以從後往前把硬盤上的空餘空間分出一個新的分區來;如果你有更加複雜的需求如從前往後分區,則可以使用 DiskGenius 等專業軟件進行操作。
但無論是什麼目的何種軟件,數據無價,謹慎操作
,