特別:Search/CHKDSK
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

コンピュータの再起動時に実行スケジュールされた場合には、Chkdsk.exeではなくAutochk.exe が実行されて、Chkdsk.exeと同様のDLLを使用するが、仮想メモリや Win32 サービスを使用せず、アプリケーション イベント ログにもイベントが出力される[8]
CHKDSKで実行される処理

NTFS では、トランザクション ログを使用して(ファイルの実体であるユーザデータではなく、)ボリュームに保存されているすべてのファイルに関する情報を追跡するためのメタデータ(各アロケーション ユニットに於ける未使用、不良セクタの所在などに関する情報)を保持している。CHKDSKがチェック、修復をするのは、これら各アロケーション ユニットとファイルの実体とを紐付けるメタデータの整合性情報である。

ディスクの破損が発生した場合、すぐに CHKDSK の完全な処理を実行しても、NTFS では(MFTとNTFSのメタデータ相互の整合性は取るが)ファイル実体であるユーザー データの整合性は保証されない。CHKDSK では修復できないファイルが存在する場合や、CHKDSK で修復したファイルに内部的な破損が残っている場合がある[8]

フェーズ 1 : ファイルのチェック

ファイルエントリのチェックを行う。ボリュームのマスター ファイル テーブル (MFT) 内の各ファイル レコード セグメントを検証し、NTFS ボリューム上の各ファイルおよびディレクトリを一意に識別する。各ファイル レコード セグメントの内部的な整合性を検証して、使用中のファイル レコード セグメントを表すビットマップと、ボリューム上の使用中のクラスタを示すビットマップの 2 つのビットマップを作成する。このフェーズの最終段階で、MFT 内とボリューム全体の両方について、使用中の領域と使用可能な領域を識別し、MFTとは別にNTFS では、ディスク上に保存されている独自のビットマップでこれと同様の情報を追跡・保持しているので、その比較差分をの出力情報に表示する。使用中のファイル レコード セグメントに破損が検出された場合、対応するディスク クラスタを使用可能とするか使用中とするか、など。

フェーズ 2 : インデックスのチェック

ディレクトリエントリのチェックを行う。ボリューム上の各ディレクトリのNTFSインデックスに対し、ディレクトリ内で参照されている全てのファイルやサブディレクトリが、MFT 内の有効なファイル レコード セグメントとして実際に存在しているか、ディレクトリの循環参照がないか、ファイル のタイム スタンプとサイズが最新の情報であるかどうかを確認する。正当なファイル レコード セグメントがあるが、どのディレクトリ一覧にも存在しない孤立したファイルを適切と見なされるディレクトリへ復帰させ、適切なディレクトリが既に削除されているなどで見当たらない場合はルート ディレクトリに仮ディレクトリを作成し、そこにファイルを格納する。ディレクトリ一覧に対応するファイル実体がない場合は、そのファイル レコード セグメントに対するディレクトリ エントリの方を削除して整合性を取る。

フェーズ 3 : セキュリティ記述子のチェック

ファイルやディレクトリの所有者、NTFS アクセス許可、監査に関する情報などのセキュリティ記述子の整合性を取る。但し、記載のあるユーザーやグループが実際に存在するかや、付与されているアクセス許可が適切かの検証は行われない。

フェーズ 4 : セクタのチェック

ボリュームの空き領域にある不良セクタのチェックを行う(/R オプションまたは /B オプション)。ボリューム上のすべてのセクタを読み取って、使用可能セクタかを確認し、読み取り不能なセクタを含むクラスタを不良クラスタの一覧に追加する。不良クラスタのデータを修復して、不良クラスタに代わる新しいクラスタにデータを書き込む。もしデータの修復ができない場合は、0xFF バイトのパターンを新しいクラスタに設定する。
欠陥
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では修正されている[9]
PC DOS J6.3/V USモードのバグ

PC DOS J6.3/Vでは、CHKDSKをUSモード(英語モード)で実行すると日本語文字のディレクトリ下にあるファイルやディレクトリが消去される場合がある。これを回避するため、バージョンJ6.30A/VのCSD(問題修正ディスケット)でUSモード用のCHKDSKUS.COMが追加された[10]
Windows 7のバグ疑惑

Windows 7の正式リリース前、InfoWorld(英語版)はCHKDSKにメモリリークがあるという疑惑を報告した。この報告によると、chkdsk /rコマンドがメモリを最大まで消費してシステムをクラッシュさせる、とのこと。Infoworldのランドール・C・ケネディ (Randall C. Kennedy) は情報の出所を「様々なWeb情報源」とし、彼のテストでもメモリの消費が90%以上に達したものの、クラッシュまでには至らなかったとした。それにもかかわらず、ケネディはメモリの消費を重大なバグとみなして、Windows 7のリリース計画を狂わせるつもりだったのかマイクロソフトを冷笑的に非難した[11]

Neowin(英語版)のトム・ウォーレン (Tom Warren) はケネディのメモリリーク疑惑の意見を却下した[12]。マイクロソフトのスティーブン・シノフスキー (Steven Sinofsky) は、マイクロソフトではクラッシュを再現できなかったことに加え、大量のメモリ消費はパフォーマンスを向上するための仕様上の動作でありメモリリークではないと回答した。ZDNetのエド・ボット (Ed Bott) はケネディによるテストでの指摘について、クラッシュは発生しないことを観測したとレビューした。chkdsk /rについて補足すると、設計上、Windowsのオンライン中ではシステムドライブには実行できないようになっている。ボットは「それは恐らくバグではなく機能であって、またこの方法でシステムがクラッシュすることは非常に稀であり完全に回避可能である。」と結論づけた[13]
脚注[脚注の使い方]^ Holm, Dan; Thomas, Orin (2003). “11-3: Maintaining Disk Storage Volumes”. Managing and Maintaining a Microsoft Windows Server 2003 Environment. Microsoft Press. p. 11.25. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 9780735614376 
^ “ ⇒Description of the Windows XP Recovery Console for advanced users”. Support. マイクロソフト (2013年7月11日). 2014年9月4日閲覧。
^ “ ⇒An explanation of the new /C and /I Switches that are available to use with Chkdsk.exe”. Support. マイクロソフト (2004年12月1日). 2014年9月4日閲覧。
^ “ ⇒Troubleshooting Disks and File Systems”. Windows XP Professional Resource Kit. Microsoft (2005年11月3日). 2014年9月4日閲覧。
^ Bangalore, Kiran (2012年5月10日). “ ⇒Redesigning chkdsk and the new NTFS health model”. Building Windows 8. マイクロソフト. 2016年7月3日閲覧。
^ “ ⇒NTFS Self-Healing is An Overlooked but Useful Feature in Windows 7”. Next of Windows (2014年8月4日). 2016年7月3日閲覧。
^ “ ⇒Self-healing NTFS in Windows Server 2008 and Windows Vista”. Amit Pawar - Infrastructure blog. マイクロソフト (2008年2月13日). 2016年7月3日閲覧。
^ a b “Chkdsk.exe で使用可能な新しいスイッチ /C および /I について”. Support. マイクロソフト (2015年12月7日). 2014年12月20日時点のオリジナルよりアーカイブ。2016年3月26日閲覧。
^ “ ⇒When Not to Use MS-DOS 5.0 CHKDSK and UNDELETE Commands”. Support. マイクロソフト (2006年11月16日). 2016年7月3日閲覧。
^ PC DOS バージョン J6.30C/V 問題修正情報. 日本アイ・ビー・エム. (1995) 
^ “ ⇒Critical Windows 7 bug risks derailing product launch”. Infoworld. IDG (2009年8月5日). 2015年2月19日閲覧。
^ “Windows 7 RTM contains a rather nasty chkdsk bug”. Neowin (2009年8月5日). 2015年2月19日閲覧。
^ “A killer Windows 7 bug? Sorry, no”. ZDNet. CBS Interactive (2009年8月5日). 2016年7月3日閲覧。

関連項目.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ウィキメディア・コモンズには、CHKDSKに関連するカテゴリがあります。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:45 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef