ADVERTISEMENT
以前硬碟慢、加上空間小,動不動就需要整理硬碟,筆者記得還在用DOS的時候,每個禮拜都要「defrag」一下。現在已經今非昔比,很多人大概已經忘了什麼是磁碟重組了,不過說真的,現在的硬碟還會需要重組嗎?重組了以後會變得比較快嗎?還是把磁區格式化成4KB比較有效?
隨便問十個讀者:「有在使用磁碟重組軟體的請舉手!」,答案一定寥寥無幾,如果效能增益並不明顯,大部份的玩家會寧願靠備份還原來重整系統,除非是沒辦法隨便關機重灌的伺服器,才會靠重組磁碟來讓硬碟「整齊」一點。磁碟重組的目的是為了集合破碎的檔案區塊來提高資料的存取效率,因為循序讀寫的效能一定比隨機讀寫好,但是現在的硬碟容量已經愈來愈大、搜尋速度也日趨飛快,磁碟重組後真的可以還原硬碟的讀寫效能嗎?
為何磁碟需要重組?
因為檔案容易破碎。硬碟存放資料最小的單位不是檔案,而是「區塊」(Blocks),一個檔案在硬碟裡會依大小被拆成好幾個區塊存放,如果我們把硬碟比喻成相機的記憶卡、檔案則是記憶卡裡頭的資料夾、區塊當作照片,就可以很容易理解檔案系統的資料儲存策略。
假設一張記憶卡只有25格的存放空間(假設啦!),一張照片需佔一格,那麼拍了十張照片,最好的存放方式就是從第一格放到第十格,中間不要有空隙,要讀取照片時便可線性循序一氣呵成,沒有間斷。但如果排列方式是填滿一到第五格,再從第十五格填到第二十格,這樣就造成了空間的不連續性,可比喻成是硬碟的讀寫頭讀完第五筆,就必須再移動十格的距離去讀下一筆資料,等於是把時間浪費在磁區的跳躍上,跳耀的距離愈長、或者是跳躍的動作愈頻繁,資料的「seek time」也就會愈久,所以了,最完美的資料儲存方式就是把有關連性的資料全都放在一起,這樣找起來才會比較快。
看起來好像很理想,但是相機裡不會只有十張照片,硬碟裡也不會只有十個檔案,我們會把照片分類成家人、朋友,檔案也會放到資料夾中管理,一開始硬碟會盡量循序存放資料沒錯,但是日子久了狀況就會複雜很多。這麼說好了,如果在相機裡分別有十張家人跟朋友的照片,他們分佔記憶卡的1~10以及11~20格,請問這時候再拍了第11張家人的照片,該放在第幾格?
方法A:放在第21格,但這種作法是先苦後甘,寫入很快、以後整理就會比較麻煩。
方法B:把原本放在11~20格的照片再往後移一格,挪出第11格來讓家人的照片團聚,攜牲一點寫入時間來換取整齊而連續的資料。
以上兩種狀況都還算理想,因為群組仍然維持得很整齊,假如之後拍了好幾張類型不同的照片,或者是刪除了前面群組裡頭的某幾張照片,這時候新的照片要怎麼擺才好?要放在前面騰出來的空間、還是一味的往後塞呢?
▲當有檔案被搬移或刪除後,原本的區塊會變成空的,這時候新資料要放哪邊就會很尷尬。
比較舊的檔案系統會「見縫插針」,有一部份原因要歸咎於以前硬碟小又慢,作業系統看到空間就會塞,先寫了再說,所以一個檔案的資料可能會被放在好幾個不連續的區塊,造成了所謂的「檔案破碎」。偷的時間總是要還的,日積月累後還是要收拾殘局,得把以前逃避的方法B集合起來一次做完,磁碟重組就是在做這個工作。大部份的磁碟重組軟體都會說明它的功能是「De-fragmentation」(反破碎,縮寫就是defrag),英文字義上跟「Re-combination」(重組合)其實是一樣的意思。
磁碟重組不一定可以做到完美,並不是重組過後的磁碟就是完全沒有檔案破碎,如果真的怎麼搬都沒有足夠的空間來存放單一檔案的全部區塊,那麼重組程式能做到的只是盡量將碎片減至最少,至於要怎麼最快完成這個工作、完成的效果如何,就是每套重組軟體不同的地方了。
什麼檔案會有破碎問題?
很多人喜歡定期重灌作業系統,因為大家都覺得重灌完電腦才會比較快。如果從檔案系統的層面來看,重灌作業系統會變快的原因是磁碟區往往會先經過格式化,而且剛灌完的系統還很乾淨,就算你同時安裝了一堆軟體,大部份的檔案區塊都還是連續的,等到蜜月期一過,碎片變多了還是一樣會變慢。
什麼檔案最容易破碎?雖然Windows系統碟的資料最複雜,但除非你很頻繁的安裝或移除軟體,不然其實這個地方是很乾淨的,大部份會出現破碎都是快取檔案。BT下載的檔案分裂情況會比較明顯,尤其是大型的電影檔,檔案愈大就會需要愈多的區塊,自然會容易被分割。
重組跟清理磁碟、格式化的不同
清理磁碟只是把硬碟裡的垃圾檔案刪掉,跟重組有很大差別,不過先清理磁碟可以提高磁碟重組效率,因為重組程式需要緩衝區來存放搬移中的檔案碎片,緩衝區愈大、重組的速度也會愈快,重組時硬碟本身也會比較輕鬆。有經驗的讀者一定知道,塞得滿滿的硬碟重組時總是特別慢,有些重組軟體會自帶磁碟清理機能,好像大家在搬家或整理房間時會先把不要的東西丟掉一樣。
至於格式化可分成完整格式化及快速格式化,完整格式化會進行掃描及確實清空磁區,比較耗時,快速格式化則只有重置檔案系統的MTF配置表,碎片仍然會留在硬碟上。但是在一般情況下,其實使用快速格式化就可以了,因為這時候的硬碟裡雖然還留著不少檔案殘骸,但是在作業系統的眼裡,所有的區塊都已經被標示為「可用」,新資料不會刻意跳過、而會直接覆蓋舊資料,並不會影響到寫入速度。
如果你是要用軟體還原整個磁碟區的資料,那麼就不必事先格式化了,因為有的備份軟體會忠實還原碎片分佈,先格式化了也沒用,有的則是會在還原資料時重新分配區塊,省得還原後還要再重組一次。
SSD需要重組嗎?
以前常常聽人家說,磁碟重組因為要頻繁搬移檔案、大幅增加讀寫次數,所以硬碟的使用壽命會受影響,如果硬碟裡有百萬個檔案碎片,就要讀寫百萬次,這種類似河內塔的「操」作方式對硬碟很傷。就算是以這點為考量,適時重組硬碟還是可以比從來不重組硬碟少很多讀寫次數,真的擔心的話,不要太頻繁重組就好了,事實上在短時間內對硬碟進行全面性的多次重組也是無意義的。
至於SSD,它的資料一樣是以分頁及區塊的方式來儲存,但是因為搜尋時間很快,可以消弭不少檔案碎片產生的效能衝擊,而且就算是SSD,重組動作也不見得會比一般硬碟快上多少,重組後的效能復原也很有限。
所以,到底需不需要重組?
我們常會聽到:「磁碟重組是FAT時代在用的東西」、「NTFS並不需要」、「Linux或OS X用的檔案系統根本就不需要重組」之類的理論,其實不管是什麼作業系統,檔案都會破碎,差別在於它們「怎麼去應付」而已。磁碟重組其實是一種亡羊補牢的動作,防範勝於治療,既然可以事後挽救,一開始在存放資料時就先做好良好的配置規劃,才是高招。
現在的重組軟體或作業系統已經很聰明,可以在檔案寫入後就立刻重組,或者是智能分配處理器時間、在背景用最少的資源偷偷來,重組的策略與方式也愈來愈靈活,玩家們其實不必事必躬親。如果你真的想試一下重組會不會讓電腦變快,Windows一直都有內建重組工具,使用的還是大廠Diskeeper的核心,免費的就能玩得很開心了。
▲Windows自帶的Defrag可以先分析硬碟的檔案破碎情況,不是很嚴重的話就不必重組了。
大多都是一直塞新寶藏進去而已,而系統也只是照順序寫進去
罷了。依現在硬碟價格容量比,很多人應該都傾向添購硬碟,
而不是刪檔吧!
如果用XP內建工具分析磁碟,資料碟幾乎都會說不用重組。
因此,只有經常刪寫的磁碟區才有必要重組。
也就是牧場和C槽。
不然12F倒是說說看你有什麼高見?〒ˍ〒
重組都小範圍行事就好了,沒必要把整個硬碟都拖下去消磨