หลังจากวันที่ทำการวิจัยตอนนี้ฉันสามารถตอบคำถามของฉันเอง: ใช่มันเป็นไปได้และคุณสามารถใช้พาร์ติชันนั้นเป็น / boot และเก็บเมล็ด / initramfs / etc ของคุณ ที่นั่น
ที่ต้องการ:
- ด้วง> = 2.00 (1.98 และ 1.99 ไม่ทำงาน)
- Grub ต้องถูกติดตั้งจากเคอร์เนล Linux ที่รองรับตัวแปร EFI (
CONFIG_EFI_VARS
เรียบเรียงเป็นโมดูลefivars
)
- สำหรับการสร้างรายการบูต EFI คุณจะต้อง
efibootmgr
ติดตั้ง:
ก่อนอื่นให้เมาท์พาร์ติชัน EFI ของคุณเพื่อ / boot
mount /dev/sdX1 /boot
ถ้าคุณดูรายการ mount คุณจะเห็นว่าเป็นเพียงพาร์ติชัน FAT (32) ภายใต้คุณควรจะหาไดเรกทอรี/boot
efi
ในฐานะที่เป็นด้วงจะเรียกefibootmgr
คุณควรโหลดevivars
ถ้ามันไม่ได้รวบรวมลงในเคอร์เนล:
modprobe efivars
ตอนนี้คุณสามารถติดตั้งด้วง:
# Replace x86_64 by i386 for 32 bit installations
grub2-install --target=x86_64-efi
/boot/grub2
ด้วงติดตั้งแฟ้มที่เป็นไปตามปกติ หากทุกอย่างทำงานได้อย่างถูกต้องคุณควรตอนนี้ยังมีโฟลเดอร์หรือ/boot/efi/grub2
/boot/efi/your_distros_name
ด้วย--bootloader-id=isert_name_here
คุณยังสามารถระบุชื่อสำหรับโฟลเดอร์ด้วยตัวคุณเอง
Grub โทรefibootmgr
โดยอัตโนมัติและสร้างรายการบูตด้วยชื่อนั้นในเมนูการบู๊ตของ EFI (ในกรณีของฉันซึ่งหมายความว่ามันแสดงให้เห็นว่าเป็นอุปกรณ์ที่สามารถบู๊ตได้ในเมนู EFI ไม่แน่ใจว่าเป็นเช่นนี้ในทุกกระดาน EFI)
การติดตั้งเพิ่มเติมไม่แตกต่างจากการตั้งค่า grub2 ปกติgrub2-mkconfig
จะเพิ่มโมดูลที่เหมาะสมสำหรับ EFI grub.cfg
ที่คุณ
หน้าต่าง Chainloading:
เมื่อฉันถามถึงการบูทสองครั้งกับ Windows ฉันจะรวมการตั้งค่าด้วงสำหรับการสับมัน:
การทำการติดตั้ง Windows บน EFI นั้นแตกต่างจากการติดตั้งบนดิสก์ 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
แล้วทำตามนี้และวิ่งbcdedit /set {bootmgr} path \EFI\fedora\shim.efi
จาก windows ไปยัง bootstrap EFI