[System Environment] | |||||
Windows 2000が起動不能になったときには―― [前回正常起動時の構成]を利用する ―― デジタルアドバンテージ2001/05/15 |
今まで何の問題もなく使えていたWindows 2000システムに新しいデバイスを追加したら、起動しなくなってしまった。そんな経験のある読者は少なくないだろう。原因は追加したハードウェア自体にあるのかもしれないし、ハードウェアの追加によって新たにWindows 2000システムに追加されたデバイス・ドライバにあるのかもしれない。しかしこのとき、ユーザーがまず望むのは、追加したデバイスを有効にできなくてもよいから、以前の正常なWindows 2000システムを取り戻すことだ。システム起動後の問題、例えばアプリケーションの問題なら、それを運用で回避することも十分可能だが、こうしたシステムの起動に関連するトラブルでは、それが許されないから厄介である。最悪の場合は、ハードディスクの内容をフォーマットして、Windows 2000システムを再インストールする必要があるかもしれない。
しかしそのような「最悪のシナリオ」に一足飛びに行く前に、Windows 2000には、このような場合でもシステムを正常起動させるいくつかの方法が用意されている。このうちWindows 2000の初心者ユーザーでも試すことができる最も手軽な方法は、セーフ・モードから[前回正常起動時の構成]を選択してシステムを再起動してみることだ。
レジストリ内に記録された複数のコントロール・セット
具体的な手順を説明する前に、この機能の背景を理解しておこう。Windows 2000を起動すると、システム構成などに応じて必要なドライバがロードされ、各種サービスが起動されて、ログオン・プロントが表示される。これら、Windows 2000 OSを起動するために必要なドライバやサービスなど一連の情報は、レジストリのHKEY_LOCAL_MACHINE\SYSTEMキーのサブ・キーとして記録されている。これらは「コントロール・セット」と呼ばれる。こうしてレジストリ内に記録されるコントロール・セットは1つではなく、万一に備えていくつかのバックアップが記録されている。以下は、レジストリ・エディタを起動して、HKEY_LOCAL_MACHINE\SYSTEMキーの内容を表示したところである。画面にある[ControlSet001]や[ControlSet003]、[ControlSet004]がそれぞれコントロール・セットだ。この例では、3つのコントロール・セットが記録されているが、システム設定の変更回数などによって、さらに多くのコントロール・セットがレジストリに記録されることもある。逆にコントロール・セットは、最低でも2つ記録されるようになっている。
レジストリ・エディタでHKEY_LOCAL_MACHINE\SYSTEMキーのサブ・キーを表示したところ | |||||||||||||||||||||
Windows 2000システムの起動時にロードされるデバイス・ドライバ、サービスなどの一連の情報は「コントロール・セット」と呼ばれ、レジストリ内に記録されている。万一のトラブル時に備えて、レジストリには複数のコントロール・セットが記録されている。 | |||||||||||||||||||||
|
画面からも分かるとおり、レジストリ中に記録された複数のコントロール・セットがどのように使用されるのかは、同じくHKEY_LOCAL_MACHINE\SYSTEM\Selectの各エントリに記録されている。例えばエントリの値が「1」なら、「HKEY_LOCAL_MACHINE\SYSTEM\Select\ControlSet001」を識別し、値が2なら「ControlSet002」を識別するといった具合になる。
サブ・キー | 内容 |
Current | 現在のコントロール・セット、すなわちCurrentControlSetとして現在使用中のコントロール・セットを識別する。システムが正常に起動されると、この値で識別されるコントロール・セットがCurrentControlSetとなる。以後、システムの稼働中にコントロール・パネルやレジストリ・エディタなどで加えられた修正は、このCurrentControlSetに反映される |
Default | Windows 2000の次回の起動時に使用されるコントロール・セットを識別する。ここには、前回コンピュータをシャットダウンしたときに使用されていたコントロール・セットが保存されている。通常起動では、ここで識別されるコントロール・セットが使用され、システムが起動されることになる |
Failed | システムが起動不能になったときなど、ユーザーが[前回正常起動時の構成]を指定してコンピュータを起動したときに、「Default」として識別されていたコントロール・セットを識別する。つまり通常は、何らかの障害によって起動に失敗したコントロール・セットになる |
LastKnownGood | 最後にログオンに成功した段階でのコントロール・セットを別のコントロール・セットとしてバックアップ(コピー)したコントロール・セットを識別する。つまり、コントロール・セットの内容は、正常起動した最後のコントロール・セットと同じになる |
HKEY_LOCAL_MACHINE\SYSTEM\Selectサブ・キーのエントリと意味 |
操作手順と起動のシナリオ
少々込み入っていて分かりにくいので、ここで具体的な例を想定して、各コントロール・セットがどのように機能するのかを見ると同時に、今回の主題である[前回正常起動時の構成]機能の使い方について説明しよう。
例えば今、Windows 2000システムが正常に起動され、ログオンした状態にあるとしよう(直前のシャットダウンも正常終了したとする)。この段階では、コントロール・セットは次のようになっているはずだ。
コントロール・セット | 状態 |
Current | 現在稼働しているシステムのコントロール・セット |
Default | 直前にシャットダウンしたときに使用されていたコントロール・セット。直前のシャットダウンが成功しているので、この例ではCurrentのコントロール・セットと同じ |
Failed | 通常起動なので([前回正常起動時の構成]を選択して起動したわけではないので)、対象となるコントロール・セットはなし(値は0) |
LastKnownGood | ログオンに成功したときのコントロール・セットを別のコントロール・セットとしてコピーしたもの。内容自体はCurrentのコントロール・セットと同じ |
システムが正常に起動した状態での各コントロール・セットの内容 |
ここで、何らかの新しいハードウェア・デバイスを追加して、デバイス・ドライバを組み込んだとしよう。新しいデバイスの追加により、システムの再起動が必要になったとする。ここでシステムをシャットダウンすると、コントロール・セットは次のようになる。
コントロール・セット | 状態 |
Current | 不定(システムは稼働中でないため) |
Default | 新しいデバイスの追加情報が反映され、シャットダウン処理時に保存されたコントロール・セット。次回の起動時に使用されるコントロール・セットを識別する |
Failed | 不定 |
LastKnownGood | 前回のログオンに成功したときのコントロール・セットを別のコントロール・セットとしてコピーしたもの。つまりデバイスの追加情報を含まないコントロール・セットを識別する |
デバイスを追加し、システムをシャットダウンした段階での各コントロール・セットの内容 |
システムを通常の方法で再起動すると、「Default」で識別されるコントロール・セットが使用される。表中に示したとおり、このコントロール・セットには、直前に追加したデバイス情報が記録されている。しかし、ここで追加したデバイスやデバイス・ドライバに何らかの問題があり、起動途中でハングアップしてしまったとしよう。直前まで正常に利用できていたWindows 2000システムが、新しいデバイスの追加によって起動不能になったのだから、これがハングアップの原因である可能性が極めて高い。原因を究明したいところだが、何はなくとも、システムが起動しなければ、頼みの[デバイス マネージャ]も使えない。
こんなときには、[前回正常起動時の構成]を選択してシステムを起動してみよう。これにはまず、本体のリセット・ボタンを押し、BIOSの初期化などが完了した後、Windows 2000の起動メニューが表示されたときに、[F8]キーを押す。すると次のような[Windows 2000拡張オプションメニュー]が表示される。
Windows 2000拡張オプションメニュー | |||
Windows 2000の起動時、起動メニューが表示されたときに[F8]キーを押すと、この拡張オプションメニューが表示される。ここでは各種セーフ・モードでの起動が選択できるほか、今回の話題である[前回正常起動時の構成]を選択してシステムを起動することが可能だ。 | |||
|
この[Windows 2000拡張オプションメニュー]では、各種セーフ・モード(起動デバイスを制限してシステム起動を試みるモード)を選択したり、ブート・ログの記録などを指定したりできる。今回の目的である、デバイス追加以前のコントロール・セットでシステムを起動するには、ここで[前回正常起動時の構成]を選択する。このオプションを選択してシステムを起動し、起動に成功してログオンにも成功したとすると、コントロール・セットは次のようになる。
コントロール・セット | 状態 |
Current | 直前に[LastKnownGood]のコントロール・セットとして識別されていたコントロール・セットが現在のコントロール・セットとして指定される。つまり、デバイスが追加される以前の、最後にログオンに成功した段階でのコントロール・セットが使われてシステムが起動される |
Default | 不定(この値はシステムのシャットダウン時に記録されるため) |
Failed | 直前に[Default]として識別されていたコントロール・セット。つまり、デバイスが追加され、起動不能になったコントロール・セット |
LastKnownGood | 上のCurrentで使用されているコントロール・セットをコピーした別のコントロール・セット。内容はCurrentのそれと同じ |
拡張オプションメニューから[前回正常起動時の構成]を選択してシステムを起動し、ログオンに成功した段階でのコントロール・セットの内容 |
こうして、デバイスを追加する以前のコントロール・セットを使ってシステムを再起動できるというわけだ。Windows 2000の起動では、デフォルトの起動(Defaultコントロール・セットを使用して起動)と、[前回正常起動時の構成]を選択して起動(LastKnownGoodコントロール・セットを使用して起動)のいずれかを選択できると言い換えることもできる。
ただし万能ではない
今回ご紹介したような、デバイスの追加によって起動不能に陥ったという典型的なケースのほか、起動に不可欠なデバイスのドライバを何らかの理由で無効にしてしまったなどの場合には、この方法で再起動できる可能性が高い。ただし、しくみを考えれば自明だが、この場合、追加したデバイスの情報だけでなく、CurrentControlSetに記録された他のレジストリ情報もすべて失われ、[前回正常起動時の構成]に戻ることになる。
一方、この方法をもってしても、コントロール・セット以外の問題、例えばハードウェア自身が原因になっているトラブルや、デバイス・ドライバ・ファイル自体が破壊されている場合などは再起動には成功しない。
とはいえ、システムが起動不能に陥ったら、慌ててWindows 2000の再インストールを検討する前に、これを試してみる価値はある。
なお、この[前回正常起動時の構成]オプションを始め、Windows 2000の各種トラブルシューティングについては、リソースキットに詳しく解説されている。幸運なことに、これについて解説した『Windows 2000 Serverリソースキット2 オペレーションガイド』の「14章 トラブルシューティングの基本方針」については、全ドキュメントがマイクロソフトのTechNet Onlineで公開されている。興味のある方は参照されたい(TechNet OnlineのWindows 2000リソースキット・サンプルのインデックス・ページ)。
関連リンク | ||
TechNet OnlineのWindows 2000リソースキット・サンプルのインデックス・ページ(マイクロソフト) | ||
この記事と関連性の高い別の記事
- デバイスドライバを強制的に変更する方法(TIPS)
- Windows 8を「確実に」セーフモードでブートさせる(TIPS)
- Windows Update適用後の自動再起動を抑制する(TIPS)
- Windowsで接続されていないデバイスの情報を表示させる(TIPS)
- マルチブート環境で、デフォルトで起動されるOSを変更する方法(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|