ファイルシステムを修復するchkdskコマンド

ファイルシステムをチェックするコマンドにchkdskがある。このコマンドはNTFS、FAT、FAT32のファイルシステムをチェックするコマンドで、ファイルシステムのチェック、ボリュームのロジカルエラーおよびフィジカルエラーに関するファイルシステムメタデータなどのチェックを実施する。

chkdskを実行することで壊れたファイルシステムが回復することもある。しかし、逆に壊れる、というかデータを失うこともあるので、chkdskコマンドを実行してファイルシステムを修復するかどうかはよく考えた方がよいのだが、どういったコマンドなのかは知っておいて損はないだろう。

chkdskコマンドの基本的な使い方は次のとおり。

chkdskコマンドの使い方

chkdsk [ボリューム[パス]] パラメータ

chkdskコマンドはパラメータを指定しないで実行した場合、ファイルシステムのチェックのみを実施して修復は行わない。ファイルシステムの修復を実施するかどうかはパラメータで指定するようになっている。代表的なパラメータは次のとおり。

パラメータ 内容
/f ディスクのエラーを修正する。修正するにあたってディスクはロックされる必要がある。このため、chkdskはディスクのロックを実施できなかった場合、次の再起動時にドライブをチェックするかどうかを尋ねてくる
/v ディレクトリがチェック対象だった場合、各ファイル名を表示
/r 不良セクタを検出するとともに、読み込み可能なデータを復旧する。この処理を実施するにはディスクをロックする必要がある。/fも含む
/i インデックスエントリチェックを削減することで処理時間を短縮化。NTFSのみで使用可能
/c フォルダ構造内のサイクルチェックを実施しないことで処理時間を短縮化。NTFSのみで使用可能
/l ログファイルのサイズを表示
/l:サイズ ログファイルのサイズを指定したサイズに変更。NTFSでのみ使用可能

もっともよく使われるのは/fだ。このパラメータを指定するとchkdskコマンドは指定されたボリュームのチェックと修正を実施するようになる。また、不良セクタが存在する場合には/rも使うことになる。

chkdskコマンドの実行例

chkdskコマンドはパラメータを指定しないで実行すると、次のようにチェックだけを実施してくれる。

chkdskコマンドでファイルシステムをチェック

chkdskコマンドで修正などを実施する場合、ドライブをロックする必要があるものがあり、ロックが実施できないと処理が行われない。その場合、次のようなメッセージが出力され、再起動時に処理を行うかどうかを尋ねられる。

ロックできないため処理ができないというメッセージとともに、再起動時に処理を行うかどうかを尋ねられる

ここで再起動時に処理を行うといった返事を行うと、下記のように次の再起動時にchkdskによるファイルシステムチェックや修正が実施されるようになる。

chkdskで再起動時に処理を行うことにすると、次の起動時にこのようなメッセージが表示される

ファイルシステムチェック中

ファイルシステムのチェックが終了すると、通常通りにWindowsが起動してくる。

chkdskコマンドの利用上の注意

chkdskコマンドを使うことで壊れたファイルシステムを修復することができる。しかし、修復する過程でデータが失われることもある。chkdskコマンドを使う場合にはそうした危険性があることも知っておいた方がよいだろう。

基本的に失っては困るデータに関しては他のメディアやストレージ、またはクラウドサービスなどにバックアップを取っておこう。ストレージはいつ故障するのか予想するのが難しく、いきなり故障したように振る舞うことも多い。消えては困るデータに関してはバックアップを取っておく、これを徹底しておくことが大切だ。

参考資料