假如你使用Windows XP操作系統(tǒng)操作系統(tǒng).那么請注重磁盤碎片整理的問題。
1.為什么要需要整理碎片
磁盤上的文件布局會強烈地影響i/O性能,嚴重碎片化的或散布在磁盤中的文件和目錄會損害性能,雖然Windows XP會自動重定位某些文件來改善性能,但通常情況下,這并非屬于系統(tǒng)必須的常規(guī),而且通常情況下也僅包含磁盤上很小部分的文件?! ?
從這方面來考慮,應(yīng)該在系統(tǒng)安裝結(jié)束后立即對磁盤進行完整的碎片整理。默認情況下,WindowsXP每隔3天就會執(zhí)行一次局部碎片整理,并根據(jù)當天的使用情況調(diào)整文件在磁盤上的物理位置,所移動的文件將被寫入Layout.ini文件,這是Windows XP認為應(yīng)該按照這一順序來安排文件在磁盤上的物理位置,該文件的路徑在C:\Windows\Prefetch。
系統(tǒng)在空閑時會自動整理磁盤碎片,此時會首先讀取Layout.ini文件中的內(nèi)容,并針對其中涉及的文件進行局部的碎片整理,這也是磁盤整理程序轉(zhuǎn)移文件位置的依據(jù)。
2.深入熟悉Prefetch目錄
在Windows XP及其以后的操作系統(tǒng)中,增加了預(yù)讀取功能(也可以理解為“預(yù)先裝載”),該功能可以提高系統(tǒng)的性能,加快系統(tǒng)的啟動、文件讀取的速度,這些預(yù)讀文件保存在%systemroot%\Prefetch目錄中,以*.pf為擴展名,這些*.pf文件包括了載入文件的具體信息和載入順序?! ?
每一個應(yīng)用程序,包括Windows XP的啟動過程,都會在PrefetCh目錄下留下相應(yīng)的預(yù)讀取文件,預(yù)讀取文件描述了應(yīng)用程序或啟動時各個模塊的裝載順序,其命名方式是以應(yīng)用程序的可執(zhí)行文件的名字為基礎(chǔ),加上一個“-”和描述執(zhí)行文件完整路徑的十六進制值,再加上文件擴展名.pf,例如QQ.EX-0065A2A1.pf。每當用戶啟動一個程序,會自動在Prefetch目錄中對應(yīng)的*.pf文件中留下一條記錄。不過,Windows XP啟動的預(yù)讀取文件總是同一個名稱,即NTOSBOOT-B00DFAAD.PF,其中包含著啟動時載入文件的記錄。
當下一次啟動系統(tǒng)或運行某個程序時,Windows會參考相應(yīng)的*.pf文件,將其中記錄的所有文件載入內(nèi)存,而不是象以往一項一項依指令逐個載入文件。另外,Windows會利用啟動程序或程序的*.pf文件制訂一個好化的磁盤分配方案,這個方案的相關(guān)信息存儲在Lyaout.ini文件中。
3.不讓系統(tǒng)自動整理磁盤碎片
有時候,你可能會覺得局部碎片整理的功能非常無聊,因為磁盤的碎片整理也會對硬盤進行某種程度的操作。網(wǎng)上流傳著關(guān)于通過修改注冊表鍵值來禁用局部碎片整理的技巧,看似有理,但事實上,這些所謂技巧是完全無效的。事實上,你即使將C:\Windows\Prefetch\目錄下的文件全部刪除,重新啟動系統(tǒng)后仍然會自動創(chuàng)建Layout.ini文件,屆時3天1次的局部碎片自動整理功能會被重新激活。閃此正確的方法是用記事本打開Layout.ini文件,將其中的內(nèi)容全部刪除,并將這個文件設(shè)置為只讀屬性,這樣Windows XP就無法激活局部碎片自動整理功能了,當然你也就不用擔(dān)心C:\Windows\Prefetch\會變得越來越龐大。
4.一步的討論
我們經(jīng)??梢詮木W(wǎng)上看到關(guān)于修改注冊表鍵值以提高Windows XP啟動速度的技巧,這些技巧真的是有效的嗎?下面,我們結(jié)合磁盤碎片整理的實例來進行深入一步的探討:
問題一:C盤為什么無法進行碎片整理?
Windows XP系統(tǒng),在對C盤進行碎片整理時,提示由于C:\Windows\prefetch\WmiPRVSE.EXE-28F301A9.PF文件損壞,掃描無法繼續(xù)?! ?
C:\Windows\Prefetch\是Windows XP的預(yù)讀文件夾,Windows XP將頻繁使用的數(shù)據(jù)存放在預(yù)讀文件夾中,需要再次使用這些數(shù)據(jù)時可以大大加快讀取速度,但隨著時間的增長,這個文件夾的個頭會變得越來越大,而且可能會存在一些死鏈文件,此時假如執(zhí)行碎片整理,就有可能出現(xiàn)上面提到的錯誤,解決的辦法是清空這個文件夾,然后整理碎片。
問題二:啟動時也能整理碎片?
Windows XP可以在啟動時進行碎片整理,使那些啟動所必須的文件能夠相鄰排列,從而在下次啟動時提高速度,不過該功能在默認設(shè)置下是被關(guān)閉了的。激活的辦法是打開注冊表編輯器,找到HKEY_LOCAL_mAHCiNE\SOFTWARE\Dfrg\BootOptimizeFunetion,雙擊右側(cè)窗格中的Enable鍵,將鍵值由默認的“N”修改為“Y”即可。
問題三:禁止預(yù)讀取后能提高系統(tǒng)的啟動速度嗎?
網(wǎng)絡(luò)上流傳著1條關(guān)于提升Windsws XP啟動速度的技巧,具體方法是通過修改注冊表中HKEY_LOCAL_mACHiNE\SYSTEm\CurrentControlSet\Control\Session manager\memory management\PrefetchParameters目錄下EnablePrefeteher子鍵,將它的鍵值賦為“1”。這樣可以減少預(yù)讀取的文件,減少進度條等待時間,效果是進度條跑一圈就進入登錄畫面了。
微軟的技術(shù)文檔解釋了EnablePrefetcher被賦予不同值的含義:
0:取消預(yù)讀取功能;
1:只預(yù)讀取應(yīng)用程序;
2:只預(yù)讀取Windows系統(tǒng)文件。
3:預(yù)讀取Windows系統(tǒng)文件和應(yīng)用程序,這是WindowsXP的默認值?! ?
雖然EnablePrefetcher鍵值設(shè)置為1后,的確可以減少預(yù)讀取的文件,但系統(tǒng)初始化內(nèi)核的工作是一個非常復(fù)雜的過程,此時需要加載很多底層的驅(qū)動程序、啟動子系統(tǒng)以及相關(guān)的服務(wù),即使是當我們看到了歡迎屏幕,也不能認為此時系統(tǒng)已經(jīng)啟動完成,因為系統(tǒng)會在后臺繼續(xù)初始化那些未完成的驅(qū)動程序的加載工作,雖然滾動條的動作次數(shù)較以前大大減少,但在顯示歡迎屏幕之前的黑屏過程卻反而有所增加,因此總的系統(tǒng)時間并未變化。