NTFSの修復

Windowsが起動できなくても

NTFSは、最近のWindowsではメインで使われているファイルシステムです。
それまで主流だったFAT32に比べると、

  • 4GBを超えるファイルサイズを扱える
  • 断片化しにくい
  • ある程度の冗長性がある

など、様々なメリットがあります。
USBメモリ等のリムーバブルディスクも大容量化してきたので、
NTFSでフォーマットしてしまうことも多いと思います。

上述のとおり、NTFSにはある程度の冗長性があるので、
FAT32に比べれば、ファイルシステム自体が破損してしまうようなことは少なくなりました
でも、それはNTFSが破損しないということではありません。
記憶装置自体に問題があったり、通信が途絶えるようなことがあれば、
NTFSだって問題を抱えてしまうことはあります。

Windowsのシステムパーティションに関しては、ほぼ確実にNTFSでフォーマットされているはずです。
システムパーティションのファイルシステムが破壊されると、もはや起動することもできません。

でも、ハードディスクからWindowsが起動できなくても、NTFSの修復を試みることはできます
その結果、Windowsが起動できるようになるかどうかは別ですが。

NTFSを修復するプログラム

NTFSを修復するプログラムは、Windowsに組み込まれています。
というか、NTFSの仕様の詳細をMicrosoftが公開していないため、
本当の意味でNTFSの修復ができるのはWindowsだけなんです。

いわゆる「チェックディスク」というのが、NTFSの修復を行うものです。
具体的には、

チェックディスク

  1. ドライブ(「Cドライブ」等)の右クリックメニューから「プロパティ」
  2. 「ツール」タブの「チェックする」を選択
  3. 「ファイルシステムエラーを自動的に修復する」にチェックを入れて「開始」

という操作手順になります。

コマンドプロンプトからの「chkdsk」というのも、同じです。

ただしいずれにせよ、チェックディスクはデータ損失の危険性を伴います
なぜなら、チェックディスクの目的は、データの復旧ではなく、ファイルシステムの修復にあるからです。
このへんの詳細は、下記ページにまとめてあります。

何も修復しない「chkdsk」

必要なデータのバックアップが最優先です。
不用意にチェックディスクを実行して、取り返しがつかなくなっても知りません。

どーでもいーはなし

冒頭で、NTFSに冗長性があるという話をしましたが、
これもファイルシステムの整合性を保つための冗長性であり、
保存されているファイルのデータが保護されるというわけではありません。

Windowsが起動できない場合 - その[1]

Windowsが通常起動できなくても、コマンドプロンプトが起動できるのであれば、NTFSを修復することはできます。

特に、「Windows 7」では起動パーティションとWindowsがインストールされているパーティションが分かれているので、
いわゆる「Cドライブ」に問題があって起動できなくても、起動パーティションさえ無事であれば、
コマンドプロンプトを起動することができます。
※ここでいう起動パーティションというのは、ラベルが「システムで予約済み」と名付けられたパーティションのこと。
これも「Windows RE」という、一種のWindowsではありますが。

Windowsを通常起動できない状況下でコマンドプロンプトを起動するには、

  1. 起動時に「F8」キーを押す ※ハードディスクに処理が移るタイミング。
  2. 「詳細ブートオプション」にて「コンピューターの修復」を選択
  3. 「システム回復オプション」にて「コマンドプロンプト」を選択

と操作すればいいです。

コマンドプロンプトから、ファイルシステムを修復するコマンド「chkdsk」を使います。 具体的には、

chkdsk d:(対象のドライブ) /f

と入力することで、NTFSの修復ができます。 詳細は下記ページにて。

「chkdsk」を実行する

ただし、「Windows RE」から起動した場合は、ドライブレターが任意再割り当てされるため、
普段使っているドライブレターとは必ずしも一致しません
注意してください。

Windowsが起動できない場合 - その[2]

Windowsが起動できるのであれば、NTFSの修復を試みることはできます。
でも、完全にWindowsが起動できない場合はどうしたらいいでしょうか。

このような緊急時に便利なものとして、ライブCDがあります。
ライブCDとは、CD/DVDから直接起動できるOSのことです。
内蔵ハードディスクから起動できなくても、CD/DVDからOSを起動して操作できます。
「KNOPPIX」とか、「Ubuntu」とかが有名です。

ただし、これらはLinuxです。
Windowsではありません。
Linuxでファイルシステムを修復する「fsck」というコマンドがありますが、NTFSの修復には対応していません。
NTFSを修復する「ntfsck」というものも開発中でしたが、どうやら頓挫してしまったようです。
NTFSはMicrosoftのものなので、仕方がないのかもしれません。

じゃあどうしたらいいかというと、WindowsのライブCDを使ったらいいんです。
Windows PEというWindowsのライブCDがあります。

でも実は、「Windows PE」起動ディスクを作るまでの作業が大変で、敷居が高かったんです。
LinuxのライブCDのように、ISOファイルをダウンロードして書き込んだら完成、
というようなものではありません。
そこで、「WinPe-tch Direct」という、「Windows PE」起動ディスクを全自動で作ってしまうソフトがあります。

「WinPe-tch Direct」の使い方

「Windows PE」起動ディスクを作ってしまいさえすれば、「Windows PE」を起動した後、

  1. ランチャーから「Q-Dir」(ファイラー)を起動
  2. 対象ドライブの右クリックメニューから「プロパティ」
  3. 「ツール」タブの「チェックする」を選択
  4. 「ファイルシステムエラーを自動的に修復する」にチェックを入れて「開始」

とすることで、NTFSを修復することができます。

ただし、こちらも「Windows PE」がドライブレターを自動的に割り当てるので、
普段使っているドライブレターとは一致しなくなる可能性が高いです。
この点には注意が必要です。

ただし、「WinPe-tch Direct」から「Windows PE」起動ディスクを作った場合は、
「Q-Dir」等、GUIでの操作がしやすくなっているので、
コマンドプロンプトよりも、対象ドライブの確認が簡単に行えると思います。