Windowsでデュアルブートメニューが表示されない場合のトラブルシューティング方法
WindowsとLinuxのデュアルブート環境で動作している場合、起動時にブートメニューが表示されないという問題に遭遇することはよくあります。すべて正しくインストールしたはずなのに、なぜかgrubやブートオプションが隠れていたり、Windowsがプロンプトを表示せずに勝手に起動したりして、イライラさせられます。ブートメニューが無効になっている場合や、システム設定でブートメニューが表示されない場合などもあります。この問題の解決は、特にBIOSやコマンドラインの操作に慣れていない場合は必ずしも簡単ではありませんが、通常はいくつかの対策を講じることで解決できます。
これらの修正は、基本的にブートメニューを再度有効にしたり、OSを選択できるまでシステムが十分な待機時間を確保したりするのに役立ちます。場合によっては、タイムアウトを調整したり、ブート構成をリセットするだけで解決することもあります。ただし、Windowsのアップデート後や高速スタートアップを有効にすると、一部の設定ではメニューが突然消えてしまうことがあるので、少し奇妙です。そのため、メニューが表示されないことにお困りの場合は、以下の手順に従ってください。同様の問題が発生している複数のマシンで効果がありました。
Windowsでデュアルブートオプションが表示されない問題を解決する方法
方法1: コマンドプロンプトからブートメニューをオンにする
これはおそらく最も手軽な解決策で、再起動時にブートメニューが全く表示されない場合に適用できます。Windows によっては、メニューの表示が無効になっている場合や、デフォルトでオフになっている場合があります。コマンドプロンプトで簡単なコマンドを実行してメニューを再度有効にすると、メニューが再び表示されるようになります。ここでのポイントは、Windows がブート構成データ (BCD) を使用しており、これが壊れているとブートメニューが表示されなくなることです。CMD を管理者として実行することをお勧めします。スタートボタンを右クリックするか、キーを押してWindows + X[コマンドプロンプト (管理者)] または [Windows ターミナル (管理者)] を選択します。
次のコマンドを入力します:
bcdedit /set {bootmgr} displaybootmenu yes
エラーなく実行された場合、「操作は正常に完了しました」というメッセージが表示されます。次に、PCを再起動します。場合によっては2回ほど再起動が必要になることもありますが、ある設定ではすぐに機能する一方で、別の設定では起動時にメニューが表示されるまでに1~2回の再起動が必要になることもあります。表示されない場合は、次にBIOS設定を確認してください。
方法2:Windowsのブートメニューを長く表示する
これはどちらかと言うとタイミングの問題です。ブートメニューは表示されますが、OSを確認したり選択したりする時間が足りないのです。Windowsには、自動起動までの待機時間を設定できます。これが0秒に設定されていると、メニューは表示されずにWindowsの画面が表示されます。これを例えば30秒に変更すれば、Linux、Windows、あるいはその他のOSを選択するのに十分な時間が得られます。
変更方法は次のとおりです。
- を押してWindows + S、「Advanced System Settings」と入力し、Enter キーを押します。
- 新しいウィンドウで、[起動と回復] の下の[設定] をクリックします。
- 「オペレーティングシステムの一覧を表示する時間」というオプションを見つけてください。0秒に設定されている場合は、30秒以上に増やしてください。必要に応じて、「デフォルトのオペレーティングシステム」の設定を調整することで、カウントダウン時間を長くすることもできます。
- 「OK」をクリックして再起動してください。これで、再起動時にメニューがしばらく表示され、必要なものを選択できるようになります。
Windows が依然としてメニューをスキップする場合は、ブート構成を再度確認するか、次の方法を試してください。
方法3: システム構成を使用してブートタイムアウトを調整する
設定するもう一つの方法は、msconfig と呼ばれるシステムツールを使うことです。これは非常に簡単ですが、アップデートやWindowsの不具合によってリセットされてしまうことがあります。
- を押してWindows + R、 と入力し
msconfig、Enter キーを押します。 - ブートタブに切り替えます。ここで、WindowsがデフォルトのOSを起動するまでの待機時間(秒数)を指定するタイムアウト設定が表示されます。
- 少なくとも 30 秒に設定してください。そうすれば、自動起動させるのではなく Linux を選択したい場合にキーを押す時間が十分に得られます。
- 「適用」をクリックし、「OK」をクリックします。再起動して、メニューが表示され、しばらくそのままになっているかどうかを確認します。
Windows がまだ自動的に起動して起動しない場合は、BIOS の起動順序を再確認し、最初に grub メニューが有効にされずにプライマリ ブート デバイスが Windows ブート マネージャーに直接設定されていないことを確認してください。
方法4:ブートメニューが非表示にならないように高速スタートアップを無効にする
高速スタートアップは起動を高速化する奇妙な機能ですが、一部のチェックや遅延を回避してしまうため、デュアルブート環境では問題を引き起こす可能性があります。この機能を無効にすると、場合によっては改善される可能性があります。特に、素早くログインした後にメニューが表示されない、あるいはWindowsの起動が速すぎてLinuxを選択できないといった場合などに有効です。
オフにするには:
- コントロール パネル を開き、電源オプション に移動します。
- 左側のサイドバーから [電源ボタンの動作を選択する] を選択します。
- 上部の現在利用できない設定を変更しますをクリックします。
- シャットダウン設定 で、高速スタートアップを有効にする (推奨) のチェックを外します。
- 変更を保存 をクリックしてPCを再起動します。これにより、通常、ブートメニューの表示がより永続的になったり、少なくとも起動時の制御が強化されたりします。
注意: 場合によっては、高速スタートアップを無効にすると起動の問題が解決することがありますが、起動時間が少し遅くなる可能性があります。
追加のヒント: BIOS設定と起動順序を確認する
もちろん、Windowsは必要以上にハードルを高く設定する必要があり、一部のBIOS設定はWindowsの設定を上書きします。念のため、再起動してBIOS/UEFI設定を開き、ブート順を確認してください。手動で設定している場合は、UbuntuまたはLinuxドライブがWindowsドライブよりも前になっていることを確認してください。また、セキュアブートやUEFI/レガシーブートなどのオプションも確認してください。これらのオプションは、ブートメニューの表示を妨げたり、消えたりすることがあります。
一部のマザーボードでは、起動時に ブートメニュー キー(Esc、F12、Delなど)が別途用意されています。起動時にそれらのキーを押し、ブートメニューが表示されるかどうかを確認してください。そうすれば、お好みのOSを手間をかけずに直接選択できます。
正直に言うと、Windowsのブートメニューが消えるのは困りものですが、これらの調整で大抵は元に戻ります。自分の環境に合った方法を見つけるには、少し試行錯誤するだけで済む場合もあります。
まとめ
bcdedit /set {bootmgr} displaybootmenu yesCMD(管理者)でブートメニューを再度有効にします- システム構成 または 詳細システム設定 で タイムアウト を増やします。
- 電源オプションで高速スタートアップを無効にする
- BIOSのブート順序を確認し、必要に応じてセキュアブートを無効にします
まとめ
これらの修正方法を試すことで、デュアルブートメニューが再び表示され、作業が少し楽になるかもしれません。システムがブートオプションを非表示にしてしまうのは、特にLinuxとWindowsを共存させている場合、非常に面倒です。通常、これらの方法のいずれかで問題は解決します。場合によっては、数回再起動したり、設定を変更したりする必要がありますが、それでも解決します。この方法が、誰かが頭を悩ませる事態を避けるのに役立つことを願っています。