4

を使用して新しい UEFI ファームウェア ブート メニュー エントリ (NVRAM 内) を追加する方法bcdedit。たとえば、次の手順を試しましたが、ブート エントリが追加されません。

bcdedit /create /d "LinuxLoader" /application osloader 

これは新しいGUIDを返します(newguidと言います)

bcdedit /set {newguid} device partition=S:
bcdedit /set {newguid} path \boot\efi\bootx64.efi
bcdedit /set {fwbootmgr} displayorder {newguid} /addfirst

前もって感謝します。

4

1 に答える 1

2

タイプOSLOADERのアプリケーションを使用して Linux を起動することはできません。この種のアプリケーションはWindowsローダー用であり、そのようなアプリケーションはブート アプリケーション( EFI アプリケーションと同じではありません) であり、Microsoft によって独占的に署名され、Windows ブート マネージャーによって起動されます (の最初のスライドを参照してください)。プロセスの適切な説明については、この UEFI ドキュメントを参照してください。)

一方、可能なことは、Windows と共に別のブート マネージャーを追加し、それを UEFI 内 (NVRAM ストレージ内) に登録することです。手順はあなたが書いたものとほとんど同じです。

bcdedit /create /d "LinuxLoader" {bootmgr}

最初の操作として。bcdedit(実際には)の操作の理論はbcdsrv、最後のステップで、エントリも NVRAM にコピーする必要があるということです。そのため、UEFI マネージャーには少なくとも 2 つのオプションから選択できるようになり、おそらく Windows ブート マネージャーがデフォルトのままです。つまり、実際には、このメニュー (UEFI ブート マネージャー) を起動するにはマジック キーを使用する必要がある場合があります。デフォルトのエントリを変更するには、試すことができます

bcdedit /set {fwbootmgr} default $newguid

これにより NVRAM の変数が更新されるBootCurrentため、UEFI ファームウェアはWindows ではなく Linux ローダーを選択する必要があります。保証はありませんが、この問題に関して正しくプログラムされていない UEFI ファームウェアが存在すると思います。この質問によると、そのような変更を元に戻すことは、Windows 8 の起動プロセスの標準的な動作のようです :-(

また、さらに、{fwbootmgr} リストの規定として、標準の場所 (ESP)\EFI\BootX64.efi とは異なる別のエントリを作成します。正しい値を復元し、標準の場所を Microsoft の...bootmgfw.efi

于 2015-08-31T08:26:49.877 に答える