1日の調査の後、自分の質問に答えることができます。はい、可能です。そのパーティションを/ bootとして使用して、kernels / initramfs / etcを保存することもできます。そこ。
要件:
- Grub> = 2.00(1.98および1.99は機能しません)
- GrubはLinuxカーネルからインストールする必要があり、LinuxカーネルはEFI変数をサポートしています(
CONFIG_EFI_VARS
モジュール内またはモジュールとしてコンパイルefivars
)
- EFIブートエントリを作成するには、次のものが必要です。
efibootmgr
セットアップ:
最初にEFIパーティションを/ bootにマウントします
mount /dev/sdX1 /boot
マウントエントリを見ると、それが単なるFAT(32)パーティションであることがわかります。下に/boot
ディレクトリがありefi
ます。
grubはを呼び出すefibootmgr
のでevivars
、カーネルにコンパイルされていない場合、をロードする必要があります。
modprobe efivars
これでgrubをインストールできます。
# Replace x86_64 by i386 for 32 bit installations
grub2-install --target=x86_64-efi
Grubは通常どおりにファイルをインストールします/boot/grub2
。すべてが正常に機能した場合は、フォルダー/boot/efi/grub2
またはがあるはず/boot/efi/your_distros_name
です。では--bootloader-id=isert_name_here
、あなたはまた、フォルダ自身の名前を指定することができます。
Grubはefibootmgr
自動的に呼び出し、EFIブートメニューにその名前のブートエントリを作成します(私の場合、EFIメニューにブート可能なデバイスとして表示されますが、これはすべてのEFIボードに当てはまるかどうかわかりません)
さらなるセットアップは通常のgrub2セットアップと変わりません。EFI grub2-mkconfig
に適切なモジュールを追加しますgrub.cfg
。
Windowsのチェーンローディング:
Windowsとのデュアルブートを要求したので、それをチェーンロードするためのgrub構成を含めます。
EFIでのWindowsインストールのチェーンロードは、MBRディスクでのインストールとは少し異なります。あなたは必要はありませんntfs
かpart_mbr
モジュールを、代わりにfat
してpart_gpt
必要とされています。
また、ルートを設定する必要はありません。この情報はWindows独自のブートマネージャーによって保存されます。代わりにsearch
コマンドを指定してください。それに必要なパラメーターは、
grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
これにより、EFIパーティションの場所を指定する検索用のパラメーターが得られます。次のようになります。
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
chainloader
読み取るセクターの数を伝える代わりに、EFIパーティションでWindowsのEFIローダーへのパスを設定する必要があります。これは、すべてのWindows EFIインストールで同じです。結果のエントリは次のようになります。
menuentry "Microsoft Windows x86_64 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root <insert ouput from grub-probe here>
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
ソース:これらはさらにいくつかのケースをカバーしています。EFIから起動する場合は、読む価値があります。
mount /dev/sdXX /boot/efi
た後、続いこれとRANをbcdedit /set {bootmgr} path \EFI\fedora\shim.efi
ブートストラップEFIへの窓から。