|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-08-15, 03:21 AM | #1 |
榮譽會員
|
小議Windows文件保護機制
微軟為了提高Windows系統的可靠性和穩定性,從Windows 2000開始使用一種叫做WFP(Windows File Protection,Windows文件保護)的機制。現在,Windows 2000和Windows XP都有這個功能。本文將為你詳細講解WFP如何使用以及如何設定。
WFP是如何工作的 WFP把某些文件認為是非常重要的系統檔案,例如所有的dll文件,exe、fon、ocx、sys還有tff等後面的文件。在Windows 2000/XP剛裝好後,系統會自動制作備份這些文件到一個專門的叫做dllcache的資料夾,這個dllcache資料夾的位置預設儲存在%SYSTEMROOT%\system32\dllcache。當你使用了Windows系統一段時間之後,會發現一些其它類型的文件,例如cpl、cpx、inf、rsp、tlb等文件也會當作重要系統檔案保護起來,並且WFP會根據這些文件建立一個目錄,顯示了所有受保護文件的正確版本和類型。一旦檢測到文件被替代或者覆蓋,就可以自動從制作備份的文件中恢復。而如果制作備份的文件由於某些原因也不可用,那麼Windows就會要求你插入系統光碟,以便從光碟上恢復。你也許已經意識到了,dllcache這個資料夾會變得很大。在下文中我也會說明如何減小這個資料夾的體積。 使用情況 WFP的最基本的用途,就是保護系統檔案不被更改。 對於系統管理員,這項功能能夠減輕他們的負擔。他們不用在由於某些用戶的錯誤操作而忙碌。而對於一般用戶,這功能更是可以當作救命稻草,從此不用再害怕由於安裝錯誤的軟體造成系統的不正常工作。不過對於那些有經驗的進階用戶,WFP也會成為一種負擔,因為WFP會消耗一定的CPU和硬碟資源。 怎樣證明WFP工作正常 在前面我們已經知道,WFP的主要功能就是為了防止重要的系統檔案被錯誤刪除或者替換,那麼我們要驗證WFP是否工作正常也就很簡單了,只要我們人為地刪除或者修改一些系統檔案,然後看看WFP機制能否把被替換的文件恢復正常,就知道WFP是否正常工作了在執行中輸入"%systemroot%\system32"並Enter鍵,開啟System32資料夾,隨便選一個受保護文件(以cmd.exe為例),然後給這個文件重命名(這裡假設改為cmd.exe.bak),確定後等待幾秒鐘,然後按F5 重新整理一下,你可以看到,除了改名後的cmd.exe.bak,這裡又有了一個新的cmd.exe,這就是操作系統從制作備份的文件中恢復出來的。 使用和自訂WFP Windows文件保護可以用多種方式自訂它的運作,最簡單的辦法就是配置群組原則(群組原則只有Windows 2000和Windows XP Professional有,Windows XP Home沒有)。在執行中輸入"gpedit.msc"然後Enter鍵,可以開啟群組原則編輯器。依次展開Computer Configuration-Administrative Templates,-System(電腦配置-管理範本-系統),然後選項Windows File Protection(Windows文件保護)資料夾。雙按每一項就可以分別進行設定。 Set Windows File Protection scanning(設定Windows文件保護掃瞄),這個原則可以讓你決定是否在Windows啟動的時候自動進行WFP掃瞄。如果你啟用了這個原則,將會延長系統的啟動時間。所以一般情況下最好不要啟用它。如果你要設定WFP的其它執行方式,還可以在指令行下使用sfc/scanonce,sfc/scanboot,sfc/revert。其中sfc/scanonce會在下次啟用電腦時掃瞄所有被保護系統檔案一次,sfc/scanboot會在每次啟動時都掃瞄一次,sfc/revert則會把掃瞄的設定啟始化。 Hide the file scan progress window(隱藏文件掃瞄進度視窗),啟用這個設定後在進行WFP掃瞄的時候就不會顯示掃瞄的進度視窗。 Limit Windows File Protection cache size(限制Windows文件保護緩衝大小),預設情況下,WFP會儲存大量的系統檔案制作備份(這主要取決於你的硬碟的大小),這樣做雖然使得恢復系統檔案變得簡單易行,但是卻佔用了太多的硬碟空間。如果你不進行任何設定,那麼對於WFP的備份檔案是沒有大小限制的。這是一件很糟糕的事情,所以我們要啟用這個原則,然後輸入指定的大小(MB為服務機構)。如果你的硬碟不是很大,建議你設定100MB就可以,不過有時候掃瞄時會需要你插入光碟。否則,最好設定200到300MB左右,這樣,在恢覆文件的時候需要你插入光碟的次數會少很多。而這個操作也可以在指令行的模式下設定,具體的格式是:sfc/cachesize=x,這個X就是你要指定的緩衝大小。 Specify Windows File Protection cache location(指定Windows文件保護緩衝位置),預設情況下,緩衝文件被儲存在%SystemRoot%\system32\dllcache資料夾內,也許你的系統碟空間已經很緊張了,不過其它分區還很空,那麼啟用這個原則,並指定一個位置,緩衝文件就會全部儲存在那裡。 如果你要手工檢查系統檔案,可以在執行中輸入CMD,然後Enter鍵,開啟指令行界面,然後輸入sfc/scannowEnter鍵,這樣系統就會開始檢查所有受保護的文件,在這程序中你也許會被要求插入Windows的光碟。而指令行下的SFC指令,除了上面我們列舉的sfc/scannow,sfc/scanonce等之外,還有其它幾個有用的參數:在Windows 2000中,使用sfc/cancel將會取消所有掛起的掃瞄;sfc/quiet 這將自動更換所有被改動過的受保護系統檔案,而不會提醒用戶。sfc /purgecache 將會清空所有制作備份的受保護文件,而在Windows 2000中執行這個指令後還會自動進行一次掃瞄;sfc /revert,使用在Windows XP中,把所有的WFP有關的設定全部啟始化,而Windows 2000中相應的指令是sfc /enable。 禁用WFP 作為一個後台執行的服務,WFP會消耗一定的資源,如果你的電腦配置不是很高,那麼就完全可以禁用,以便提高電腦效能。不過禁用後Windows的穩定性可能得不到保障,這個由你自己來決定。 如果你要禁用WFP,需要修改註冊表,同時,在註冊表中也可以完成其他的一些設定。 執行regedit開啟註冊表編輯器,展開註冊表到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,這裡有幾個鍵是需要我們設定的: SFCDisable,值為0時開啟了WFP,這也是預設的狀態。雙按後可以改成1,這將禁用WFP,並且需要重啟動一下才能生效;值為2,僅僅會在下一次啟動時禁用;值為4,將啟用,並且不會顯示提醒用戶的視窗。 SFCQuota,可以決定允許WFP使用的最大硬碟空間,直接輸入大小就可以,服務機構為MB,預設為300MB。而設定為FFFFFFFF就可以制作備份本機硬碟上所有的系統檔案。 在啟用WFP的情況下替換系統檔案 為了保證系統的穩定性,你可能會開啟WFP保護,但有時候你也許會需要正確替換某一個受保護的系統檔案,這就比較麻煩了,因為按照一般方法進行操作後系統馬上會用制作備份的文件進行恢復。 下載這個指令碼後整個解壓縮到一個資料夾中,然後雙按執行其中的replacer.cmd文件,接著你會看到圖三的界面。假設我們要把%systemroot%\system32資料夾下的cmd.exe文件替換為C碟根目錄下的cmd.exe.bak文件,按照螢幕提示,從Windows檔案總管中移到cmd.exe文件到 指令行視窗上,然後鬆開滑鼠,這時可以看見指令行視窗已經得到了目標文件的路徑,按下Enter鍵,接著同樣是從檔案總管中移到原文件cmd.exe.bak到指令行視窗,然後鬆手,繼續Enter鍵,這時看到的界面如同圖五。如果驗證一切無誤,就按下Y鍵,然後Enter鍵,稍等片刻文件的替換工作就能夠完成,這時你需要重啟動電腦,以便改動生效。 |
送花文章: 3,
|