選択する起動デバイスが多すぎます。

選択する起動デバイスが多すぎます。

私は2つの別々のm.2 SSDを使用してWindows 11とDebian 12をデュアルブートします。

  1. サムスン980プロ:Debian 12
  2. CT10000P3SSD8(必須):Windows 11

他の物理パーティションまたはパーティションはありません。

2つのオペレーティングシステムを切り替える必要がある場合は、起動時にF12を押してオペレーティングシステムを選択します。以下を参照してください。

ここに画像の説明を入力してください。

私の質問はなぜそんなに多くのオプションが表示されますか? Debian Samsung SSD 980 ProとCT10000P3SSD8の2つのオプションのみがリストされています。どうすればいいですか?

lsblk -o +PARTUUIDとsudo efibootmgr -v両方のコマンドを実行して更新します。

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS PARTUUID
nvme0n1     259:0    0 465.8G  0 disk             
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi   c87cc3b1-6e6b-4345-af08-8340743d0670
├─nvme0n1p2 259:2    0 464.3G  0 part /           c77cf17f-b626-4c68-af3a-c96c1e90c025
└─nvme0n1p3 259:3    0   976M  0 part [SWAP]      b7e19d19-aab0-40a2-989c-38215499d658
nvme1n1     259:4    0 931.5G  0 disk             
├─nvme1n1p1 259:5    0   100M  0 part             daec26ee-01
├─nvme1n1p2 259:6    0 930.8G  0 part             daec26ee-02
└─nvme1n1p3 259:7    0   674M  0 part             daec26ee-03

username on debian ~ took 12ms ❯ efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 000A,0007,0009,0000,0006
Boot0000* debian        HD(1,GPT,c87cc3b1-6e6b-4345-af08-8340743d0670,0x800,0x100000)/File(\EFI\DEBIAN\SHIMX64.EFI)
Boot0006  Windows Boot Manager  HD(1,GPT,c87cc3b1-6e6b-4345-af08-8340743d0670,0x800,0x100000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0007* debian        HD(1,GPT,c87cc3b1-6e6b-4345-af08-8340743d0670,0x800,0x100000)/File(\EFI\DEBIAN\GRUBX64.EFI)..BO
Boot0009* Samsung SSD 980 PRO 500GB     BBS(HD,,0x0)..BO
Boot000A* CT1000P3SSD8  BBS(HD,,0x0)..BO

答え1

いくつかの背景

Windows Boot Managerと同じ名前のブートエントリが表示されるため、debianUEFI基本モードで名前付きオペレーティングシステムを起動するUEFIファームウェアを搭載したシステムがあります。指定されたブートエントリの1つにWindowsが含まれているため、Microsoftがパーティションスタイルとファームウェアタイプの選択を意図的にまとめているため、ディスクがGPTパーティションスタイルを使用することを意味します。 Windowsは従来のBIOSとMBRの組み合わせのみをサポートしています。 UEFI + GPT:Linuxとは異なり、2つのグループを混在させることはできません。

ほとんどのUEFIシステムは依然としてBIOSの互換性サポートモジュール(CSM)を実行できますが、Microsoft Windows 8.1認証要件のためデフォルトで無効にすることができます。

BIOS互換モードでは、デフォルトでディスクベンダー/モデル名以外のラベルなしで起動したいディスクを選択するだけです。ディスクのマスターブートレコード(MBR)内のコードは、次に何が起こるかを決定します。既存のWindows MBRは、起動フラグが有効になっているデフォルトのパーティションを見つけます。 GRUBのBIOSバージョンはパーティションブートフラグを無視し、その設定に従います。

UEFIモードで起動ターゲットを完全に識別するには、理想的には次のものも指定する必要があります。分割そして起動ファイル名そのパーティションに。 UEFIファームウェアには、FATタイプのファイルシステム(通常exFAT)でフォーマットされたパーティションからファイルを読み取る機能が組み込まれています。 GPTパーティション内には、「EFIシステムパーティション」または縮小してESPと呼ばれる指定されたパーティションタイプがあります。これには、ESPを含むディスクにインストールされているすべてのオペレーティングシステム用のブートローダが含まれると予想されます。

同じディスクに複数のESPがある可能性がありますが、ファームウェアレベルの起動選択UIは常にこれをサポートしているわけではないため、お勧めしません。システムのブートメニューにはパーティション番号が表示されないため、ディスクごとに複数のESPを表示するのに問題があるか、少なくともブートエントリを区別するのにさらに問題がある可能性があります。

UEFIブートモードでは、インストールされているオペレーティングシステムは次のものを定義する必要があります。UEFI NVRAM ブート変数:これにより、特定のESPパーティションの特定のブートファイルを指す名前付きブートエントリが作成されます。

特定の UEFI ブート可能メディアにブート変数が定義されていない場合、UEFI ファームウェアは以下を見つけることができます.リムーバブルメディア/代替ブートファイル:64ビットx86ハードウェアでは、<ESP mountpoint>/EFI/BOOT/BOOTx64.efiFATファイルシステムタイプは大文字と小文字を区別する必要があります。


あなたのシステム

下部の2つの開始項目(除外設定にショートカット)は実際には「このディスクの最初のESPにあるリムーバブルメディア/代替ブートファイルからUEFIモードで起動しようとします」または「レガシーBIOSモードでこのディスクから起動しようとします」を意味できます。残念ながら、ブートメニューインタフェースは、どちらのどちらかについての手がかりを提供しません。

Linuxefibootmgr -v出力は、それに関連付けられているUEFIデバイスパスがあることを示しますBBS(HD,,0x0)..BO。ここでBBSはBIOS起動仕様、これはUEFIより前であるため、これら2つのエントリはレガシーBIOSモードで起動するように見えます。

の2つの項目は、「セキュアブートサポートが有効になっているDebian」(、ブートファイルとして指定)と「セキュアブートサポートがないDebian」(、shimをスキップしてすぐに移動)debianとして表示されます。efibootmgr -vBoot0000\EFI\DEBIAN\SHIMX64.EFIBoot0007\EFI\DEBIAN\GRUBX64.EFI

2番目のディスクのPARTUUID文字列が短いのを見ると、WindowsディスクがMBRパーティションに分割されているようです。これは、Windowsの場合はBIOSモードで起動することを意味します。これは、ブートメニューの「Windowsブートマネージャ」エントリが以前のインストールの機能しない残りのエントリである可能性があることを示します。そして、)実際、Linuxでは起動変数にあることを確認してBoot0006から、efibootmgr次のように削除できます。

sudo efibootmgr -b 0006 -B

セキュアブート互換性メソッド(この行)BootCurrent: 0000を使用してDebianを正常にブートしたことを示します。Boot0000システムの将来の競争力のために引き続き使用することをお勧めします。Boot0007次のコマンドを使用して、Debian()の非セキュアブートエントリを削除できます。

sudo efibootmgr -b 0007 -B

残念ながら、WindowsディスクはまだMBRパーティションであるため、WindowsがレガシーBIOSで起動する必要がある限り、上記の2つの起動エントリを削除することはおそらく最善の選択です。ファームウェアはすべての起動可能および起動不可能なMBRの起動コードの内容を知ることができないため、SamsungディスクのMBRが実際にBIOSスタイルの起動可能であることを確認できないため、安全のためにとにかく表示されます. 。メニューアイテム。

従来のBIOS互換モードを無効にすると、下部の2つの起動オプションが削除されますが、WindowsがMBRパーティションディスク上にある限りこれを行うことはできません(Windows 11で静かにUEFI + MBRパーティションディスクの組み合わせのサポートを追加しない限り)。 。

ファームウェアの設定が完全​​に失われても Debian を簡単に起動するには (システム ベンダーによって BIOS アップデートが原因で発生する可能性があります)、リムーバブル メディア パスに Debian ブートローダをインストールする必要があります。

sudo grub-install --uefi-secure-boot --force-extra-removable /dev/nvme0n1

これにより、「Samsung SSD」ブートエントリに一種の「UEFI」アノテーションを追加したり、他のメニューエントリを完全に追加したりできます。ファームウェアの実装はさまざまなので、試していないと確かにわかりません。

答え2

あなたが見ているのはUEFIとマザーボードの機能です。自宅ではASROCKを使用し、職場ではDell Optiplexを使用しても同様のことが起こります。

まず、F2やDELなどを押してBIOS / EFIに入り、タブに移動してboot各メニュー項目を見て、どのディスクを参照しているかを確認します。参照用にこの情報を記録してください。重複した内容が表示されます。次に、そのメニュー項目をすべて削除し、最初から再度追加し、各ディスクからブートファイルを選択し、それに応じて名前を付けます。win11, Debianなど。

SSDが2つだけ接続されている場合は、上の図に2つのメニュー項目しか表示されないことが予想されます。追加のディスクが接続されている場合は時々表示されることがあり、ディスクが入ったときにEFIブートメニューの項目が残っている可能性があります。

クリーンアッププロセス中に奇妙な動作が発生した場合は、マザーボードにBIOSアップデートがあることを確認してください。

答え3

私のシステム(この質問とは関係のない詳細)では、BIOS / UEFIが「ブートデバイス」と呼ばれるのは実際には物理デバイスやパーティションではなくブートローダです。上からefibootmgr -v見ると、2つの異なるブートローダ(およびコンテキスト別のデュアルブートの場合は、Windowsブートローダなどのさまざまgrubshimシステムで異なるブートローダを実行するために使用されるデフォルトのブートローダ(あなたの場合はgrub)を使用して動作します。

これがメニューに2つのDebianエントリがリストされている理由を説明できます。これが実際にDebian 12のデフォルトのブートローダであるかどうかはわかりませんがshim(grubにチェーンロードシムが必要な理由を説明しています)、grubを使用するように切り替えることはそれほど難しくありません。ここから実行してos-proberWindowsブートローダを見つけ、grubメニューにブートエントリを追加できます。

私はこれがこの問題に対する解決策になると確信しています。また、両方の起動オプションは有効ですか?それ以外の場合はチェーンローディングが発生しない可能性がありますが、チェーンローディングが中断された場合はとにかく削除できます。ご質問がございましたら、喜んでお答えいたします。 :D

関連情報