Windows 7操作系統(tǒng)下的winsxs文件夾
如果你安裝了時(shí)下最流行的微軟Windows 7操作系統(tǒng),是否會(huì)覺得其中的winsxs文件夾龐大得嚇人?有些人可能抱怨說Windows 7占用了太多空間。本文將為你詳解這個(gè)問題。 NTFS文件系統(tǒng)的硬
如果你安裝了時(shí)下最流行的微軟Windows 7操作系統(tǒng),是否會(huì)覺得其中的winsxs文件夾龐大得嚇人?有些人可能抱怨說Windows 7占用了太多空間。本文將為你詳解這個(gè)問題。
NTFS文件系統(tǒng)的硬連接機(jī)制
我們都知道,查看一個(gè)目錄的大小最快捷的方法就是查看資源管理器中該文件夾的屬性。然而,在Windows Vista/Windows 7系統(tǒng)中,這種方法會(huì)誤導(dǎo)你的眼睛,因?yàn)槲④浽谶@些系統(tǒng)中廣泛使用了NTFS文件系統(tǒng)的特性之一:硬連接(Hard Link)。這使得WinSxS機(jī)制成為可能。
NTFS文件系統(tǒng)的必要條件
要安裝Windows Vista/Windows 7操作系統(tǒng),系統(tǒng)分區(qū)必須采用NTFS文件系統(tǒng)。這是由于系統(tǒng)文件保護(hù)、各種安全保護(hù)機(jī)制如MIC以及WinSxS所需而決定的。
NTFS文件系統(tǒng)優(yōu)化Windows目錄空間
正因?yàn)閃inSxS機(jī)制的需要,NTFS文件系統(tǒng)成為Windows Vista/Windows 7系統(tǒng)的必要條件。只有在NTFS文件系統(tǒng)上,才能實(shí)現(xiàn)硬連接機(jī)制,從而優(yōu)化Windows目錄占用的磁盤空間。
什么是硬鏈接
簡單來說,硬鏈接是一種針對文件的特殊快捷方式,與一般的快捷方式實(shí)現(xiàn)方式不同。硬鏈接是NTFS文件系統(tǒng)特有的屬性之一,在Linux下也有類似的機(jī)制。硬鏈接適用于同一卷的文件級(jí)別,不能跨卷。
創(chuàng)建硬鏈接的方法
Windows Vista/Windows 7系統(tǒng)自帶了創(chuàng)建硬鏈接的命令:mklink.exe。利用這個(gè)命令,我們可以給指定的文件創(chuàng)建硬鏈接。
硬鏈接的空間占用問題
關(guān)于硬盤空間的占用問題,我們可以進(jìn)行測試。例如,給一個(gè)1.9GB大小的文件建立一個(gè)硬連接后,檢查分區(qū)的剩余空間,結(jié)果仍然是0.1GB。然而,如果用資源管理器查看該目錄的屬性,你會(huì)發(fā)現(xiàn)有兩個(gè)文件,總大小為3.8GB。這是因?yàn)橛策B接的存在造成了空間的虛假增加。
硬鏈接的特點(diǎn)
還有一個(gè)需要介紹的內(nèi)容是,當(dāng)硬連接建立以后,雙方任何一個(gè)對象被修改,都會(huì)造成連接對象的修改。與SHELL層面的快捷方式不同,修改快捷方式并不會(huì)影響被指向的對象,反之亦然。
硬連接的應(yīng)用和優(yōu)勢
Windows目錄中使用硬連接的情況主要出現(xiàn)在Windows\WinSxS目錄下。經(jīng)常有人抱怨WinSxS目錄占用了過多空間,其中許多同名文件在Windows\System32目錄下也存在,這是由于硬連接導(dǎo)致的。這種做法增加了系統(tǒng)的穩(wěn)定性,并節(jié)省了硬盤空間。
同樣的文件只需要維護(hù)硬連接關(guān)系,無需多次復(fù)制,從而節(jié)省了硬盤空間。對于文件更新,只需要下載新版本到WinSxS目錄中,然后修改Windows\System32目錄下相應(yīng)文件的硬連接關(guān)系,使其指向新版本,從而快速完成更新工作,無需復(fù)制文件。
補(bǔ)丁卸載也是一樣的道理,只需要將硬連接指向舊版本即可,無需替換文件。另外,建立了硬連接關(guān)系的文件之間的修改是同步的,因此一方被修改,另一方也會(huì)同步修改。
真實(shí)的Windows目錄大小
如何知道Windows目錄的真實(shí)大小呢?可以使用小工具或在DOS下使用第三方工具進(jìn)行測試。根據(jù)我的測試結(jié)果,純凈的系統(tǒng)中有65088個(gè)文件,其中48022個(gè)是真實(shí)的文件,其他17066個(gè)是硬連接文件。真實(shí)的文件占用了14,981,682KB的硬盤空間,而通過資源管理器查看則顯示占用了18,244,902KB的硬盤空間。也就是說,Windows\system32目錄下的許多文件和WinSxS目錄建立了硬連接關(guān)系,因此被多次算入。
總結(jié)來說,Windows 7操作系統(tǒng)下的winsxs文件夾并非占用了那么多空間,其中的文件同步映射導(dǎo)致了這種誤解。