CHKDSK
CHKDSK（チェックディスク、"check disk"の略語）はMS-DOS、OS/2およびWindowsに付属するシステムユーティリティコマンド。ディスクボリュームのファイルシステム整合性をチェックし、論理ファイルシステムエラーを修復する機能を持つ。UNIXにおけるfsckコマンドに類似する。DOSではメモリの使用状況を出力する機能もあり、MS-DOS 4.0でMEMコマンドが追加されるまで、メモリの使用状況を確認する方法の一つであった。
Windows NT系では、CHKDSKはディスクの表面に不良セクタがあればそれをマークする機能も持っている（MS-DOS 6.xやWindows 9x系では、スキャンディスクがこの機能を持つ）。Windows ServerのCHKDSKは、RAID1またはRAID5構成のディスクで不良セクタが見つかったとき、他のディスクが正常であればそこからデータを完全に修復する機能を持つ。
CHKDSKはDOSプロンプト、Windowsエクスプローラー、Windowsコマンドプロンプトまたは回復コンソールから実行することができる。
概要
Windows NT系では、CHKDSKの標準スキャンにはファイルメタデータのテスト処理に3つのフェーズがある。もしエラーが見つかっても、明示的に修復するよう指定しない限り修復は行われない。表面スキャンでも同様である。このテストは大容量または低性能のディスクでは非常に時間が掛かり、明示的に指定されない限り行われない。CHKDSKは修復操作を行うために、ボリュームへの排他的書き込みアクセスを要求する。
排他的書き込みアクセスを要求することに加え、CHKDSKの処理に時間が掛かるため、Windows Vistaではオペレーティングシステムがボリュームのエラーを検出した時にそれを修復するという新しいファイルシステム正常性モデルを実装している。問題が発生して完全スキャンの必要性が生じたとき、アクションセンターがユーザーに都合の良いときにボリュームをオフラインにするように通知する。
Windows VistaおよびWindows Server 2008ではCHKDSKコマンドに加えて自己回復機能が追加されており、標準で有効になっている。これは物理ファイルシステムエラーを検出して暗黙的に修復するものである。このように、多くの問題はCHKDSKの実行で表示されることはなく、それよりも前に発見される。自己回復機能はfsutil repairコマンドで管理できる。
MS-DOS 5 バグ
MS-DOS 5.0のCHKDSKとUNDELETEにはデータを破壊するバグがある。ディスクのFATで256セクタを使用している環境でCHKDSK /Fを実行するとデータを消失し、UNDELETEを実行すると予測不能な結果を引き起こす。通常、この問題は128MBの倍数の容量を持つディスクで発生する。これは1991年4月9日付のタイムスタンプのCHKDSK.EXEとUNDELETE.EXEに適用される。このバグはMS-DOS 5.0aでは修正されている。
PC DOS J6.3/V USモードのバグ
PC DOS J6.3/Vでは、CHKDSKをUSモード（英語モード）で実行すると日本語文字のディレクトリ下にあるファイルやディレクトリが消去される場合がある。これを回避するため、バージョンJ6.30A/VのCSD（問題修正ディスケット）でUSモード用のCHKDSKUS.COMが追加された。
Windows 7のバグ疑惑
Windows 7の正式リリース前、InfoWorldはCHKDSKにメモリリークがあるという疑惑を報告した。この報告によると、chkdsk /rコマンドがメモリを最大まで消費してシステムをクラッシュさせる、とのこと。Infoworldのランドール・C・ケネディ (Randall C. Kennedy) は情報の出所を「様々なWeb情報源」とし、彼のテストでもメモリの消費が90%以上に達したものの、クラッシュまでには至らなかったとした。それにもかかわらず、ケネディはメモリの消費を重大なバグとみなして、Windows 7のリリース計画を狂わせるつもりだったのかマイクロソフトを冷笑的に非難した。
Neowinのトム・ウォーレン (Tom Warren) はケネディのメモリリーク疑惑の意見を却下した。マイクロソフトのスティーブン・シノフスキー (Steven Sinofsky) は、マイクロソフトではクラッシュを再現できなかったことに加え、大量のメモリ消費はパフォーマンスを向上するための仕様上の動作でありメモリリークではないと回答した。ZDNetのエド・ボット (Ed Bott) はケネディによるテストでの指摘について、クラッシュは発生しないことを観測したとレビューした。chkdsk /rについて補足すると、設計上、Windowsのオンライン中ではシステムドライブには実行できないようになっている。ボットは「それは恐らくバグではなく機能であって、またこの方法でシステムがクラッシュすることは非常に稀であり完全に回避可能である。」と結論づけた。