ボリュームのファイル システムとファイル システムのメタデータで、論理エラーと物理エラーをチェックします。 パラメーターなしで使用すると、 chkdsk は ボリュームの状態のみを表示し、エラーを修正しません。 /f、/r、/x、または /b パラメーターと共に使用すると、ボリュームのエラーが修正されます。
重要
chkdsk を実行するために必要な最小要件は、ローカルの Administrators グループまたは同等のメンバーシップです。 管理者としてコマンド プロンプト ウィンドウを開くには、[スタート] メニューの [コマンド プロンプト] を右クリックし、[管理者として実行] を選択します。
重要
chkdsk を中断することはお勧めしません。 ただし、 chkdsk を取り消したり中断したりしても、 chkdsk が実行される前よりも破損したボリュームを残すことはできません。 chkdsk をもう一度実行すると、ボリューム上の残りの破損が確認され、修復されます。
注
Chkdsk はローカル ディスクにのみ使用できます。 このコマンドは、ネットワーク経由でリダイレクトされたローカル ドライブ文字では使用できません。
構文
chkdsk [<volume>[[<path>]<filename>]] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:<size>]] [/b] [/scan] [/forceofflinefix] [/perf] [/spotfix] [/sdcleanup] [/offlinescanandfix] [/freeorphanedchains] [/markclean] [/?]
パラメーター
パラメーター | 説明 |
---|---|
<volume> |
ドライブ文字 (コロンが続く)、マウント ポイント、またはボリューム名を指定します。 |
[<path>]<filename> |
ファイル割り当てテーブル (FAT) と FAT32 でのみ使用します。 chkdsk で断片化をチェックするファイルまたはファイルのセットの場所と名前を指定します。 ワイルドカード文字 ? と * を使用して、複数のファイルを指定できます。 |
/f | ディスク上のエラーを修正します。 ディスクはロックされている必要があります。 chkdsk がドライブをロックできない場合は、次回コンピューターを再起動するときにドライブを確認するかどうかを確認するメッセージが表示されます。 |
/v | ディスクがチェックされると、すべてのディレクトリ内の各ファイルの名前が表示されます。 |
/r | 不良セクターを特定し、読み取り可能な情報を回復します。 ディスクはロックされている必要があります。 /r には、物理ディスク エラーの追加分析と共に 、/f の機能が含まれています。 |
/x | 必要に応じて、最初にボリュームを強制的にマウント解除します。 ドライブに対して開いているハンドルはすべて無効になります。 /x には 、/f の機能も含まれています。 |
/私 | NTFS でのみ使用します。 インデックス エントリの活発なチェックを実行します。これにより、 chkdsk の実行に必要な時間が短縮されます。 |
/c | NTFS でのみ使用します。 フォルダー構造内のサイクルをチェックしません。これにより、 chkdsk の実行に必要な時間が短縮されます。 |
/l[:<size> ] |
NTFS でのみ使用します。 ログ ファイルのサイズを入力したサイズに変更します。 size パラメーターを省略すると、 /l は現在のサイズを表示します。 |
/b | NTFS でのみ使用します。 ボリューム上の不適切なクラスターの一覧をクリアし、割り当て済みのすべてのクラスターと空きクラスターのエラーを再スキャンします。 /b には 、/r の機能が含まれています。 ボリュームを新しいハード ディスク ドライブにイメージングした後、このパラメーターを使用します。 |
/スキャン | NTFS でのみ使用します。 ボリュームでオンライン スキャンを実行します。 |
/forceofflinefix | NTFS でのみ使用します ( /scan で使用する必要があります)。 すべてのオンライン修復をバイパスします。検出されたすべての欠陥は、オフライン修復のためにキューに登録されます (たとえば、 chkdsk /spotfix )。 |
/パフォーマンス | 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 は 、ディスク領域とディスク使用量を調べ、各ファイル システムに固有の状態レポートを提供します。 状態レポートには、ファイル システムで見つかったエラーが表示されます。 アクティブなパーティションで /f パラメーターを指定せずに chkdsk を実行すると、ドライブをロックできないため、誤ったエラーが報告される可能性があります。
Chkdsk は 、 /f パラメーターを指定した場合にのみ論理ディスク エラーを修正します。 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 がさまざまなメディアで実行する方法
物理的な性質: HDD は回転する磁気プラッタを使用します。 セクターとブロックは、プラッタから物理的に読み取られます。
chkdsk を実行する場合:
- 物理的なヘッドは、チェック対象の各データの場所に移動する必要があり、機械的な動きが 原因で遅くなります 。
- すべてのセクターの物理的整合性がチェックされ、可能であれば不良セクターが置き換えられるため、(を使用して)
/r
セクターのチェックに時間がかかります。 - 大規模なドライブでは、時間の長いランタイムは珍しくありません。
通常、大容量 HDD では、 /r
または /b
は、すべてのセクターを読み取る際にかなりの時間がかかります。 エラーがなく、ほとんど空のドライブであっても、物理的な読み取り速度がプロセスのボトルネックになります。
大規模な容量の HDD では、 chkdsk
のプロセスが短時間で完了する可能性がある場合があります。 これが発生した場合は、次のようになります。
- ボリュームがダーティにマウントされているか、オペレーティング システム (OS) または別のプロセスによってロックされています。
-
chkdsk
操作では、ドライブ上のすべてのセクターが実際にスキャンされたわけではありません。 - HDD の読み取りヘッドの障害やその他のハードウェアの問題により、
chkdsk
が予期しない動作をする可能性があります。 -
chkdsk
操作では、ファイル システム構造のオンライン スキャンのみが実行され、OS を起動する前にオフライン スキャンを実行するように明示的に行われませんでした。
chkdsk
ログを表示すると、スキャン中に潜在的な問題が示される可能性があります。 詳細については、 chkdsk ログの表示を参照してください。
終了コードについて
次の表に、 chkdsk が完了後に報告する終了コードを示します。
終了コード | 説明 |
---|---|
0 | エラーが見つかりませんでした。 |
1 | エラーが見つかり、修正されました。 |
2 | /f が指定されていないため、ディスククリーンアップ (ガベージ コレクションなど) を実行したか、クリーンアップを実行しませんでした。 |
3 | ディスクを確認できませんでした。エラーを修正できませんでした。または、 /f が指定されていないため、エラーが修正されませんでした。 |
例示
ドライブ D のディスクを確認し、Windows の修正エラーを発生するには、次のように入力します。
chkdsk d: /f
エラーが発生した場合、 chkdsk は 一時停止し、メッセージを表示します。
Chkdsk は 、ディスクの状態を一覧表示するレポートを表示することによって完了します。
chkdsk
が完了するまで、指定したドライブ上のファイルを開くことができません。
現在のディレクトリ内の FAT ディスク上のすべてのファイルに連続しないブロックがあるかどうかを確認するには、次のように入力します。
chkdsk *.*
Chkdsk は 状態レポートを表示し、非連続ブロックを持つファイル仕様に一致するファイルを一覧表示します。
chkdsk ログの表示
イベント ビューアーと PowerShell を使用して、Windows で chkdsk ログ ファイルを取得するために使用できる 2 つの方法があります。
イベント ビューアーでログを表示するには、次のアクションを実行します。
> Control Panel>Administrative Tools>Event Viewer を起動します。
または、 Win キーと R キーを押して実行ダイアログ ボックスを表示し、「 eventvwr.msc」と入力して、[ OK] を選択します。
Windows ログを展開>アプリケーションを右クリックし>現在のログのフィルター処理を選択します。
[ 現在のログのフィルター] ウィンドウで、[ イベント ソース ] ドロップダウン メニューに移動し、 Chkdsk と Wininit を選択します。
[ OK] を 選択して、これら 2 つのソースのフィルター処理を完了します。