chkdsk工具使用教程
chkdsk工具使用教程
chkdsk工具在哪?Chkdsk工具是系統(tǒng)檢查磁盤當(dāng)前狀態(tài)的一個命令,啟動它可以顯示磁盤狀態(tài)、內(nèi)存狀態(tài)和指定路徑下指定文件的不連續(xù)數(shù)目。選擇“開始→運行”輸入“Chkdsk”回車,即可啟動Chkdsk,它會自動校驗文件并將丟失的鏈接轉(zhuǎn)換成文件。那么,如何正確使用chkdsk工具?下面跟著學(xué)習(xí)啦小編一起來看看吧。
chkdsk工具使用教程
1、chkdsk工具其實就是硬盤自檢程序。右擊C盤-“屬性”-“工具”-“查錯”下。點開始檢查,勾選自動修復(fù)文件系統(tǒng)錯誤,系統(tǒng)會提示你重啟計算機(jī)機(jī),當(dāng)你重啟計算機(jī)到一半時,會自動執(zhí)行。執(zhí)行完后。此錯誤提示便會消除!
2、直接在任務(wù)欄點擊【開始-運行】,然后在運行的輸入框上輸入【chkdsk】,在敲回車鍵確定即可運行了。然后它會自動效驗文件并且還會將丟失的連接轉(zhuǎn)換 成文件的形式。當(dāng)然你如果對分區(qū)單個磁盤進(jìn)行修復(fù)的話,比如你修復(fù)D盤,就在輸入框上輸入【cmd】命令,然后在彈出的命令提示符窗口上輸入 【chkdsk D: /f】敲回車就會啟動chkdsk磁盤檢查工具掃描D分區(qū)了。
關(guān)于chkdsk
chkdsk的全稱是checkdisk,就是磁盤檢查的意思。這個東西是當(dāng)你的系統(tǒng)當(dāng)?shù)艋蛘叻欠P(guān)機(jī)的時候由系統(tǒng)來調(diào)用檢查磁盤的,也可以由手工通過命令行調(diào)用來檢查某一個磁盤分區(qū)。該工具基于被檢測的分區(qū)所用的文件系統(tǒng),創(chuàng)建和顯示磁盤的狀態(tài)報告。Chkdsk 還會列出并糾正磁盤上的錯誤。如果不帶任何參數(shù),chkdsk 將顯示當(dāng)前驅(qū)動器中的磁盤狀態(tài)。
不建議在使用 /f 開關(guān)時中斷 chkdsk 進(jìn)程。不保證中斷 chkdsk 進(jìn)程后的磁盤完整性。
簡介
Chkdsk.exe 是 CHKDSK 程序的命令行界面,該程序用于驗證文件系統(tǒng)的邏輯完整性。如果 CHKDSK 在文件系統(tǒng)數(shù)據(jù)中發(fā)現(xiàn)存在邏輯不一致性,CHKDSK 將執(zhí)行可修復(fù)該文件系統(tǒng)數(shù)據(jù)的操作(前提是這些數(shù)據(jù)未處于只讀模式)。
語法
chkdsk [volume:][[Path] FileName] [/f] [/v] [/r] [/x] [/c] [/l[:size]]
參數(shù)
volume:
指定驅(qū)動器號(冒號分隔)、裝入點或卷名。
[Path} FileName]
指定需要 chkdsk 檢查碎片整理的文件或文件集的位置和名稱。使用通配符(* 和 ?)可以指定多個文件。
/f
cdkdsk運行界面
cdkdsk運行界面
修復(fù)磁盤上的錯誤。必須鎖定磁盤。如果 chkdsk 無法鎖定驅(qū)動器,則會顯示一條消息,詢問您是否希望在下次重新啟動計算機(jī)時檢查該驅(qū)動器。
/v
當(dāng)檢查磁盤時,顯示所有目錄中每個文件的名稱。
/r
找到壞扇區(qū)并恢復(fù)可讀取的信息。必須鎖定磁盤。
/x
僅在 NTFS 上使用。如果必要,首先強(qiáng)制卸載卷。該驅(qū)動器的所有打開句柄都無效。/x 還包含了/f 的功能。
/i
磁盤被占用提示
磁盤被占用提示
僅隨 NTFS 使用。對索引項進(jìn)行強(qiáng)度較小的檢查,降低運行 chkdsk 的所用時間量。
/c
僅隨 NTFS 使用。跳過文件夾結(jié)構(gòu)中的周期檢查,減少運行 chkdsk 所需的時間量。
/l[:size]
僅隨 NTFS 使用。將日志文件的大小更改為由用戶輸入的大小。如果省略該參數(shù),則 /l 會顯示當(dāng)前日志文件的大小。
/?
在命令提示符顯示幫助。
注釋
運行
chkdsk工具在系統(tǒng)的System32目錄中,它需要在Windows系統(tǒng)的命令提示符窗口中運行,并且要在固定磁盤上運行 chkdsk 命令,您必須是該 Administrators 組的成員。
重新啟動時檢查鎖定的驅(qū)動器
如果希望 chkdsk 修復(fù)磁盤錯誤,則此前不能打開該驅(qū)動器上的文件。如果有文件打開,會顯示下述錯誤消息:
Chkdsk工具檢查NTFS分區(qū)(chkdsk e:/f)
Chkdsk工具檢查NTFS分區(qū)(chkdsk e:/f)
Chkdsk cannot run because the volume is in use by another processWould you like to schedule this volume to be checked the next time the system restarts?(Y/N)
如果選擇下次重新啟動計算機(jī)時檢查該驅(qū)動器,則重新啟動計算機(jī)后 chkdsk 會自動檢查該驅(qū)動器并修復(fù)錯誤。如果該驅(qū)動器分區(qū)為啟動分區(qū),則 chkdsk 在檢查完該驅(qū)動器后會自動重新啟動計算機(jī)。
在Windows XP中手動調(diào)用Chkdsk工具:
在運行中輸入Chkdsk X: (后接參數(shù),可參見上述參數(shù)解釋),回車
比如輸入chkdsk e: /f /r 回車運行就表示修復(fù)e盤上的錯誤,并找到壞扇區(qū)恢復(fù)可讀取的信息
圖形界面的磁盤檢查工具
圖形界面的磁盤檢查工具
在Windows XP中文版環(huán)境下chkdsk工具是以中文語言運行的
上述運行方式是命令行方式,還能通過圖形界面程序運行,但顯示內(nèi)容簡略。
打開我的電腦,右鍵單擊需要檢測的磁盤-屬性-工具選項卡-開始檢查
檢查選項:
自動修復(fù)文件系統(tǒng)的錯誤(A):修復(fù)磁盤上的錯誤。必須鎖定磁盤,如果磁盤被占用,則會顯示是否在下次開機(jī)時檢查的選項。相當(dāng)于命令行中 /f 命令掃描并試圖恢復(fù)壞扇區(qū)(N):找到壞扇區(qū)并恢復(fù)可讀取的信息。必須鎖定磁盤。相當(dāng)于命令行中 /r 命令
報告磁盤錯誤編輯
chkdsk 命令會檢查磁盤空間和文件分配表 (FAT)以及 NTFS 文件系統(tǒng)的使用情況。Chkdsk 在狀態(tài)報告中提供特定于每個文件系統(tǒng)的信息。狀態(tài)報告顯示文件系統(tǒng)中找到的錯誤。在活動分區(qū)上運行 chkdsk 時,如果未含 /f 命令行選項,則它可能會因為無法鎖定該驅(qū)動器而報告虛假信息。應(yīng)該不定期使用 chkdsk 檢查每個磁盤上的錯誤。
修復(fù)磁盤錯誤
只有指定 /f 命令行選項,chkdsk 命令才修復(fù)磁盤錯誤。Chkdsk 必須可以鎖定驅(qū)動器以糾正錯誤。由于修復(fù)通常會更改磁盤的文件分配表,有時還會丟失數(shù)據(jù),所以 chkdsk 會首先發(fā)送如下所示的確認(rèn)消息:
10 lost allocation units found in 3 chains.
Convert lost chains to files?
如果按 Y,Windows 會在根目錄中將所有丟失鏈保存在一個名為 Filennnn.chk 的文件中。chkdsk 結(jié)束后,可以查看這些文件是否包含了所需的數(shù)據(jù)。如果按 N,Windows 會修復(fù)磁盤,但對于丟失的分配單元,它不保存其內(nèi)容。
如果不使用 /f 命令行選項,則在有文件需要修復(fù)時,chkdsk 會發(fā)送消息,但它不修復(fù)任何錯誤。
如果在大磁盤(例如,70 GB)或有大量文件(數(shù)百萬)的磁盤上使用 chkdsk /f,這可能要花很長時間(比如說,數(shù)天)才能完成。因為 chkdsk 直到工作完成它才會交出控制權(quán),所以計算機(jī)在這段時間內(nèi)將不可用。
檢查 FAT 磁盤
Windows 以下列格式顯示 FAT 磁盤的 chkdsk 狀態(tài)報告:
檢查 NTFS 磁盤
Windows 以下列格式顯示 NTFS 磁盤的 chkdsk 狀態(tài)報告:
存在打開文件的情況下使用 chkdsk
如果該驅(qū)動器上有打開的文件,則指定 /f 命令行選項后,chkdsk 會發(fā)送錯誤消息。如果未指定 /f 命令行選項并且存在打開的文件,則 chkdsk 會報告磁盤上丟失的分配單元。如果打開的文件沒有記錄在文件分配表時,可能會發(fā)生這種情況。如果 chkdsk 報告大量分配單元丟失,可以考慮修復(fù)該磁盤。
查找物理磁盤錯誤
使用 /r 命令行選項可查找文件系統(tǒng)中的物理磁盤錯誤。有關(guān)使用 recover 修復(fù)物理性損壞文件的信息,請參閱“”。
報告磁盤壞扇區(qū)
在磁盤第一次準(zhǔn)備運行時,chkdsk 報告的壞扇區(qū)標(biāo)記為損壞。它們不會造成危險。
退出碼編輯
下表列出了 chkdsk 完成任務(wù)后報告的退出碼。
退出碼 說明
0 沒有發(fā)現(xiàn)錯誤。
1 錯誤已找到并修復(fù)。
2 已執(zhí)行清理磁盤(例如碎片收集),或者因為沒有指定 /f 而未執(zhí)行清理磁盤。
3 由于未指定 /f 選項,無法檢查磁盤,錯誤不能修復(fù)或錯誤未修復(fù)。
故障恢復(fù)控制臺提供了帶有不同參數(shù)的 chkdsk 命令。
范例
如果要檢查驅(qū)動器 D 中的磁盤,并且希望 Windows 修復(fù)錯誤,請鍵入:
chkdsk d:/f
如果遇到錯誤,chkdsk 會暫停并顯示消息。Chkdsk 完成任務(wù)時會顯示列有磁盤狀態(tài)的報告。除非 chkdsk 已完成任務(wù),否則無法打開指定驅(qū)動器上的任何文件。
在 FAT 磁盤上,要檢查當(dāng)前目錄中所有文件的不相鄰塊,請鍵入:
chkdsk *.*
Chkdsk 顯示狀態(tài)報告,然后列出符合具有不相鄰塊條件的文件。
XOX
使用指南
使用CHKDSK命令的注意事項
(1)系統(tǒng)存在打開的文件時
當(dāng)有文件打開時請不要使用CHKDSK。因為CHKDSK是假定磁盤文件處于關(guān)閉狀態(tài)而設(shè)計的。當(dāng)有文件打開時,相應(yīng)的MS-DOS將會修改文件分配表和目錄結(jié)構(gòu)。這種改變并不一定立即進(jìn)行,文件分配表和目錄結(jié)構(gòu)的改變發(fā)生在不同時刻。因此如果磁盤上文件打開時運行CHKDSK,就會把目錄結(jié)構(gòu)和文件分配表的不一致解釋為出錯,從而導(dǎo)致數(shù)據(jù)丟失或文件系統(tǒng)的破壞。因此,在運行其它程序,如Microsoft Windows時,千萬不要運行CHKDSK。
(2)CHKDSK不能用于分配的驅(qū)動器和網(wǎng)絡(luò)。
CHKDSK不能用于由SUBST命令形成的驅(qū)動器工作,也不能用于網(wǎng)絡(luò)驅(qū)動器上的磁盤檢查。
(3)物理磁盤錯誤
CHKDSK命令只能找到文件系統(tǒng)中的邏輯錯誤,而不能查找物理磁盤錯誤。要查找物理磁盤錯誤,請使用SCANDISK程序。
(4)壞磁盤扇區(qū)
CHKDSK報告中將壞扇區(qū)標(biāo)記上“bad”,SCANDISK和其它物理磁盤錯誤修正程序也將壞扇區(qū)標(biāo)記為“bad”,因此壞扇區(qū)不會造成危害。
(5)交叉鏈接的文件
如果有兩個文件或目錄共用同一磁盤空間的記錄,CHKDSK會報告有交叉鏈接文件。如果CHKDSK發(fā)現(xiàn)有交叉鏈接文件存在,會顯示類似如下信息:
is cross linked on allocation unit
CHKDSK不會修補(bǔ)交叉鏈接文件,即使指定了/F項。要修復(fù)交叉鏈接文件,需要運行SCANDISK程序,或者進(jìn)行手工修復(fù),然后復(fù)制到指定的文件中并刪除原文件。
新增開關(guān) /C 和 /I 的說明
本文介紹了兩個新的開關(guān):/C 開關(guān)和 /I 開關(guān),它們包含在 Windows XP 中的 CHKDSK 程序中。這些開關(guān)可用于更好地管理由于運行 CHKDSK 或 AUTOCHK 而造成的停機(jī)時間。
/C 和 /I 開關(guān)僅對使用 NTFS 文件系統(tǒng)格式化的驅(qū)動器有效。這兩個新的開關(guān)都指示 CHKDSK 例程跳過某些 CHKDSK 原本要執(zhí)行以驗證 NTFS 數(shù)據(jù)結(jié)構(gòu)完整性的操作。
如果聯(lián)機(jī)運行 CHKDSK,則實際執(zhí)行驗證的代碼位于實用程序 DLL(例如 Untfs.dll 和 Ufat.dll)中。CHKDSK 調(diào)用的驗證例程與通過 Windows 資源管理器或磁盤管理圖形用戶界面驗證卷時所運行的例程相同。
但是,如果將 CHKDSK 計劃為在計算機(jī)重新啟動時運行,則包含驗證代碼的二進(jìn)制模塊為 Autochk.exe,它是一個 Windows 固有程序。由于 Autochk.exe 在計算機(jī)啟動序列中靠前的位置運行,Autochk.exe 不具有虛擬內(nèi)存或其他 Win32 服務(wù)的優(yōu)點。
Autochk.exe 與 Chkdsk.exe 實用程序 DLL 生成相同種類的文本輸出。Autochk.exe 在啟動過程中顯示這些文本輸出,并在應(yīng)用程序事件日志中記錄事件。所記錄的事件信息中包含事件日志的數(shù)據(jù)緩沖區(qū)所能容納的最大數(shù)量的文本輸出。
由于 Autochk.exe 和 Chkdsk.exe 實用程序 DLL 中的驗證代碼都基于相同的源代碼,因此本文的其余部分將使用術(shù)語“CHKDSK”來統(tǒng)稱 Autochk.exe 和 Chkdsk.exe。與此類似,由于本文僅討論那些與 NTFS 卷有關(guān)的 CHKDSK 更改,因此,任何“CHKDSK 如何如何”的語句的意思都是“CHKDSK 在 NTFS 卷上運行時如何如何”。
請注意,如果您使用 /C 和 /I 開關(guān),則即使運行了 CHKDSK,卷仍可能是損壞的。因此,建議您僅在必須將停機(jī)時間降至最短的情況下才使用這些開關(guān)。這些開關(guān)適用于以下場合:必須在特別大的卷上運行 CHKDSK,并且需要靈活地管理所造成的停機(jī)時間。
要了解何時適于使用 /C 和 /I 開關(guān),您需要對某些內(nèi)部的 NTFS 數(shù)據(jù)結(jié)構(gòu)、可能發(fā)生的損壞的種類、CHKDSK 在驗證卷時采取的操作以及回避 CHKDSK 的常規(guī)驗證步驟可能有哪些后果等有一些基本的了解。
/C 和 /I 開關(guān)的價值在卷上檢測到磁盤損壞時,有三個基本的應(yīng)對選擇。
第一個選擇是什么都不做。在需要全天 24 小時聯(lián)機(jī)的使命關(guān)鍵服務(wù)器上,這通常是必要的選擇。缺點是相對較輕的損壞會逐漸發(fā)展為重大的損壞。因此,僅當(dāng)使服務(wù)器保持聯(lián)機(jī)比確保損壞卷上所存儲數(shù)據(jù)的完整性更為重要時,才應(yīng)考慮此選擇。在運行 CHKDSK 之前,損壞卷上的所有數(shù)據(jù)都應(yīng)當(dāng)被看作是“危險”的。
第二個選擇是運行完整的 CHKDSK 操作,以修復(fù)所有文件系統(tǒng)數(shù)據(jù)并通過自動進(jìn)程還原所有可以恢復(fù)的用戶數(shù)據(jù)。但是,運行完整的 CHKDSK 操作可能會在不適當(dāng)?shù)臅r機(jī)使得使命關(guān)鍵服務(wù)器停機(jī)數(shù)小時。 第三個選擇是通過使用 /C 和 /I 開關(guān)中的一個或兩個,修復(fù)可能會發(fā)展為更嚴(yán)重問題的損壞類型(這比完整 CHKDSK 所需的時間少得多),運行簡化的 CHKDSK 操作。
但是,請注意,運行簡化的 CHKDSK 并不能修復(fù)可能存在的所有損壞。您仍需要在將來某個時間運行完整的 CHKDSK,以確保所有可恢復(fù)的數(shù)據(jù)都已實際得到恢復(fù)。
另請注意,NTFS 在發(fā)生磁盤損壞后并不能保證用戶數(shù)據(jù)的完整性,即使您立即運行了完整的 CHKDSK 操作。CHKDSK 可能無法恢復(fù)某些文件,而 CHKDSK 所恢復(fù)的某些文件可能內(nèi)部仍是損壞的。因此,通過執(zhí)行定期備份或使用某些其他的可靠的數(shù)據(jù)恢復(fù)方法來保護(hù)使命關(guān)鍵的數(shù)據(jù),仍然是極其重要的。
了解 CHKDSK 所采取的操作
CHKDSK 的活動分為三個主要階段(在這三個階段中,CHKDSK 將檢查卷上的所有元數(shù)據(jù)),另外還有一個可選的第四階段。
元數(shù)據(jù)是“有關(guān)數(shù)據(jù)的數(shù)據(jù)”。元數(shù)據(jù)是文件系統(tǒng)的“系統(tǒng)開銷”,它跟蹤有關(guān)所有在卷上存儲的文件的信息。元數(shù)據(jù)包括有關(guān)以下方面的信息:給定文件的數(shù)據(jù)由哪些分配單元組成、哪些分配單元是可用的以及哪些分配單元包含壞扇區(qū)等。另一方面,文件包含的數(shù)據(jù)稱為“用戶數(shù)據(jù)”。NTFS 通過使用事務(wù)日志來保護(hù)它的元數(shù)據(jù)。用戶數(shù)據(jù)沒有以這種方式進(jìn)行保護(hù)。
階段 1:檢查文件在第一個階段,CHKDSK 會顯示一條消息,通知您 CHKDSK 正在驗證文件,同時還顯示已完成的驗證任務(wù)的百分比(范圍為從 0% 到 100%)。在此階段中,CHKDSK 將檢查卷的主文件表 (MFT) 中的各個文件記錄段。
MFT 中的特定文件記錄段唯一地標(biāo)識 NTFS 卷上的各個文件和目錄。CHKDSK 在此階段顯示的“已完成百分比”是 CHKDSK 已驗證的 MFT 的百分比。在此階段中,CHKDSK 將檢查各個文件記錄段的內(nèi)部一致性,并生成兩個位圖,一個表示正在使用的文件記錄段,另一個表示卷上正在使用的簇。
在此階段結(jié)束時,CHKDSK 將會識別 MFT 內(nèi)部和整個卷上的已用空間和可用空間。NTFS 在其自身的位圖中跟蹤這些信息,該位圖存儲在磁盤上。CHKDSK 將它的結(jié)果與 NTFS 保持的位圖進(jìn)行比較。如果存在差異,將在 CHKDSK 輸出中記錄這些差異。例如,如果發(fā)現(xiàn)正在使用的文件記錄段損壞,則在 CHKDSK 位圖中,與該文件記錄段相關(guān)聯(lián)的磁盤簇將被標(biāo)記為“可用”,但在 NTFS 位圖中,它將被標(biāo)記為“使用中”。
階段 2:檢查索引在第二個階段,CHKDSK 會顯示一條消息,通知您 CHKDSK 正在驗證索引,同時還顯示已完成的驗證任務(wù)的百分比(范圍為從 0% 到 100%)。在此階段中,CHKDSK 將檢查卷上的各個索引。
索引實際上就是 NTFS 目錄。在此階段中,CHKDSK 顯示的“已完成百分比”是已檢查的卷目錄總數(shù)的百分比。在此階段中,CHKDSK 將檢查卷上的各個目錄,檢查內(nèi)部一致性,并驗證 MFT 中的文件記錄段所代表的每個文件和目錄都至少由一個目錄引用。CHKDSK 確認(rèn)目錄中引用的每個文件或子目錄都實際作為有效的文件記錄段存在于 MFT 中,并且還檢查是否存在循環(huán)目錄引用。最后,CHKDSK 將確認(rèn)在文件的目錄項中,這些文件的時間戳和文件大小信息都是最新的。
在此階段結(jié)束時,CHKDSK 將確保沒有“孤立”的文件,并且所有目錄項都用于合法的文件。孤立文件是指存在該文件的合法文件記錄段,但該文件卻沒有列在任何目錄中。如果相應(yīng)的目錄仍存在,則孤立文件通??梢曰謴?fù)到正確的目錄中。如果正確的目錄已不存在,CHKDSK 將在根目錄中創(chuàng)建一個目錄,并將文件放入該目錄中。如果 CHKDSK 發(fā)現(xiàn)不再使用的文件記錄段的目錄項,或者雖然仍在使用但并不與目錄中列出的文件相對應(yīng)的文件記錄段的目錄項,CHKDSK 將直接刪除該文件記錄段的目錄項。
階段 3:檢查安全描述符在第三個階段,CHKDSK 會顯示一條消息,通知您 CHKDSK 正在驗證安全描述符,同時還顯示已完成的驗證任務(wù)的百分比(范圍為從 0% 到 100%)。在此階段中,CHKDSK 將檢查與卷上的文件或目錄相關(guān)聯(lián)的每個安全描述符。
安全描述符包含有關(guān)下列方面的信息:文件或目錄的所有權(quán)、文件或目錄的 NTFS 權(quán)限以及文件或目錄的審核。在此階段中,CHKDSK 顯示的“已完成百分比”是卷上已檢查的文件和目錄的百分比。CHKDSK 將驗證各個安全描述符的結(jié)構(gòu)是否正常,并驗證該結(jié)構(gòu)的內(nèi)部一致性。CHKDSK 并不驗證列出的用戶或組實際上是否存在,也不驗證所賦予的權(quán)限是否適當(dāng)。階段 4:檢查扇區(qū)如果 /R 開關(guān)生效,CHKDSK 將運行第四個階段,以便在卷的可用空間中查找壞扇區(qū)。CHKDSK 將嘗試讀取卷上的每個扇區(qū),以確認(rèn)該扇區(qū)是否可用。即使不使用 /R 開關(guān),CHKDSK 也總是讀取與元數(shù)據(jù)相關(guān)聯(lián)的扇區(qū)。如果指定了 /R 開關(guān),將在 CHKDSK 的較早階段讀取與用戶數(shù)據(jù)關(guān)聯(lián)的扇區(qū)。
當(dāng) CHKDSK 找到不可讀的扇區(qū)時,NTFS 會將包含該扇區(qū)的簇加入它的壞簇列表中。如果壞扇區(qū)正在使用,CHKDSK 將分配一個新的簇,以完成該壞簇的工作。如果您使用的是容錯磁盤,NTFS 將恢復(fù)壞簇的數(shù)據(jù),并將這些數(shù)據(jù)寫入新分配的簇中。否則,新的簇中將填充某種模式的 0xFF 字節(jié)。
如果 NTFS 在正常運行過程中遇到不可讀的扇區(qū),NTFS 將以與運行 CHKDSK 時相同的方式重新映射這些扇區(qū)。因此,通常無須使用 /R 開關(guān)。但是,如果懷疑磁盤可能有壞扇區(qū),則使用 /R 開關(guān)就是一個掃描整個卷的簡便辦法。
了解 CHKDSK 的時間要求
前面對 CHKDSK 的各個運行階段的說明只是粗略概述了 CHKDSK 為驗證 NTFS 卷的完整性而執(zhí)行的最重要任務(wù)。CHKDSK 還在各個階段中執(zhí)行許多額外的特定檢查,并在各個階段之間執(zhí)行幾種快速檢查。但是,即使是這樣的粗略概述也能夠提供一些基礎(chǔ)知識,以便我們開始討論影響 CHKDSK 運行所需時間的可變因素,以及討論 Windows XP 中可以使用的新增 /C 和 /I 開關(guān)的影響。
可變因素 1:“索引”階段在運行 CHKDSK 的第一和第三階段(檢查文件和檢查安全描述符),“已完成百分比”指示器的進(jìn)度相對比較平滑。雖然未使用的文件記錄段需要的處理時間的確較少,而大型安全描述符的確需要較多的處理時間,但是總體說來“已完成百分比”相當(dāng)準(zhǔn)確地反映了該階段所需的實際時間。
不過,這一百分比/時間關(guān)系卻未必適用于第二階段,也就是 CHKDSK 檢查索引(NTFS 目錄)的那個階段。處理目錄所需的時間與該目錄中包含的文件和子目錄的數(shù)量密切相關(guān),但是在該階段中,“已完成百分比”僅與 CHKDSK 必須檢查的目錄數(shù)量有關(guān)。并沒有針對某些特定操作(例如,處理包含數(shù)量巨大的文件和子目錄的目錄)所需的時間進(jìn)行調(diào)整。除非卷上的目錄都包含大致相同數(shù)量的文件,否則該階段中顯示的“已完成百分比”將不會可靠地反映第二階段所需的實際時間。
更壞的情況是您可能陷入意外的 CHKDSK 過程,這時 CHKDSK 的第二階段通常是需時最長的階段。
可變因素 2:卷的情況許多與卷的狀態(tài)有關(guān)的因素都會影響 CHKDSK 運行所需的時間。用于預(yù)測在給定卷上運行 CHKDSK 所需時間的公式必須考慮文件和目錄的數(shù)目、卷的總體碎片化程度(特別是 MTF 的碎片化程度)、文件名的格式(長名稱、8.3 格式名稱或混合型名稱)以及 CHKDSK 必須修復(fù)的實際損壞量等可變因素。
可變因素 3:硬件問題硬件問題也會影響 CHKDSK 運行所需的時間。可變因素包括可用內(nèi)存的數(shù)量、CPU 速度、磁盤速度等。
可變因素 4:CHKDSK 設(shè)置如果不使用 /R 開關(guān),則給定硬件平臺上與時間最密切的因素是該卷上的文件和目錄的數(shù)量,而不是卷的絕對大小。
例如,如果不使用 /R 開關(guān),則對于僅包含一個或兩個大型數(shù)據(jù)庫文件的 50 GB 卷,CHKDSK 的運行可能只需要幾秒鐘。如果使用 /R 開關(guān),CHKDSK 將必須讀取并驗證卷上的每個扇區(qū),對于大型卷而言,這會顯著增加運行所需的時間。另一方面,如果一個相對較小的卷包含幾十萬甚至幾百萬個小文件,則運行 CHKDSK 可能需要數(shù)小時,無論您是否指定 /R 開關(guān)。
預(yù)測 CHKDSK 的時間要求
如上所述,運行 CHKDSK 所需的時間從幾秒到幾天不等,這要由您的具體情況決定。預(yù)測對給定卷運行 CHKDSK 所需時間的最好辦法是:在系統(tǒng)利用率較低的時段,以只讀模式實際進(jìn)行一次測試運行。
但是,出于以下原因,必須謹(jǐn)慎使用此方法:
在只讀模式下,如果在較早階段中遇到錯誤,CHKDSK 會在完成所有三個階段之前退出,并很可能誤報錯誤。例如,如果 NTFS 恰好在 CHKDSK 檢查磁盤時修改了磁盤上的區(qū)域,則 CHKDSK 可能會報告磁盤損壞。要正確地進(jìn)行驗證,卷必須處于靜止?fàn)顟B(tài),而保證卷處于靜止?fàn)顟B(tài)的唯一方法就是鎖定卷。CHKDSK 僅當(dāng)您指定了 /F 開關(guān)(或 /R 開關(guān),它會隱含指定 /F)時才會鎖定卷。在只讀模式下,要使 CHKDSK 完成所有運行階段,可能需要多次運行 CHKDSK。
CHKDSK 對 CPU 和磁盤的占用率都很高。運行 CHKDSK 所需的時間要受到系統(tǒng)負(fù)載的大小的影響,還要受到 CHKDSK 是聯(lián)機(jī)運行還是在 Windows XP 啟動序列內(nèi)運行的影響。哪個因素成為瓶頸要視硬件配置而定,但是如果在只讀模式下運行 CHKDSK 時 CPU 利用率或磁盤 I/O 量很高,則 CHKDSK 的運行時間將變長。此外,Autochk.exe 的運行環(huán)境與 Chkdsk.exe 不同。通過 Autochk.exe 運行 CHKDSK 使 CHKDSK 能夠獨占 CPU 和 I/O 資源,但同時還會使 CHKDSK 無法使用虛擬內(nèi)存。雖然 Autochk.exe 一般比 Chkdsk.exe 運行速度更快,但如果計算機(jī)的可用 RAM 相對較少,Autochk.exe 可能實際上需要更長時間。
修復(fù)損壞會增加所需的時間。在只讀模式下,僅當(dāng) CHKDSK 沒有發(fā)現(xiàn)任何重大損壞時,才能完整運行。如果磁盤僅有少量損壞,那么修復(fù)這些問題不會顯著增加僅僅運行 CHKDSK 所需的時間。但如果 CHKDSK 發(fā)現(xiàn)了重大損壞,例如發(fā)生了嚴(yán)重的硬件故障,則運行 CHKDSK 所需的時間將隨 CHKDSK 必須修復(fù)的損壞文件的數(shù)量而成比例地增加。在極端情況下,這可能會成倍地增加 CHKDSK 運行所需的時間。