斌斌小站
 
斌斌小站
斌斌小站   視窗專欄>>Windows


什麼是「系統檔案保護」(SFP,System File Protect)

最後更新日期:2001-02-20

適用範圍:
Windows Me

有網友問到:Windows Me 中沒有 SFC,那要如何去掃描變更過的檔案?

這篇文章,就是對以上這個問題的說明,順便讓大家了解 Me 的「系統檔案保護」這項新功能。

其實在 Me 中並不需要去刻意掃描是否有系統檔遭變更,Me 會「自動防護」,Windows 98 由於沒有這個功能,所以有時需要利用 SFC 來檢查檔案版本。

Windows Me 新增的一個功能就是「系統檔案保護」(SFP,System File Protect)(註一),什麼是「系統檔案保護」呢?

例如我們在安裝某些軟體的時候,一些重要的 Windows 系統檔案會被所安裝的軟體換掉,換成該軟體包裝中的檔案,但是,這些檔案的版本不一定是正確的,有些可能被換成舊的版本,或是不適合我們作業系統的版本,就會造成作業系統不穩定等等的許多問題。

由於軟體素質參差不齊,如果你經常安裝軟體的話,有很大的機率一定會遇到這類檔案被你所安裝的軟體換成舊版的問題,「系統檔案保護」就是預防這類問題的產生,除非是經過認證的程式(經過 Microsoft 認證),否則都沒有辦法在 Me 中暗中抽換掉你受保護的系統檔。

在 Windows 98 中,如果要檢查你的系統檔案版本對不對的話,就是要利用 SFC 「系統檔案檢查員」(註二)來手動檢查系統檔案,而在 Windows Me 中,這個檢查檔案的動作已經整合在作業系統中,這個功能就是「系統檔案保護」,Windows 98 的 SFC 功成身退,所以 Me 中沒有附 SFC 這工具程式。

由於是整合於作業系統中,所以作業系統啟動的時候,「系統檔案保護」也自然跟著啟動,在「系統檔案保護」功能的監視下,只有經過認證的檔案(已取得 Micorsoft 數位認證簽章)才能取代原有的系統檔案。

例如在安裝軟體的時候,假使有程式「偷偷地」把這些受保護的系統檔案,換成舊的版本,Windows Me 會拿資料庫中的資料做比對(註三),發現系統檔案被置換,同樣,也是「偷偷地」把這些被換掉的檔案自動還原成正確的版本。

由於這一切都是在幕後默默的進行,對使用者而言,是完全沒有感覺的。(SFP 在進行這些動作的時候,不會出現任何的訊息)

雖然沒有任何的訊息,我們仍然可以知道 SFP 做了哪些事,SFP 會把所有檔案替換的活動記錄在一個叫做 SFPLOG.TXT (在 \Windows\System\spf 下)的檔案裡,這裡面的記錄,就是 SFP 曾經保護過的檔案。(註四

 

註一:

  • 原本在 Windows 98 作業系統中負責檢查檔案的工作是由 SFC (System File Checker,系統檔案檢查員)來負責。

註二:

SFC,的兩個主要功能:抽出檔案的工作、以及檔案的檢查,在 Windows Me 中分別已由 Msconfig.exe 以及「系統檔案保護」(SFP,System File Protect) 來負責取代,因此在 Me 中並沒有 SFC.EXE (System File Checker)這個工具程式。

如果你執意要在 Windows Me 下使用 SFC.EXE,只要複製 Windows 98(或 98 第二版)中的 SFC.EXE、SFC.DLL 到 Me 中仍可以使用,但是請牢記,SFC 只能作為「檢查」的用途,就是除了比對檔案本版之外,不可以做任何的動作(包括替換檔案),如果你用了 SFC 在 Me 系統上做了檔案還原的動作,後果無法預測。

註三:

  • SFP 用來比對檔案的資料庫是 SFPDB.SFP,SFPDB.SFP 是位在 \Windows\System\SFP 中,SFPDB.SFP 裡所列出的檔案,都是受到保護的檔案。

一旦「系統檔案保護」偵測到其中所列出的案有修改、刪除、遺失或是損換等等變動,就會跟 System.Cat 檔案中的認證資料做比對,若與 System.Cat 裡的認證資訊相符,新的變動就是屬於經過認證的,所以「系統檔案保護」便不會做任何的動作,承認這個變動。

若不符,新的檔案就會被還原回原來的正確版本,而這個未經認證的新檔案,就會被搬到 \Windows\System\Spf\Archive 這個目錄裡存放。

註四:

  • 當然,如果你沒有檔案曾經被置換過,SFP 自然也不會在 SFPLOG.TXT 這裡面寫下記錄,若無檔案被保護的行為,裡面只會有一行 SFP 第一次啟動的記錄而已。

 

 

相關文章:利用SFC(系統檔案檢查員)從原始光碟上抽出檔案

 

[ 回總目錄 | 回此單元目錄 | 回首頁 ]


logo

 


binbin.net

© 2000 binbin.net All Rights Reserved.
 
尊重作者,未取得同意,請勿以任何形式轉載
對本文有意見或問題,請寄至 binbin@m2.dj.net.tw