web-dev-qa-db-ja.com

LinuxをGRUB UEFIモードのブートメニューにWindows 10のデュアルブートに追加する

私はDell Inspiron 5559を持っています。現在、組み込みのWindows 10でUEFIモードで起動しています。KaliLinuxとWindows 10の間でデュアルブートする必要があります。オンラインで多くのチュートリアルを実行しましたが、それらはすべてバリアントです。

WindowsでKali Linuxをデュアルブートする方法を誰かに教えてもらえますか? KaliをライブUSBで起動してインストールしました。しかし、私の問題はGRUB=ローダーがインストールされていますが、WindowsとLinuxのどちらを選択するかを尋ねるメッセージではありません。Windows10のデフォルトでブートするブートローダーです。

Windowsで簡単なBCDを使用してLinuxを追加しようとすると、次のように表示されます。

EFI boot loader Detected--- Easy BCD has detected that your machine is currently booting in EFI mode. Due to limitations set by Microsoft, many of easy BCD multi booting features cannot be used in EFi mode and have been disabled.
2
saivinay

うまくいかない可能性のあることがいくつかあります。

1.)Kaliインストーラーは、UEFIバージョンではなく、従来のBIOS/MBRスタイルバージョンのGRUBをインストールしている可能性があります。ファームウェアがレガシーBIOSスタイルよりもUEFIスタイルのブートを優先する場合、このブートローダーはWindows UEFIブートローダーが配置されていることが確認されると、ファームウェアは古いスタイルのマスターブートレコードをまったく読み込まないため、まったく効果がありません。

2.)KaliインストーラーはUEFIバージョンのGRUBをインストールしている可能性がありますが、セキュアブートに必要なshim.efiがない場合、システムのUEFIファームウェアのセキュアブート実装は、セキュアブートが有効になっている場合は、必要なセキュアブート署名。

(他のUEFI実装は、セキュアブートが有効になっていて、セキュアブート署名がないか無効なブートローダーに遭遇すると、恐ろしいセキュリティエラーメッセージを出力します。これにより、少なくともこのケースのトラブルシューティングが容易になります。)

3.)Kaliインストーラーがセキュアブート対応のUEFIブートローダーを正常にインストールしたが、ファームウェアNVRAMに登録できなかった可能性があります。または、ファームウェアの実装は、標準のWindowsブートローダーのブートファイル名のみを受け入れる-ファームウェアのバグと見なされる。


これらのケースを識別する最初のステップは、システムをWindows 10で起動させ、コマンドプロンプト管理者としてを実行し、bcdedit /enum firmwareコマンドを使用することです。これにより、NVRAMに登録されている起動オプションとBootOrder設定が一覧表示されます。出力にKaliの記述がない場合は、一時的に問題#2を一時的に除外できます-少なくとも問題#1または#3が確実にあります。

問題#2が発生しそうな場合は、セキュアブートを無効にするか、セキュアブートの主キー(PK)変数をクリアすることで回避できます。多くの場合(ただし、常にではないかもしれませんが)、UEFI BIOSセットアップはこれらのことの1つまたは両方を行う方法を提供します。

次のステップでは、ライブUSBからKali(または他のLinux)を起動し、それを使用してHDD上のKaliインストールにアクセスする必要があります。 LinuxパーティションをHDDにマウントした後、<mountpoint>/usr/lib/grubディレクトリに移動し、そのディレクトリの内容を一覧表示します。 x86_64-efiという名前のサブディレクトリがある場合、UEFIバージョンGRUBがインストールされており、問題#1を確実に除外できます。

一方、i386-pcという名前のサブディレクトリがある場合は、GRUB)の従来のBIOS/MBRバージョンがインストールされており、問題#1を確認しています。修正するには、 HDDベースのインストールにchrootし、パッケージ管理ツールを使用してgrub-pcおよびgrub-pc-binパッケージをそれぞれgrub-efi-AMD64[-signed]およびgrub-efi-AMD64-binで置き換えます(セキュアブートを無効にできない場合は、入手可能な場合は、最初のパッケージの-signedバージョンを取得し、shimパッケージも取得します。)

問題#3が判明した場合は、Kali Live USBでefibootmgrコマンドを使用して修正できます。ただし、そのLive USBが起動可能な場合のみEFIネイティブスタイル 。 Live USBがレガシーBIOS/MBRスタイルで起動している場合、レガシー互換性ファームウェアコードは、efibootmgrコマンドに必要なインターフェースを隠します。

Windows側で問題#3を修正するための代替ツール:

  • 以前は、EasyUEFIと同じメーカーのEasyBCDというプログラムがありました。そのプログラムの完全に無料のバージョンでさえ十分だったでしょう。残念ながら、無料で利用できるのは試用版のみです。
  • 中国人の開発者によるBOOTICEというプログラムがあり、明らかにその仕事をすることができたようです。私はそれをテストしていません。
  • Windows 10のネイティブのbcdeditコマンドで新しいUEFIブートローダーを登録できる可能性があると思いますが、手順は少し厄介なようで、これをテストしていません。
  • 管理者としてmountvol X: /Sを使用して、WindowsのEFIシステムパーティションにアクセスできます。完了したら、ESP=をmountvol X: /Dで再び非表示にします。
1
telcoM

windows 10がインストールされている既存のハードドライブにKali(またはその他のディストリビューション)のLinuxをインストールしようとしていますか?

そうでなく、Linuxが別のハードディスク上にある場合、最も簡単な方法は、起動する前にF12キーを押してUEFIブートメニューにアクセスすることです。これはGRUB2メニューではありません。この時点で、EFIブートメニュー(BIOSメニューでもGRUB2メニューでもない)を使用して、どのブートパーティションのどの.efiファイルを開始するかを選択できます。そして、あなたはこの方法でデュアルブートすることができます。

デルのインスピロン、ラップトップを持っていることを認識すれば、ほとんどの場合、1つのドライブにいることになります。レポートはWindows 10であり、起動/再起動すると、Windows 10ブートパーティションにインストールされているブートローダーが修復/削除されます。 https://ubuntuforums.org/showthread.php?t=2294337

F2を押してSETUPに入り、BOOTメニューに移動すると、どの.efiブートファイルを選択するかのメニューオプションが表示されます。ラップトップにはドライブが1つしかないため、選択肢は1つしか表示されず、Windows 10が起動します。たとえば、それぞれに独自のブートパーティションを持つ4つのハードドライブを保持できるタワーPCがある場合は、4つの選択肢があります。このEFIブートメニュー。

私はあなたが何をする必要があると信じています、なぜならWindows 10はMicrosoftであり、それはNice共有ブートメニュー/パーティションを再生しないからです別のパーティションにGRUB2が置かれているだけです。 Grub2は、事態が発生したときにWindows 10ブートローダーの前に置かれ、GRUB2のメニューで、Windows 10パーティションまたはLinuxパーティションのいずれかを選択して起動します。このようにして、Windows 10は自身のブートマネージャーのみを、自身のパーティションにある破壊されていないものとして認識します。 Windows 7では、少なくともWindowsのブートパーティションの変更が許容されました。 Windows 10とセキュアブートの考え方がすべてなくなったと思います。

したがって、Windowsパーティションとは完全に別の、Dell oem win10ハードディスクに新しいパーティションを作成し、そこにGRUB2をインストールします。これは、たとえばパーティション#4になる可能性があります。

その後、マザーボードのファームウェア/ EFIがパーティション#1ではなくディスク上のパーティション#4をポイントしてGRUB2を起動できるかどうかはわかりません。私はGRUB2の男よりもELILOの男で、常にディスク上のパーティション#1として私のブートパーティションを持っています。ただし、可能であれば、Windows 10またはLinuxを起動するための2つのメニューオプションを提供するようにGRUB2を構成します。

0
ron