Windowsに何らかの異常があると、起動時に起動モードの選択画面が出てくるようになります。
多くの場合、通常起動できないからこの選択画面が出てきているはずで、
仮に「Windowsを通常起動する」を選択しても、
再起動してしまうか、いつまで経っても起動しないか、どちらかの状態におちいってしまう可能性が高いです。
なので、一般的には「セーフモード」を選択して起動を試みるわけですが、
セーフモードでも同様に起動できない状態というのが、ままあります。

セーフモードは、Windowsの必要最低限の機能のみで起動しようとするモードです。
各種ドライバや、スタートアップアプリケーションの類も、一切読み込みません
それなのに起動できないというのは、
Windowsそのものがトラブルを抱えてしまったと言い換えることもできます。

復旧するためには、Windowsが起動する際に読み込んでいくものに注意を払っていく必要があります。

セーフモードでも起動できなくなる原因

Windowsは、数多くのソフトウェアの集合体によって成り立っています。
セーフモードは、これら読み込まれるソフトウェアの数を最小限に抑えようとするものです。

それでも起動できなくなってしまうのは、
Windowsが起動するうえで必ず読み込まなければならないファイルや、
そのつながり方に問題が発生しているから
です。

Windowsが起動できなくなってしまう原因のほとんどは、その直前の操作にあります。
たとえば、何らかのアプリケーションをインストールしたり、
新しいドライバをインストールしたりといった、システムの変更を伴う操作です。

また、コンピュータウイルスの感染というのも、広い意味ではWindowsに対するシステムの変更を意味します。
起動時にウイルス本体を読み込むようWindowsの設定を変更するウイルスは多いですが、
こうした操作自体は、他のスタートアップアプリケーションと似たようなものです。

このような、Windowsのシステムに関わる設定のほとんどは、
レジストリというデータベースにまとめて保存されています

システムの設定変更が反映されるというのは、レジストリの情報が書き換えられているのと同じことです。

レジストリは、Windowsが起動する際に必ず読み込まれます。
Windowsは、レジストリに保存されている今までの設定値を読み込みながら起動していく必要があるからです。
逆に、レジストリを読み込まずに、Windowsを起動することはできません
つまり、レジストリに異常があると、
Windowsはセーフモードでも起動できなくなってしまう可能性がある
のです。

対処法

Windowsがセーフモードでも起動しなくなった場合は、
レジストリを正常起動していた過去の状態に戻すことで、復旧できる可能性が高いです。

レジストリを元に戻すには、一般的には「システムの復元」を使います。
でも、「システムの復元」は、Windowsが起動している状態じゃないと使えません。
そもそも、Windowsを起動できないから困ってるわけですが。

そこで、ハードディスクにインストールされているWindowsによらず、
レジストリを元に戻す必要性が生じます。
「Windows XP」では、下記方法を用いてレジストリを復旧することができます。

レジストリの復旧

これはつまり、別のOSを用いて、Windowsのレジストリファイルを置き換えてしまう方法です。

「Windows Vista」からは、システム回復オプションなるものが追加されました。
これは、常用しているWindowsとは別のシステムによって、Windowsの修復を図るものです。
「Windows 7」以降は「システム回復オプション」用のパーティションが別にあったりしますし、
内蔵ハードディスクから起動できなかったとしても、システム修復ディスクを使って起動できます。
Microsoft側で復旧用ツールを用意してくれたわけです。

このシステム回復オプション」から、「システムの復元」を使用することが可能です。
つまり、レジストリを元に戻せます。

また、ウイルス等が原因でレジストリの異常箇所がわかっている場合は、
個別のレジストリキーを修正することができます。

実際、ウイルスが原因で起動できなくなったパソコンであっても、
レジストリを復旧するだけで、Windowsが正常起動できるようになることは多い
です。
ただし、この場合はウイルスのプログラムを自動的に実行しなくなっているだけで、
ウイルスのプログラムファイル自体はハードディスク内に保存されたままです。
その後の操作を誤ると、再びウイルスに感染してしまう危険性があります。
ご注意ください。

不良セクタの可能性

根本的な問題として、なぜレジストリに異常が発生するのか、というのがあります。
新しいソフトをインストールしたとか、ウイルスに感染したとか、わかりやすいケースは別として、
日常的な操作をしていただけなのに、ある日突然起動できなくなることも珍しくありません。

セーフモードでも起動できない場合、
ハードディスクに不良セクタが発生している可能性が少なからずあります
レジストリを正しく読み書きできなければ、セーフモードだろうとWindowsを起動できませんし、
それ以前にWindowsのシステムファイル自体が破損していれば、どうやったってWindowsを起動できません。
ハードディスク本体も疑ったほうがいいのです。

手っ取り早くハードディスクの状態を調べるには、SMART属性値を確認するといいです。
SMART属性値とは、ハードディスクのファームウェアによってカウントされている、
そのハードディスクの状態を示す数値のことです。
SMARTSelf-Monitoring, Analysis and Reporting Technologyの文字通り、ハードディスクの自己診断機能を利用します。

SMART値を確認するには、それ用のツールを使う必要があります。
Windowsが起動できない状態でSMART属性値を確認するには、たとえばHDAT2とかを使います。
確認すべき具体的SMART属性値については、下記ページを参考にしてみてください。

SMART属性値と不良セクタ