查看單個文章
舊 2006-01-26, 05:34 PM   #9 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

深入認識WinXP磁牒磁碟重整系統

如果你使用Windows XP操作系統,那麼請注意磁牒磁碟重整的問題。

1.為什麼要需要整理碎片

磁牒上的文件佈局會強烈地影響I/O效能,嚴重碎片化的或散佈在磁牒中的文件和目錄會損害效能,雖然Windows XP會自動重定位某些文件來改善效能,但通常情況下,這並非屬於系統必須的一般,而且通常情況下也僅包含磁牒上很小部分的文件。

從這方面來考慮,應該在系統安裝結束後立即對磁牒進行完整的磁碟重整。預設情況下,WindowsXP每隔3天就會執行一次局部磁碟重整,並根據當天的使用情況調整文件在磁牒上的物理位置,所移動的文件將被寫入Layout.ini文件,這是Windows XP認為應該按照這一順序來安排文件在磁牒上的物理位置,該檔案的路徑在C:\Windows\Prefetch。

系統在空閒時會自動整理磁牒碎片,此時會首先讀取Layout.ini文件中的內容,並針對其中涉及的文件進行局部的磁碟重整,這也是磁牒整理程序轉移文件位置的依據。

2.深入認識Prefetch目錄

在Windows XP及其以後的操作系統中,增加了預讀取功能(也可以理解為「預先安裝載入」),該功能可以提高系統的效能,加快系統的啟動、文件讀取的速度,這些預讀文件儲存在%systemroot%Prefetch目錄中,以*.pf為副檔名,這些*.pf文件包括了載入文件的詳細資料和載入順序。

每一個應用程式,包括Windows XP的啟動程序,都會在PrefetCh目錄下留下相應的預讀取文件,預讀取文件描述了應用程式或啟動時各個模組的安裝載入順序,其命名方式是以應用程式的可執行文件的名字為基礎,加上一個「-」和描述執行文件完整路徑的十六進制值,再加上文件副檔名.pf,例如QQ.EX-0065A2A1.pf。

每當用戶啟動一個程序,會自動在Prefetch目錄中對應的*.pf文件中留下一條記錄。不過,Windows XP啟動的預讀取文件總是同一個名稱,即NTOSBOOT-B00DFAAD.PF,其中包含著啟動時載入文件的記錄。

當下一次啟動系統或執行某個程序時,Windows會參考相應的*.pf文件,將其中記錄的所有文件載入記憶體,而不是像以往一項一項依指令逐個載入文件。另外,Windows會利用啟動程序或程序的*.pf文件制訂一個最最佳化的磁牒分配方案,這個方案的相關資訊儲存於在Lyaout.ini文件中。

3.不讓系統自動整理磁牒碎片

有時候,你可能會覺得局部磁碟重整的功能非常無聊,因為磁牒的磁碟重整也會對硬碟進行某種程度的操作。網上流傳著關於通過修改註冊表鍵值來禁用局部磁碟重整的技巧,看似有理,但事實上,這些所謂技巧是完全無效的。

事實上,你即使將C:\Windows\Prefetch目錄下的文件全部移除,重新啟動系統後仍舊會自動新增Layout.ini文件,屆時3天1次的局部碎片自動整理功能會被重新啟動。


因此正確的方法是用記事本開啟Layout.ini文件,將其中的內容全部移除,並將這個文件設定為只讀內容,這樣Windows XP就無法啟動局部碎片自動整理功能了,當然你也就不用擔心C:WindowsPrefetch會變得越來越龐大。

4.進一步的討論

我們經常可以從網上看到關於修改註冊表鍵值以提高Windows XP啟動速度的技巧,這些技巧真的是有效的嗎?下面,我們結合磁牒磁碟重整的實例來進行深入一步的探討:

問題一:C碟為什麼無法進行磁碟重整?

Windows XP系統,在對C碟進行磁碟重整時,提示由於C:\Window\sprefetch\WMIPRVSE.EXE-28F301A9.PF文件損壞,掃瞄無法繼續。

C:WindowsPrefetch是Windows XP的預讀資料夾,Windows XP將頻繁使用的資料存放在預讀資料夾中,需要再次使用這些資料時可以大大加快讀取速度,但隨著時間的增長,這個資料夾的個頭會變得越來越大,而且可能會存在一些死鏈文件,此時如果執行磁碟重整,就有可能出現上面提到的錯誤,解決的辦法是清空這個資料夾,然後整理碎片。

問題二:啟動時也能整理碎片?

Windows XP可以在啟動時進行磁碟重整,使那些啟動所必須的文件能夠相鄰排列,從而在下次啟動時提高速度,不過該功能在預設設定下是被關閉了的。啟動的辦法是開啟註冊表編輯器,找到HKEY_LOCAL_MAHCINESOFTWARED\frgBootOptimizeFunetion,雙按右側視窗中的Enable鍵,將鍵值由預設的「N」修改為「Y」即可。

問題三:禁止預讀取後能提高系統的啟動速度嗎?

網路上流傳著1條關於提升Windsws XP啟動速度的技巧,具體方法是通過修改註冊表中HKEY_LOCAL_MACHINESYSTEM\CurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters目錄下EnablePrefeteher子鍵,將它的鍵值賦為「1」。這樣可以減少預讀取的文件,減少進度條等待時間,效果是進度條跑一圈就進入登入畫面了。

微軟的技術我的文件解釋了EnablePrefetcher被賦予不同值的含義:

0:取消預讀取功能;

1:只預讀取應用程式;

2:只預讀取Windows系統檔案。

3:預讀取Windows系統檔案和應用程式,這是WindowsXP的預設值。

雖然EnablePrefetcher鍵值設定為1後,的確可以減少預讀取的文件,但系統啟始化內核的工作是一個非常複雜的程序,此時需要載入很多底層的驅動程式、啟動子系統以及相關的服務,即使是當我們看到了歡迎螢幕,也不能認為此時系統已經啟動完成,因為系統會在後台繼續啟始化那些未完成的驅動程式的載入工作,雖然捲軸的動作次數較以前大大減少,但在顯示歡迎螢幕之前的無顯示程序卻反而有所增加,因此總的系統時間並未變化。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次