Windows で「コンピューターが予期せず再起動しました」または「予期しないエラーが発生しました」という問題を解決する方法

クリーンインストールや大規模なWindowsアップデート、あるいはSysprepを使ってカスタムリファレンスイメージを作成しようとした時に、「コンピューターが予期せず再起動したか、予期しないエラーが発生しました」というエラーに遭遇した経験があるなら、それがどれほどイライラするかご存知でしょう。エラーはループし、OKをクリックしても何も変わりません。再起動しても、また同じエラーが表示され、まるでWindowsがあなたをからかっているかのようです。さらに悪いことに、ちょっと奇妙ですが、通常の再起動の方法は効果がありません。このエラーはWindows 10、11、あるいはそれ以前のバージョンでも発生する可能性があり、特にインストールが中断されたり、レジストリ設定が少しおかしくなったりすると、頻繁に発生します。

基本的に、この修正方法は、回復環境からレジストリを適切なタイミングで操作するというものです。それも、コンピューターが再起動する前にレジストリにアクセスできればの話ですが。複雑に聞こえますが、正しい手順に従えば問題なく実行できます。この方法は、Windowsに問題のある段階をスキップさせて次のステップに進むように強制するため、試してみる価値があります。設定によっては1回試すだけで変更が反映される場合もあれば、1~2回の再起動が必要になる場合もありますが、通常はインストールを正常に完了させるのに十分です。

Windowsインストール中に「予期しない再起動」ループが発生する場合の対処法

方法1: Windowsセットアップ中にレジストリ値を変更する

この方法は、Windowsのインストール段階を制御するレジストリキーを調整することで、セットアップの内部フラグを操作することで機能します。このレジストリ値が「1」に設定されていると、Windowsは停止する可能性がありますが、「3」に変更すると、セットアップはスキップして先へ進むよう指示され、実質的に「そのまま進む」ことになります。この修正は、Windowsのインストール完了後ではなく、セットアップ中にエラー画面で停止した場合に適用されます。

やるべきことは次のとおりです:

  • Windowsインストールメディア(USBまたはDVD)から起動します。まだメディアを作成していない場合は、Microsoftメディア作成ツールを使用して新規インストーラーを入手してください。
  • Windowsのセットアップ画面が表示されたら、 を押しますShift + F10。そう、このショートカットでエラー画面上でコマンドプロンプトが開きます。ノートパソコンによっては、Shift + Fn + F10キーボードのレイアウトによってはコマンドプロンプトが開く場合もあります。
  • コマンドプロンプトから次のコマンドを実行します。
regedit

するとレジストリエディタが起動しますが、リカバリモードから実行しているので少々面倒です。オフラインレジストリハイブを読み込む必要があります。

  • 次のように入力して、現在のセットアップのレジストリ ハイブに移動します。
  • reg load HKLM\TempHive W:\Windows\System32\Config\System

    Windows インストールのドライブ文字に置き換えてくださいW:。必ずしも W であるとは限りません。私の場合は、頻繁に W になります。確認するには、 を実行してdiskpartから を実行すると、list volWindows パーティションに割り当てられているドライブ文字を確認できます。

    ハイブを読み込んだら、レジストリ エディターで次のパスに従います。

    HKEY_LOCAL_MACHINE\TempHive\Mylocal\Setup\Status\ChildCompletion

    DWORDを見つけますsetup.exe。おそらく値は です1。それを に変更します3。この調整は少し怪しいように思えるかもしれませんが、Windows セットアップにスタックステージをスキップするように指示するだけです。

  • 完了したらハイブをアンロードします。
  • reg unload HKLM\TempHive

    レジストリ エディターを閉じて、次のコマンドで PC を再起動します。

    shutdown -r -t 0

    再起動後にインストールが進むことを願っています。不思議なことですが、一部のマシンではこの方法が1回目で完璧に機能します。そうでない場合には、1、2回の再起動が必要になりますが、試してみる価値はあります。

    オプション2: 自動再起動を無効にしてエラーを早期に発見する

    PCの再起動が速すぎて変更が反映されない場合、または変更するチャンスが全くない場合は、Windowsをインストールする前にシステム障害発生時の自動再起動を無効にするという方法もあります。これはよくある対策で、WindowsはBSODやエラーが発生すると、修正する機会を与えずに再起動してしまうことがあるためです。

    これを実行するには:

    • Windows インストール メディアから再度起動し、 でコマンド プロンプトを開きますShift + F10
    • 前の方法と同様に、オフライン Windows ドライブのレジストリ ハイブをロードします。reg load HKLM\Offline W:\Windows\System32\Config\System
    • 次の場所に移動します:
    HKEY_LOCAL_MACHINE\Offline\ControlSet001\Control\CrashControl
  • AutoRebootの値を0に変更します。これにより、クラッシュ後の自動再起動が無効になります。
  • reg add "HKLM\Offline\ControlSet001\Control\CrashControl" /v AutoReboot /t REG_DWORD /d 0 /f
  • ハイブをアンロードして再起動すると、BSODが発生した場合でも、何が起こっているか確認できるまで画面が表示された状態になります。その後、最初の方法でレジストリの調整をもう一度試してください。
  • さて、なぜこれが重要なのでしょうか?インストールが何度も再起動する場合、実際のエラーメッセージが表示されない可能性があります。自動再起動をオフにすることで、その可能性が高まります。根本的な原因がドライバーやハードウェアの問題、あるいはメディアの破損である場合があり、修正するにはエラーメッセージを確認する必要があるからです。

    他のすべてが失敗した場合、新規インストールが最も速い方法かもしれません

    これらのレジストリ調整とコマンドラインツールを試しても問題が解決しない場合は、クリーンインストールを検討すべきでしょう。メディア作成ツールを再度使用し、新しい起動可能なUSBメモリを作成し、ドライブを消去してください(もちろん、事前にデータをバックアップしてください)。インストールイメージや既存のパーティションが何らかの理由で破損している場合があり、その場合は最初からやり直すしかありません。

    まとめ

    • セットアップ中に Shift + F10 を押すと、エラー画面からコマンド プロンプトが開きます。
    • オフライン レジストリ ハイブを読み込み、HKEY_LOCAL_MACHINE\Mylocal\Setup\StatusでChildCompletion を3 に設定します。
    • Hive をアンインストールし、再起動して、Windows がインストールを継続するかどうかを確認します。
    • 再起動が速すぎる場合は、レジストリで自動再起動を無効にして、エラー メッセージを取得します。
    • 他の方法がすべて失敗した場合、特にイメージやパーティションが破損している場合は、新規インストールを検討してください。

    まとめ

    この一連の作業は確かに面倒です。しかし、レジストリにアクセスしてその値一つを微調整できれば、Windowsのインストールをループから抜け出せる可能性があります。これは一種のハックですが、驚くほど多くの環境でうまくいきます。Windowsが行き詰まった状態から抜け出すには、ほんの少しの刺激、あるいは優しく押し出すだけで十分だと感じる時があります。この方法が、誰かの無限ループを、頭を抱えることなく乗り越える助けになれば幸いです。幸運を祈ります!