chkdsk
檢查磁碟區的檔案系統和檔案系統中繼資料是否有邏輯和實體錯誤。 如果沒有搭配參數使用,chkdsk 只會顯示磁碟區的狀態,而且不會修正任何錯誤。 如果搭配 /f、/r、/x 或 /b 參數使用,則會修正磁碟區上的錯誤。
重要
必須至少具有本機 Administrators 群組的成員資格或同等權限,才能執行 chkdsk。 若要以系統管理員身分開啟命令提示字元,在 [開始] 功能表上,以滑鼠右鍵按一下 [命令提示字元],然後按一下 [以系統管理員身分執行]。
重要
不建議中斷 chkdsk。 不過,取消或中斷 chkdsk 應該不會使磁碟區的損毀情形比執行 chkdsk 之前更加惡化。 再次執行 chkdsk 會檢查並且應該會修復磁碟區上任何剩餘的損毀情形。
注意
Chkdsk 只能用於本機磁碟。 該命令無法與透過網路重新導向的本機磁碟機代號搭配使用。
語法
chkdsk [<volume>[[<path>]<filename>]] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:<size>]] [/b]
參數
參數 | 描述 |
---|---|
<volume> |
指定磁碟機代號 (後面接著冒號)、掛接點或磁碟區名稱。 |
[ [<path>]<filename> |
僅搭配檔案配置表 (FAT) 和 FAT32 使用。 指定您想要 chkdsk 檢查分散情形的檔案或一組檔案的位置和名稱。 您可以使用 ? 和 * 萬用字元來指定多個檔案。 |
/f | 修正磁碟上的錯誤。 磁碟必須鎖定。 如果 chkdsk 無法鎖定磁碟機,則會出現一則訊息,詢問您是否要在下次重新啟動電腦時檢查磁碟機。 |
/v | 在檢查磁碟時,顯示每個目錄中每個檔案的名稱。 |
/r | 找出損毀的磁區並復原可讀取的資訊。 磁碟必須鎖定。 /r 包含 /f 的功能,以及實體磁碟錯誤的額外分析。 |
/x | 如有必要,強制磁碟區先卸除。 磁碟機的所有開啟控點都會失效。 /x 也包含 /f 的功能。 |
/i | 僅搭配 NTFS 使用。 執行較不嚴密的索引項目檢查,以縮短執行 chkdsk 所需的時間量。 |
/c | 僅搭配 NTFS 使用。 不會檢查資料夾結構內的週期,這會縮短執行 chkdsk所需的時間量。 |
/l[:<size> ] |
僅搭配 NTFS 使用。 將記錄檔大小變更為您輸入的大小。 如果您省略 size 參數,/l 會顯示目前的大小。 |
/b | 僅搭配 NTFS 使用。 清除磁碟區上錯誤的叢集清單,並重新掃描所有已配置和可用的叢集是否有錯誤。 /b 包含 /r 的功能。 將磁碟區映像處理到新的硬碟之後,請使用此參數。 |
/scan | 僅搭配 NTFS 使用。 在磁碟區上執行線上掃描。 |
/forceofflinefix | 僅搭配 NTFS 使用 (必須與 /scan 搭配使用)。 略過所有線上修復;找到的所有瑕疵都會排入佇列以進行離線修復 (例如,chkdsk /spotfix )。 |
/perf | 僅搭配 NTFS 使用 (必須與 /scan 搭配使用)。 使用更多系統資源儘快完成掃描。 這可能會對系統上執行的其他作業造成負面影響。 |
/spotfix | 僅搭配 NTFS 使用。 在磁碟區上執行問題點修正。 |
/sdcleanup | 僅搭配 NTFS 使用。 對不必要的安全性描述元資進行記憶體回收 (意指 /f)。 |
/offlinescanandfix | 對磁碟區執行離線掃描並修正。 |
/freeorphanedchains | 僅搭配 FAT/FAT32/exFAT 使用。 釋放任何孤立的叢集鏈,而不是復原其內容。 |
/markclean | 僅搭配 FAT/FAT32/exFAT 使用。 如果未偵測到任何損毀,則會將磁碟區標示為正常,即使未指定 /f 也一樣。 |
/? | 在命令提示字元顯示說明。 |
備註
/i 或 /c 參數會略過特定磁碟區檢查來縮短執行 chkdsk 所需的時間量。
如果希望 chkdsk 更正磁碟錯誤,則不能開啟磁碟機上的檔案。 如果檔案已開啟,會出現下列錯誤訊息:
Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N)
如果您選擇在下一次重新啟動電腦時檢查磁碟機,chkdsk 會檢查磁碟機,並在重新啟動電腦時自動更正錯誤。 如果磁碟機分割是開機磁碟分割,chkdsk 會在檢查磁碟機之後自動重新啟動電腦。
您也可以使用
chkntfs /c
命令來排程下次重新啟動電腦時要檢查的磁碟區。 使用fsutil dirty set
命令來設定磁碟區的已變更位元 (表示損毀),讓 Windows 在重新啟動電腦時執行 chkdsk。您應該偶爾在 FAT 和 NTFS 檔案系統上使用 chkdsk 來檢查磁碟錯誤。 Chkdsk 會檢查磁碟空間和磁碟使用量,並提供每個檔案系統特有的狀態報告。 狀態報告會顯示在檔案系統中找到的錯誤。 如果您在使用中的磁碟分割上執行 chkdsk 時不含 /f 參數,它可能會報告假性錯誤,因為它無法鎖定磁碟機。
只有在您指定 /f 參數時,Chkdsk 才會更正邏輯磁碟錯誤。 Chkdsk 必須能夠鎖定磁碟機以更正錯誤。
因為 FAT 檔案系統上的修復通常會變更磁碟的檔案配置表,且有時造成資料遺失,所以 chkdsk 可能會顯示類似下列的確認訊息:
10 lost allocation units found in 3 chains. Convert lost chains to files?
如果您按下 Y,Windows 會在根目錄中將每個遺失的鏈結另存為 File
<nnnn>
.chk 格式的檔案。 當 chkdsk 完成時,您可以檢查這些檔案,以查看它們是否包含您需要的任何資料。如果您按下 N,Windows 會修正磁碟,但不會儲存遺失配置單位的內容。
如果您沒有使用 /f 參數,chkdsk 會顯示檔案需要修正的訊息,但不會修正任何錯誤。
如果您在非常大的磁碟或具有大量檔案 (例如,數百萬個檔案) 的磁碟上使用
chkdsk /f*
,chkdsk /f
可能需要很長的時間才能完成。使用 /r 參數來尋找檔案系統中的實體磁碟錯誤,並嘗試從任何受影響的磁碟磁區復原資料。
如果您指定 /f 參數,若是磁碟上有開啟的檔案,chkdsk 會顯示錯誤訊息。 如果您沒有指定 /f 參數並存在開啟的檔案,chkdsk 可能會報告磁碟上遺失配置單位。 如果尚未在檔案配置表中記錄開啟的檔案,就可能發生此情況。 如果 chkdsk 報告遺失大量配置單位,請考慮修復磁碟。
因為在啟用 [共用資料夾陰影複製] 時無法鎖定共用資料夾的陰影複製,因此針對來源磁碟區執行 chkdsk 可能會報告錯誤或造成 chkdsk 意外結束。 不過,您可以在唯讀模式中執行 chkdsk 來檢查陰影複製是否有錯誤,以檢查共用資料夾儲存磁碟區的陰影複製。
您可以從修復主控台搭配不同參數使用 chkdsk 命令。
在不常重新啟動的伺服器上,建議您使用 chkntfs 或
fsutil dirty query
命令來判斷是否已設定磁碟區的已變更位元,再執行 chkdsk。
了解結束代碼
下表列出 chkdsk 在完成後報告的結束代碼。
結束代碼 | 描述 |
---|---|
0 | 未發現任何錯誤。 |
1 | 找到並修正錯誤。 |
2 | 執行磁碟清除 (例如記憶體回收) 或未執行清除,因為未指定 /f。 |
3 | 無法檢查磁碟、無法修正錯誤,或未修正錯誤,因為未指定 /f。 |
範例
若要檢查磁碟機 D 中的磁碟,並由 Windows 修正錯誤,請輸入:
chkdsk d: /f
如果遇到錯誤,chkdsk 會暫停並顯示訊息。 Chkdsk 完成時會顯示列出磁碟狀態的報告。 在 chkdsk 完成之前,您無法開啟指定磁碟機上的任何檔案。
若要檢查目前目錄中 FAT 磁碟上的所有檔案是否有非連續區塊,請輸入:
chkdsk *.*
Chkdsk 會顯示狀態報告,然後列出符合具有非連續區塊之檔案規格的檔案。
檢視 chkdsk 記錄
在 Windows 中擷取 chkdsk 記錄檔可使用兩種方法。 請查看以下所述的方法:
若要使用事件檢視器來檢視記錄,請瀏覽至下列位置:
[開始]>[控制台]>[系統管理工具]>[事件檢視器]。
或者,按 Win + R 鍵以顯示執行對話方塊、輸入 eventvwr.msc,然後選取 [確定]。
展開 [Windows 記錄]> 以滑鼠右鍵按兩下 [應用程式]> 選取 [篩選目前的記錄]。
在 [篩選目前的記錄] 視窗中,瀏覽至 [事件來源] 下拉功能表,選取 [Chkdsk] 和 [Wininit]。
按一下 [確定] 以完成篩選這兩個來源。