飛雪散花
眾所周知,在Vista及以后操作系統(tǒng)分區(qū)的Windows目錄中,有一個(gè)體積較為龐大的文件夾:Winsxs,通常情況下,該文件夾可以占據(jù)3GB以上的空間(如圖1),而且該體積會(huì)隨著以后安裝的軟、硬件的增多而變大。那么,Winsxs究竟為何物?該文件夾是否可以刪除?如果無(wú)法刪除的話,我們又該采取什么樣的策略,盡力減少其對(duì)系統(tǒng)分區(qū)的占用?答案盡在本文。
Winsxs究竟為何物?
Winsxs文件夾是微軟為保證系統(tǒng)能正常、穩(wěn)定運(yùn)行而提供的一個(gè)非常重要的文件夾,該文件夾中保存有大量的系統(tǒng)運(yùn)行所必需的組件,其中最為我們熟悉的就是動(dòng)態(tài)鏈接庫(kù)(DLL)。由于在Windows XP及先前的系統(tǒng)中,系統(tǒng)中DLL的版本是唯一的,因此當(dāng)我們安裝應(yīng)用程序的時(shí)候,時(shí)常會(huì)看到諸如:“要安裝的xxxx.dll 比系統(tǒng)中原有的要舊,是覆蓋還是保留?”之類的提示,此時(shí),如果我們選擇覆蓋安裝,那么極有可能先前需要使用該DLL的程序會(huì)無(wú)法正常運(yùn)行;如果選擇保留新版本,那么,當(dāng)前安裝的程序就有可能無(wú)法運(yùn)行。而Vista及以后的操作系統(tǒng)完美地解決了這一問(wèn)題,它會(huì)在Winsxs文件夾同時(shí)保留多個(gè)DLL版本,以便在不同程序需要調(diào)用時(shí),能根據(jù)實(shí)際情況為其提供不同的版本。
同樣,當(dāng)我們發(fā)現(xiàn)硬件新驅(qū)動(dòng)有問(wèn)題,不得不將其降級(jí)到舊版本時(shí),舊版本實(shí)際上也是保存在Winsxs文件夾中的。
Winsxs文件夾中的文件不可隨便刪除,否則,極容易因?yàn)槿狈ο鄳?yīng)的組件,導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)行。
可否將Winsxs遷移到別的分區(qū)?
答案是肯定的!由于系統(tǒng)分區(qū)空間極其寶貴,為了提高系統(tǒng)的運(yùn)行速度,減少它對(duì)系統(tǒng)空間的占用,我們可用下面的方法,將其它遷移到非系統(tǒng)分區(qū)。以在Win 8中操作為例。
1.獲取Winsxs文件夾的完全控制權(quán)
由于Winsxs是系統(tǒng)屬性的重要文件,所以我們首先要獲取完全控制權(quán),才能對(duì)其進(jìn)行移動(dòng)操作。
第一步:進(jìn)入“C:\Windows”目錄,右擊winsxs文件夾,在彈出的右鍵菜單中選擇“屬性”,打開(kāi)相應(yīng)的對(duì)話框。切換到“安全”標(biāo)簽,單擊“高級(jí)”按鈕,然后在出現(xiàn)的“winsxs的高級(jí)安全設(shè)置”對(duì)話框中單擊“所有者”項(xiàng)右側(cè)的“更改”文字鏈接,打開(kāi)“選擇用戶或組”對(duì)話框(如圖2)。
第二步:?jiǎn)螕簟案呒?jí)”按鈕,打開(kāi)相應(yīng)的對(duì)話框。單擊“立即查找”按鈕,系統(tǒng)中存在的所有系統(tǒng)賬號(hào)就會(huì)出現(xiàn)在“搜索結(jié)果”列表中,選擇當(dāng)前登錄的賬號(hào),單擊“確定”按鈕(如圖3)。返回上級(jí)對(duì)話框,連續(xù)單擊“確定”按鈕,權(quán)限的設(shè)置工作就完成了。
2.將文件夾移到非系統(tǒng)分區(qū)
第一步:進(jìn)入http://technet.microsoft.com/en-us/sysinternals/bb897556.aspx頁(yè)面,下載PendMoves and MoveFile工具,解壓后,將其中的文件復(fù)制到“C:\Windows\System32”目錄中(其中C是系統(tǒng)分區(qū),下同)。
第二步:右擊“開(kāi)始”按鈕,在出現(xiàn)的菜單中選擇“命令提示符(管理員)”,打開(kāi)命令提示符窗口,依次輸入并執(zhí)行以下命令(如圖4。注意:每輸入一行都要回車。其中括號(hào)中的內(nèi)容為命令行注釋。下同):
cd \windows (切換當(dāng)前路徑為Windows)
mklink winsas.link winsas.moved (建立一個(gè)指向Winsas.moved文件的名為Winsas.link的鏈接)
movefile C:\Windows\winsxs C:\Windows\Winsas.moved (將“C:\Windows”目錄下的winsxs文件夾重命名為Winsas.moved)
movefile C:\Windows\Winsas.link C:\Windows\winsxs (將“C:\Windows”目錄下的Winsas.link文件夾重命名為winsxs)
第三步:執(zhí)行完畢,重啟系統(tǒng),在任一非系統(tǒng)分區(qū)建立起“Windows\winsxs”目錄(如:E:\Windows\winsxs),然后將“C:\Windows\Winsas.moved”目錄下的所有文件復(fù)制到新建的目錄下。
第四步:重新建立關(guān)聯(lián)并刪除Winsas.moved文件夾。以管理員身份運(yùn)行命令提示符窗口,輸入并執(zhí)行以下命令:
cd \windows (切換當(dāng)前路徑為Windows)
rmdir winsxs (刪除名為winsxs的鏈接)
mklink winsxs E:\windows\winsxs (新建一個(gè)指向“D:\windows\winsxs”目錄名為winsxs的鏈接)
至此,Winsxs文件夾的遷移工作便告結(jié)束。對(duì)于系統(tǒng)分區(qū)較少的朋友來(lái)說(shuō),用這種方法可以節(jié)省不少空間,同時(shí)也可加快系統(tǒng)的運(yùn)行速度。
如何才能最大限度減少Winsxs的體積?
Winsxs中的文件很重要,但這并不意味著它的所有文件都有用。實(shí)際上,由于它會(huì)同時(shí)保留多個(gè)文件版本及其備份,這當(dāng)中也包括系統(tǒng)補(bǔ)丁備份及老驅(qū)動(dòng)備份等,所以當(dāng)我們確認(rèn)當(dāng)前系統(tǒng)已更新完畢,新的驅(qū)動(dòng)也已正常工作后,我們完全可以將老版本備份清除,僅保留新版本,以最大限度地節(jié)省磁盤空間。而要達(dá)到上述目的,我們可以用下面兩種方法來(lái)實(shí)現(xiàn)。
1.如果你是Win7及以后操作系統(tǒng)的用戶
實(shí)際上,從Win7系統(tǒng)開(kāi)始,微軟已經(jīng)針對(duì)Winsxs文件夾中新老版本并存、文件夾體積過(guò)于龐大的問(wèn)題,提供了相應(yīng)的瘦身補(bǔ)丁,通常在開(kāi)啟了系統(tǒng)自動(dòng)更新的前提下,該補(bǔ)丁會(huì)通過(guò)系統(tǒng)升級(jí),自動(dòng)安裝到系統(tǒng)中。當(dāng)然,如果你的系統(tǒng)未啟用自動(dòng)更新,也可以進(jìn)入http://www.microsoft.com/zh-CN/download/details.aspx?id=40359頁(yè)面手工下載安裝。
第一步:補(bǔ)丁安裝完畢,在Windows資源管理器中右擊系統(tǒng)分區(qū),在彈出的右鍵菜單中選擇“屬性”,打開(kāi)相應(yīng)的對(duì)話框,單擊“磁盤清理”按鈕(如圖5)。
第二步:在出現(xiàn)的“磁盤清理”對(duì)話框中,單擊“清理系統(tǒng)文件”按鈕,打開(kāi)相應(yīng)的對(duì)話框,勾選“要?jiǎng)h除的文件”列表中的“Windows更新清理”和“已下載的程序文件”項(xiàng)(如圖6),確認(rèn)后,Winsxs中無(wú)用的更新備份和所有下載的文件即會(huì)被刪除,高危級(jí)安全補(bǔ)丁則會(huì)被保留,從而在保證系統(tǒng)安全的同時(shí),在一定程度上減少了Winsxs文件夾對(duì)系統(tǒng)空間的占用。
2.如果你是Vista用戶
Vista沒(méi)有相應(yīng)的補(bǔ)丁支持,所以對(duì)Winsxs的瘦身工作,只能借助Dism命令來(lái)完成。
以管理員身份運(yùn)行命令提示符窗口,輸入以下命令:
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
回車后,Winsxs文件夾中所有的老的驅(qū)動(dòng)備份程序和已安裝的非高危級(jí)的補(bǔ)丁備份,就會(huì)被統(tǒng)統(tǒng)清除了。