Tôi không thể hứa, nhưng hãy thử điều này từ cửa sổ Windows Command Prompt được khởi chạy với đặc quyền của Quản trị viên:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
Lưu ý rằng {bootmgr}nên được gõ chính xác; Đó không phải là một biến. Nếu điều đó không hiệu quả, bạn có thể thử điều này trong Linux:
- Sao lưu toàn bộ nội dung của
/boot/efi(Phân vùng hệ thống EFI hoặc ESP) của bạn.
- Loại
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft.
- Loại
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.
- Tạo một
/etc/grub.d/40_custommục nhập tệp mới đề cập đến EFI/Microsoft/bootmgfw.efi. Mô hình nó sau khi mục hiện có trong /boot/grub/grub.cfgđó đề cập đến EFI/Microsoft/Boot/bootmgfw.efi; chỉ cần xóa Bootkhỏi đường dẫn khởi động và đặt tên mới.
- Gõ
sudo update-grubđể cài đặt các entry GRUB mới.
Khi bạn khởi động lại, GRUB sẽ xuất hiện. Vấn đề là nếu / khi Windows quyết định cài đặt lại bộ tải khởi động, hệ thống sẽ bắt đầu khởi động lại thẳng vào Windows.
Đối với bước 4, bạn có thể:
- Sao chép
40_custommục nhập bắt đầu bằng menuentry 'Windows ...'nằm giữa một tập hợp ### BEGIN <path> ###và ### END <path> ###thẻ / nhận xét. Đây là mục có đường dẫn chứa Boot.
- Tạo một mục mới trong tập tin
/etc/grub.d/40_custombằng cách thêm các bản sao menuentry.
- Thay đổi tên của mục nhập mới (bản gốc phải là
Windows Boot Managerhoặc một cái gì đó tương tự).
- Thay đổi đường dẫn từ
EFI/Microsoft/Boot/bootmgfw.efiđến EFI/Microsoft/bootmgfw.efi.
CHỈNH SỬA:
Kể từ khi viết câu trả lời này, tôi đã biết đến một công cụ Windows của bên thứ ba có tên EasyUEFI, đây là một công cụ GUI dễ dàng hơn so bcdeditvới việc điều chỉnh thứ tự khởi động EFI từ Windows. Tuy nhiên, tôi không biết liệu EasyUEFI có ngăn Windows thực hiện các thay đổi hay không, nếu Windows có thói quen tự đặt nó làm mặc định cho mỗi lần khởi động. Do đó, bcdeditcó thể vẫn được yêu cầu, nhưng EasyUEFI chắc chắn cũng đáng để thử.