
Dell Inspiron 5559を使用しています。現在、Windows 10は内蔵UEFIモードで起動します。 Kali LinuxとWindows 10の間でデュアルブートが必要です。私はオンラインで多くのチュートリアルに従いましたが、すべてが異なります。
Kali LinuxとWindowsをデュアルブートする方法を教えてくれる人はいますか? USBで起動してKaliをインストールしました。しかし、私の問題は、GRUBローダーがインストールされていますが、WindowsまたはLinuxを選択するかどうか尋ねないことです。 Windows 10ブートローダはデフォルトで実行されます。
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.
答え1
問題が発生する可能性があるさまざまな状況があります。
1.)Kaliインストーラは、UEFIバージョンの代わりにGRUBのレガシーBIOS / MBRスタイルバージョンをインストールできます。ファームウェアがレガシーBIOSスタイルの起動よりUEFIスタイルの起動を好む場合、このブートローダはまったく効果がありません。これは、ファームウェアがWindows UEFIブートローダを持っていることを確認した後は、単にレガシーマスターブートレコードをロードしないためです。
2.) Kali インストーラは GRUB の UEFI バージョンをインストールした可能性がありますが、セキュアブートにshim.efi
必要なバージョンはインストールしていない可能性があります。システムのUEFIファームウェアのセキュアブート実装は、有効になっている場合は、必要なセキュアブート署名を持たないすべてのブートローダを自動的にバイパスできます。セキュアブートが有効になっています。
(他のUEFI実装では、セキュアブートが有効になっていてセキュアブート署名がない場合、または無効なブートローダが発生した場合は、恐ろしいセキュリティエラーメッセージが出力されます。これにより、少なくともこの状況を解決するのが簡単になります。)
3.) Kali インストーラがセキュアブートをサポートする UEFI ブートローダを正常にインストールしましたが、ファームウェア NVRAM に登録できなかった可能性があります。または、ファームウェアの実装では、標準のWindowsブートローダのブートファイル名のみを許可できます。これはファームウェアのバグと見なされます。
これらの条件を識別する最初のステップは、システムをWindows 10で起動し、コマンドプロンプトを実行することです。管理者として、bcdedit /enum firmware
コマンドを使用します。これにより、NVRAMに登録されているブートオプションとBootOrder設定が一覧表示されます。出力にKaliへの言及がない場合、今は問題#2を排除できます。確かに少なくとも問題#1または#3があります。
問題2が発生する可能性がある場合は、セキュアブートを無効にするか、セキュアブートマスターキー(PK)変数を削除して解決できます。通常(常にそうではない)、UEFI BIOS設定はこれらのタスクの一方または両方を実行する方法を提供します。
次の手順には、ライブUSBからKali(または他のLinux)を起動し、それを使用してHDDのKaliインストールにアクセスすることが含まれます。 HDDにLinuxパーティションをマウントしたら、そのディレクトリに移動して<mountpoint>/usr/lib/grub
そのディレクトリの内容を一覧表示します。というサブディレクトリがある場合は、x86_64-efi
UEFIバージョンのGRUBがインストールされており、問題#1が確実に削除されています。
一方、名前がサブディレクトリの場合は、i386-pc
GRUBのレガシーBIOS / MBRバージョンがインストールされているため、問題#1が解決されます。この問題を解決するには、HDDベースのインストールをrootに置き換え、パッケージ管理ツールを使用して、grub-pc
パッケージgrub-pc-bin
をgrub-efi-amd64[-signed]
それぞれgrub-efi-amd64-bin
。 (セキュアブートを無効にできない場合は、最初のパッケージ(利用可能な場合)とそのパッケージの署名付きshim
バージョンを入手してください。)
問題#3が発生した場合は、efibootmgr
Kali Live USBのコマンドを使用して問題を解決できます。ただし、Live USBが起動可能な場合にのみ可能です。UEFI基本スタイル。 Live USBがレガシーBIOS / MBRスタイルで起動すると、レガシー互換性ファームウェアコードはコマンドに必要なインターフェイスを隠しますefibootmgr
。
Windows側で問題#3を解決するための代替ツール:
EasyUEFI
以前は同じメーカー名のプログラムがありましたEasyBCD
。完全無料版のプログラムでも十分です。残念ながら、現在は無料試用版のみ提供されています。BOOTICE
明らかに、その仕事をする中国の開発者が呼び出したプログラムがあるようです。まだテストしていません。- Windows 10の基本コマンドを使用すると、新しいUEFIブートローダを登録できると思います
bcdedit
が、プロセスがやや厄介で、まだテストしていません。 mountvol X: /S
Windowsでは、管理者としてEFIシステムパーティションにアクセスできます。完了したら、Hide ESPを再利用してくださいmountvol X: /D
。
答え2
Windows 10がインストールされている既存のハードドライブにLinux用のKali(またはすべてのディストリビューション)をインストールしますか?
そうでなく、Linuxが別のハードドライブにある場合、最も簡単な方法は起動前にF12を押してUEFI起動メニューにアクセスすることです。これはGRUB2メニューではありません。この時点で、EFIブートメニュー(BIOSメニューまたはGRUB2メニューではない)を使用すると、ブートするブートパーティションから.efiファイルを選択できます。このようにしてデュアルブートが可能です。
ノートパソコンのDell Inspironをお持ちの場合は、すべての作業を実行するために1つのドライブしか必要ありません。レポートによると、Windows 10は起動/再起動時にWindows 10ブートパーティションにインストールされているすべてのブートローダを回復/削除します。 https://ubuntuforums.org/showthread.php?t=2294337
F2を押してSETUPと入力してBOOTメニューに入ると、どの.efiブートファイルを選択できるメニューオプションが表示されます。ノートブックにはドライブが1つしかないため、Windows 10を起動するための選択肢が1つだけ表示されます。ただし、たとえば、それぞれ独自のブートパーティションを持つ4つのハードドライブを持つタワーコンピュータがある場合は、EFIブートメニューという4つの選択肢があります。
私はWindows 10がMicrosoftであり、ブートメニュー/パーティションをうまく共有していないので、あなたがしなければならないことは、マザーボードのEFIメニューに自動的にOEM Windows 10ブートパーティション以外のブートパーティションを選択させる必要があると思います。 GRUB2が存在します。そのような場合、Grub2はWindows 10ブートローダーよりも先に進み、GRUB2のメニューから起動するWindows 10パーティションまたはLinuxパーティションを選択するオプションを提供します。これにより、Windows 10は干渉なしに独自のパーティションにある独自のブートマネージャのみを表示できます。少なくともWindows 7では、Windowsブートパーティションを変更する方が寛大です。 Windows 10の出現とセキュリティブートの考え方ですべてが終わったと思います。
したがって、Dell OEM win10ハードドライブにWindowsパーティションから完全に分離された新しいパーティションを作成し、ここにGRUB2をインストールしようとしています。たとえば、パーティション#4です。
GRUB2を起動するために、マザーボードのファームウェア/ EFIがディスクのパーティション#4(パーティション#1の代わりに)を指すようにすることができるかどうか疑問に思います。私はGRUB2よりもELIOを好み、常にブートパーティションをディスク上のパーティション#1に保ちました。ただし、可能であれば、Windows 10またはLinux起動用の2つのメニューオプションを提供するようにGRUB2を設定してください。