TL; DR, được thêm vào trong chỉnh sửa:
Câu hỏi là:
Làm cách nào để tạo BIOS thích GRUB hơn Windows Boot Manager trên cùng phân vùng khởi động UEFI?
Vấn đề không nằm ở Grub; Grub làm điều đúng khi BIOS khởi động nó. Vấn đề không nằm ở "đĩa không thể khởi động được", vì cả bootstrap Windows UEFI và bootstrap Grub UEFI đều có khả năng khởi động. Vấn đề là UEFI bootstrap mà BIOS chọn để khởi động từ đâu.
Tôi đang thiết lập một máy tính mới và muốn mặc định khởi động vào Ubuntu, nhưng có tùy chọn để chọn Windows khi khởi động. Điều này đặc biệt quan trọng nếu mất điện và trở lại; Tôi thậm chí sẽ không ở trong nhà.
Tôi đã bắt đầu bằng cách cài đặt Ubuntu 17.04 trên đĩa NVMe nội bộ của mình, được phân vùng bằng GPT để sử dụng một nửa đĩa và phân vùng khởi động UEFI riêng biệt. GRUB khởi động tốt, và tôi thấy menu khởi động GRUB khi khởi động nơi tôi có thể chọn bất kỳ mục nào GRUB biết.
Sau đó, tôi đã cài đặt Windows 10 Pro từ một ISO được tải xuống gần đây. Nó đã cài đặt Windows Boot Manager trên cùng một phân vùng UEFI và giữ nguyên Ubuntu (tuyệt vời!) Và khởi động tốt vào Windows 10.
Tuy nhiên, nó đã làm "một cái gì đó" khiến phần sụn UEFI ngay lập tức chọn Trình quản lý khởi động Windows thay vì GRUB khi bật nguồn. Cách duy nhất để khởi động Linux bây giờ là sử dụng trình quản lý khởi động BIOS (F11 trên BIOS của tôi) và chọn trình tải khởi động GRUB theo cách thủ công. BIOS UEFI biết rằng có nhiều cài đặt khởi động trên phân vùng UEFI, vì tôi có thể chọn giữa chúng trong trình quản lý khởi động. Tuy nhiên, khi tôi đang ở trong menu thiết lập trong UEFI BIOS, nó chỉ cho phép tôi chọn "UEFI boot my drive" trong lựa chọn ưu tiên khởi động - nó không cho phép tôi chọn bộ tải khởi động cụ thể nào trên phân vùng đó để sử dụng . Và theo mặc định, nó chọn Windows chứ không phải GRUB.
Các internets (và trang này) gợi ý rằng cách cũ để khắc phục điều này là chạy update-grub
(để GRUB nhận ra Windows) và sau đó grub-install
(để đưa GRUB trở lại thiết bị.) Tôi đã làm điều này, nhưng thật không may, nó vẫn có hành vi như được mô tả ở trên, trong đó BIOS theo mặc định chọn Windows Boot Manager. ( update-grub
không tìm thấy cài đặt Windows Boot Manager và thêm nó vào menu và mục menu đó hoạt động khi tôi chọn thủ công phân vùng GRUB trong trình quản lý khởi động UEFI.)
Tôi có thể làm gì để biến GRUB thành khởi động "mặc định" trên phân vùng khởi động UEFI của mình?
Sử dụng bo mạch chủ MSI X399 Carbon.
Chỉnh sửa thứ hai: Bởi vì câu trả lời đúng cuối cùng được đề cập trong một bình luận cho một phản hồi, tôi sẽ lặp lại nó ở đây:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.