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 命令。

  • 在不常重新啟動的伺服器上,建議您使用 chkntfsfsutil dirty query 命令來判斷是否已設定磁碟區的已變更位元,再執行 chkdsk。

了解結束代碼

下表列出 chkdsk 在完成後報告的結束代碼。

結束代碼 描述
0 未發現任何錯誤。
1 找到並修正錯誤。
2 執行磁碟清除 (例如記憶體回收) 或未執行清除,因為未指定 /f
3 無法檢查磁碟、無法修正錯誤,或未修正錯誤,因為未指定 /f

範例

若要檢查磁碟機 D 中的磁碟,並由 Windows 修正錯誤,請輸入:

chkdsk d: /f

如果遇到錯誤,chkdsk 會暫停並顯示訊息。 Chkdsk 完成時會顯示列出磁碟狀態的報告。 在 chkdsk 完成之前,您無法開啟指定磁碟機上的任何檔案。

若要檢查目前目錄中 FAT 磁碟上的所有檔案是否有非連續區塊,請輸入:

chkdsk *.*

Chkdsk 會顯示狀態報告,然後列出符合具有非連續區塊之檔案規格的檔案。

檢視 chkdsk 記錄

在 Windows 中擷取 chkdsk 記錄檔可使用兩種方法。 請查看以下所述的方法:

若要使用事件檢視器來檢視記錄,請瀏覽至下列位置:

  1. [開始]>[控制台]>[系統管理工具]>[事件檢視器]

    或者,按 Win + R 鍵以顯示執行對話方塊、輸入 eventvwr.msc,然後選取 [確定]

  2. 展開 [Windows 記錄]> 以滑鼠右鍵按兩下 [應用程式]> 選取 [篩選目前的記錄]

  3. 在 [篩選目前的記錄] 視窗中,瀏覽至 [事件來源] 下拉功能表,選取 [Chkdsk] 和 [Wininit]

  4. 按一下 [確定] 以完成篩選這兩個來源。