ฉันไม่สามารถทำสัญญาได้ แต่ลองทำสิ่งนี้จากหน้าต่างพรอมต์คำสั่งของ Windows ที่เปิดตัวด้วยสิทธิ์ผู้ดูแลระบบ:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
โปรดทราบว่า{bootmgr}
ควรพิมพ์ทุกประการ นั่นไม่ใช่ตัวแปร หากยังไม่ได้ผลคุณสามารถลองใช้งานได้จาก Linux:
- สำรองข้อมูลทั้งหมดของ
/boot/efi
(พาร์ติชันระบบ EFI ของคุณหรือ ESP)
- ประเภท
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
.
- ประเภท
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
.
- สร้างใหม่รายการแฟ้มที่หมายถึง
/etc/grub.d/40_custom
EFI/Microsoft/bootmgfw.efi
ทำโมเดลหลังจากรายการที่มีอยู่ใน/boot/grub/grub.cfg
ที่อ้างถึงEFI/Microsoft/Boot/bootmgfw.efi
; เพียงลบBoot
จากบูตเส้นทางและตั้งชื่อใหม่ให้กับรายการ
- พิมพ์
sudo update-grub
เพื่อติดตั้งรายการ GRUB ใหม่
เมื่อคุณรีบูทด้วงจะเกิดขึ้น ปัญหาคือถ้า / เมื่อ Windows ตัดสินใจติดตั้งบูตโหลดเดอร์ใหม่ระบบจะเริ่มบูตตรงไปยัง Windows อีกครั้ง
สำหรับขั้นตอนที่ 4 คุณสามารถ:
- คัดลอก
40_custom
รายการเริ่มต้นด้วยการmenuentry 'Windows ...'
ตั้งอยู่ระหว่างชุดของ### BEGIN <path> ###
และ### END <path> ###
แท็ก / ความคิดเห็น Boot
นี้เป็นรายการที่มีเส้นทางที่มี
- สร้างรายการใหม่ในแฟ้มโดยการเพิ่มคัดลอก
/etc/grub.d/40_custom
menuentry
- เปลี่ยนชื่อของรายการใหม่ (ต้นฉบับควรเป็น
Windows Boot Manager
หรือคล้ายกัน)
- เปลี่ยนเส้นทางจากไป
EFI/Microsoft/Boot/bootmgfw.efi
EFI/Microsoft/bootmgfw.efi
แก้ไข:
นับตั้งแต่เขียนคำตอบนี้ฉันได้ตระหนักถึงเครื่องมือ Windows ของบุคคลที่สามชื่อว่าEasyUEFIซึ่งเป็นเครื่องมือ GUI ที่ง่ายกว่าbcdedit
การปรับเปลี่ยนลำดับการบูต EFI จาก Windows ฉันไม่ทราบว่า EasyUEFI จะหยุด Windows ไม่ให้ทำการเปลี่ยนแปลง แต่ถ้า Windows มีนิสัยในการตั้งค่าตัวเองเป็นค่าเริ่มต้นในการบู๊ตทุกครั้ง ดังนั้นbcdedit
อาจจำเป็นต้องใช้ แต่ EasyUEFI ก็คุ้มค่าที่จะลองเช่นกัน