私は主にMX Linuxを使用しており、時々Windowsで起動する必要があるかもしれません。今日やってみましたが、グラップで窓が抜けましたね。
インストールしos-prober
てetc/default/grub
表示されることを確認しましたGRUB_DISABLE_OS_PROBER=false
。実行しsudo update-grub
て再起動しましたが、まだgrubにウィンドウがありません。
os-prober
MX 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-pc
がsda
。
どちらにもEFIシステムパーティション(ESP)がsda
ありますが、どちらのWindows UEFIブートマネージャ()も検出されません。sdb
\EFI\Microsoft\Windows\bootmgfw.efi
システムが最初にGPTで起動するように設定されているようです。その後、レガシーBIOSモードでインストーラを起動したときに(偶然でも無知でも)、MXの2番目のコピーをインストールして、GPTにレガシーBIOSスタイルをインストールしたようです。ブートローダでパーティション化されたディスク。そして、あなたのBIOSは現在UEFIよりもレガシーブートを好むようです。 MXのインストール中に、誤ってインストーラがsda1
Windows UEFIブートローダを含むESPをフォーマットすることを許可した可能性があります。
BIOSに現在の「レガシー優先、UEFI優先」ブートポリシーを「UEFIのみ」に変更できる設定がある場合は、後でこの混乱を避けるために「UEFIのみ」に設定してください。これにより、システムがsdb2
ルートファイルシステムを持つ現在のMXの代わりにMXインストールから起動する可能性がありますsda4
。
BIOSのブートポリシーを変更できない場合は、BIOSメニューに表示されているブートターゲットがUEFIかレガシーかを確認し、この時点からUEFIブートターゲットのみを使用する方法を見つける必要があります。
Windows UEFI ブートローダーは明らかに破損しているため、ブートローダーとその構成を再構築する必要があります。始めたらUEFIモードでWindows 10インストールメディアで「ブートリカバリ」機能を使用すると、自動的に正しい操作が実行されます。ただし、この操作中に一時的に切断または無効にすることができるため、sdb
WindowsはUEFIブートローダを再構築するために正しいディスクを選択する必要があります。 (Windows 10インストーラは、UEFI Windowsブートローダをインストールするために使用するディスクを選択する方法について時々奇妙なアイデアを持っていることが知られています。)
その後はWindowsに入ることができますが、必ずしもMXインストールに入る必要はありません。次のステップは(おそらく最新の)MXインストールを通常の状態に戻すことですsda4
。
MX LinuxにDebianと同様のリカバリモードがある場合は、MXインストールメディアから起動します。UEFIモードで、GRUBブートメニューから回復モードを選択し、ロケールとキーボードを選択すると、回復モードが開始されます。既存のMXインストールを自動的に検索して、インストールする項目を選択できます。選択するsda4
。サイレントインストール後にネットワークインターフェイスを有効にするかどうかを尋ねるメッセージが表示されます。はいと言う。次に、ルートシェルを提供し、インストールされたchroot
インストールにアクセスするためのコマンドを提案します。提案されたコマンドを使用してください。これで、インストール時に効果的にコマンドプロンプト専用モードになり、トラブルシューティングsda4
を開始できます。
まず、パッケージを削除しgrub-pc
、、、およびそのgrub-pc-bin
場所に(セキュリティブートを有効にできると思われる場合)、パッケージをインストールします。それから。efibootmgr
grub-efi-amd64
grub-efi-amd64-bin
grub-efi-amd64-signed
shim-signed
grub-install /dev/sda
その後、BIOS起動メニューには、起動するオペレーティングシステムの名前を示すエントリが含まれている必要があります。Windows Boot Manager
Windowsの場合は、MX Linuxのエントリがあるかもしれません。 「MX Linux」起動エントリをデフォルトの起動ターゲットに設定すると、すべての設定が完了します。
またefibootmgr -v
、UEFI NVRAMブート変数を見てその出力を理解する方法を学ぶには、rootとして実行する必要があります(難しいことではありませんが、UEFIにはまったく新しい機能であり、実際のレガシーBIOSには対応していません)。
時々BIOSをフラッシュすると、これらの起動変数が消去され、システムがWindowsでのみ再起動される可能性があります。しかし、印刷物とLinuxブートメディアがあれば、efibootmgr -v
非常に迅速に問題を解決できます。