「スタートアップ修復」とは何か

起動トラブルの自動修復

「スタートアップ修復」は、Vista以降で使えるようになったWindowsの機能です。
主に、Windowsが正常起動できないときに、自動的に実行されます。
また、「システム回復オプション」から選択して実行することもできます。

スタートアップ修復

これは、「Windows RE」の主要機能のひとつです。
Windowsの起動について、自動修復しようとするものです。
最近のWindowsでは、ハードディスクに「Windows RE」をインストールしているため、
起動できないトラブルを「スタートアップ修復」によって自動修復することができます。

ただし、何でも修復できるわけではありません
ハードウェアトラブルはもちろんですが、ソフトウェアトラブルでも修復できるものは限られています。
「スタートアップ修復」の名のとおり、修復できるのは起動に関するソフトウェアトラブル、
しかも、その特定部分だけです。

「スタートアップ修復」でできること

「スタートアップ修復」の目的は、Windowsが起動できないトラブルを自動的に修復することです。
従来からあった「セーフモード」では修復できない症状が修復できます。
というか、どちらかというと「セーフモード」ですら起動できない状況を打開するためのものです。
つまり、「スタートアップ修復」が修復対象とするものは、「セーフモード」よりもっと原始的なところにあります。

「セーフモード」や「システムの復元」とは、やっていることも修復対象も違います。
「スタートアップ修復」、「システムの復元」、「セーフモード」は、それぞれ相互補完的なものです。

個人的に、「スタートアップ修復」による修復が確認できたものを挙げます。

  • MBR
  • 起動に関するシステムファイル

ただし、いずれもどんな状況からでも完全に修復できるわけではありません。
詳細は後述します。
でも、今までWindowsが苦手としていたMBRのトラブルについて修復できるというのは大きいです。

今までは、パーティションテーブルにおいて問題が発生すると、お手上げになってしまうことが珍しくありませんでした。
復旧方法がなかったわけではないのですが、
まず原因箇所に気がつきにくく、復旧方法も誰でも簡単にできるものではなかったからです。
それらを自動的に行ってくれるのが、「スタートアップ修復」です。
MBRに関しては、パーティションテーブルを含めほとんど修復することができます

また、Windowsのシステムファイルについても一部修復してくれます。
システムファイルが壊れた場合には、そのファイル自体を保存し直す必要があります。
XPだと、「修復インストール」によってWindowsのシステムファイルを丸ごと上書きできました。
そこまで大々的なものではありませんが、
「スタートアップ修復」で起動に関するシステムファイルを修復することができます。

「Windows RE」は、基本的にVista以降のWindowsと同じ仕組みで動いているので、
起動に必要なシステムファイルは、「Windows RE」自体が持っています。
また、システムを修復するためのツールを数多く備えた修復用の環境が、「Windows RE」です。
つまり、こういうことをするためにある存在です。

ただ、起動に関するトラブルが発生すると、ハードディスクから一切起動できなくなることがあります。
そんな状況でも、システム修復ディスクを利用すれば、「スタートアップ修復」を実行することができます。
むしろ、「スタートアップ修復」は、「システム修復ディスク」から実行することに意味があります
ハードディスクから起動できないからといって、何もできないわけではないのです。

「スタートアップ修復」の問題点

「スタートアップ修復」は、いろんな起動トラブルを自動的に修復してくれるので、
ユーザー側にとっては簡単でありがたいんですが、反面、デメリットがあります。

時間がかかる

まず、良くも悪くも全自動でやっているため、とにかく時間がかかります。

自動修復とはいっても、人間のように総合的に判断しているわけではなく、
決められたアルゴリズムに従って順次実行しているだけです。
自動的にありとあらゆる場所を見に行くので、非常に長い時間がかかることがあります。

修復できないことがある

この問題を自動的に修復できません - スタートアップ修復

「Windows RE」としては修復できることでも、「スタートアップ修復」では修復できないことがあります。
これは、「スタートアップ修復」が問題点をうまく検出できないためです。
修復できなかったとしても、作業が完了すれば、
「診断と修復の詳細の表示」を選択することで、具体的に何をやってきたのかを確認できます。

アルゴリズムの問題もありますが、「スタートアップ修復」の仕様でもあります。
「スタートアップ修復」は自動的な修復作業なので、自動的にデータを書き込みます。
何でもかんでも修復しようとすると、健全な箇所にまで変更を加えてしまう恐れが出てきます。
このため、既存の状態を極力優先して、明らかに間違いである場合にのみ修正しているようです。
「疑わしきは罰せず」みたいなことでしょうか。

たとえば、パーティションテーブルでアクティブパーティションが間違って設定されていても、
「スタートアップ修復」では修正できないことがあります。

また、「スタートアップ修復」は、すべてのシステムファイルを修復できるわけではありません
すべてのシステムファイルを修復するなら、それこそWindowsの再インストールが必要になります。
そもそも、「Windows RE」のデータサイズからして1GBもありません
それほど多くのシステムファイルを修復できるわけではないのです。

完了するまで何をやっているのかわからない

自動だから当然なんですが、今、具体的に何をやっているのかがわかりません。
「スタートアップ修復」が完了すれば、作業内容を確認することができます。
でも、実行中は一切わかりません。

これで困るのが、「スタートアップ修復」が応答しなくなったときです。
まだ読み込みしか行ってないのか、もうすでに何らかの変更を加えた後なのか、
データを書き込んだとすればどこに何を書き込んだのか、
一切わからないのです。

このため、「スタートアップ修復」を途中で強制終了した場合、復旧が困難になります

対応策

一旦「スタートアップ修復」が実行されたら、どれだけ時間がかかっても、作業を完了させてください。
状況によっては、何時間もかかることがあります。
丸一日放置して様子を見る、ぐらいのつもりでちょうどいいかもしれません。

延々と「スタートアップ修復」を繰り返す場合は、修復できる可能性が低いですから、
再起動したタイミングでBIOS設定画面を表示するなどして一旦処理を止め、電源を切ったほうがいいです。

逆に、原因が特定できているのであれば、手動で対応したほうが早くて確実です。
しかも、「スタートアップ修復」では修復できないケースについても復旧できます。
ブートセクタの修復については、下記ページ参照。

また、システムファイルに関して、
「スタートアップ修復」では完全には修復できず、かつトラブルの原因になりやすいものに、
レジストリがあります。
レジストリを完全に置き換えるには、「システムの復元」を使います
システム回復オプション」や「セーフモード」から「システムの復元」を実行することで、レジストリを復旧できます。
ただし、「システムの復元」も万能ではありませんが。

修復できるシステムファイルのほうが少数ですので、
どうしても復旧できないのであれば、最終的にはリカバリが必要です。

起動時に「スタートアップ修復」が自動実行されるようなら、ハードディスクそのものに原因がある可能性も考えられます。
もしハードディスクの物理障害が原因であれば、
ソフトウェア的な対応以前に、内蔵ハードディスクを交換する必要があります。