起動メニューにWindowsが表示されない、Debian

起動メニューにWindowsが表示されない、Debian

私は主にMX Linuxを使用しており、時々Windowsで起動する必要があるかもしれません。今日やってみましたが、グラップで窓が抜けましたね。

インストールしos-proberetc/default/grub表示されることを確認しましたGRUB_DISABLE_OS_PROBER=false。実行しsudo update-grubて再起動しましたが、まだgrubにウィンドウがありません。

os-proberMX Linuxに戻って出力を実行すると、Windowsが見つかりませんが、/dev/sda4:MX 21.1 Wildflower (21.1 ):MX:linux同じSSDにWindowsがインストールされています。

どのように進むべきかはとても混乱しています。他に言うことがありますか?

編集:私は逃げましたbootinfoscript。結果は確かです。 MX Linuxを2回インストールしましたが、毎回別のSSDとWindows 10インスタンスにインストールしました。

起動情報スクリプトの結果

ベストアンサー1

Windowsでは、GPTパーティションシステムディスクを使用したUEFI起動のみを許可し、MBRパーティションディスクを使用した既存のBIOS起動のみを許可します。

システムsdaはGPTに分割されていますが、sda4レガシーBIOS起動フラグが有効になっています。そして接続されたbootinfoscripti386-pcsda

どちらにもEFIシステムパーティション(ESP)がsdaありますが、どちらのWindows UEFIブートマネージャ()も検出されません。sdb\EFI\Microsoft\Windows\bootmgfw.efi

システムが最初にGPTで起動するように設定されているようです。その後、レガシーBIOSモードでインストーラを起動したときに(偶然でも無知でも)、MXの2番目のコピーをインストールして、GPTにレガシーBIOSスタイルをインストールしたようです。ブートローダでパーティション化されたディスク。そして、あなたのBIOSは現在UEFIよりもレガシーブートを好むようです。 MXのインストール中に、誤ってインストーラがsda1Windows UEFIブートローダを含むESPをフォーマットすることを許可した可能性があります。

BIOSに現在の「レガシー優先、UEFI優先」ブートポリシーを「UEFIのみ」に変更できる設定がある場合は、後でこの混乱を避けるために「UEFIのみ」に設定してください。これにより、システムがsdb2ルートファイルシステムを持つ現在のMXの代わりにMXインストールから起動する可能性がありますsda4

BIOSのブートポリシーを変更できない場合は、BIOSメニューに表示されているブートターゲットがUEFIかレガシーかを確認し、この時点からUEFIブートターゲットのみを使用する方法を見つける必要があります。

Windows UEFI ブートローダーは明らかに破損しているため、ブートローダーとその構成を再構築する必要があります。始めたらUEFIモードでWindows 10インストールメディアで「ブートリカバリ」機能を使用すると、自動的に正しい操作が実行されます。ただし、この操作中に一時的に切断または無効にすることができるため、sdbWindowsはUEFIブートローダを再構築するために正しいディスクを選択する必要があります。 (Windows 10インストーラは、UEFI Windowsブートローダをインストールするために使用するディスクを選択する方法について時々奇妙なアイデアを持っていることが知られています。)

その後はWindowsに入ることができますが、必ずしもMXインストールに入る必要はありません。次のステップは(おそらく最新の)MXインストールを通常の状態に戻すことですsda4

MX LinuxにDebianと同様のリカバリモードがある場合は、MXインストールメディアから起動します。UEFIモードで、GRUBブートメニューから回復モードを選択し、ロケールとキーボードを選択すると、回復モードが開始されます。既存のMXインストールを自動的に検索して、インストールする項目を選択できます。選択するsda4。サイレントインストール後にネットワークインターフェイスを有効にするかどうかを尋ねるメッセージが表示されます。はいと言う。次に、ルートシェルを提供し、インストールされたchrootインストールにアクセスするためのコマンドを提案します。提案されたコマンドを使用してください。これで、インストール時に効果的にコマンドプロンプト専用モードになり、トラブルシューティングsda4を開始できます。

まず、パッケージを削除しgrub-pc、、、およびそのgrub-pc-bin場所に(セキュリティブートを有効にできると思われる場合)、パッケージをインストールします。それから。efibootmgrgrub-efi-amd64grub-efi-amd64-bingrub-efi-amd64-signedshim-signedgrub-install /dev/sda

その後、BIOS起動メニューには、起動するオペレーティングシステムの名前を示すエントリが含まれている必要があります。Windows Boot ManagerWindowsの場合は、MX Linuxのエントリがあるかもしれません。 「MX Linux」起動エントリをデフォルトの起動ターゲットに設定すると、すべての設定が完了します。

またefibootmgr -v、UEFI NVRAMブート変数を見てその出力を理解する方法を学ぶには、rootとして実行する必要があります(難しいことではありませんが、UEFIにはまったく新しい機能であり、実際のレガシーBIOSには対応していません)。

時々BIOSをフラッシュすると、これらの起動変数が消去され、システムがWindowsでのみ再起動される可能性があります。しかし、印刷物とLinuxブートメディアがあれば、efibootmgr -v非常に迅速に問題を解決できます。

おすすめ記事