Tôi nhận ra rằng mình đã khắc phục các vấn đề, nhưng tôi muốn chỉ ra những gì đã xảy ra và làm thế nào nó nên được cố định (cả bởi người dùng cuối và các nhà phát triển Ubuntu).
Đầu tiên, các nhà phát triển của Ubuntu đã quyết định - hầu như không chính xác - tạo ra một cấu hình GRUB dựa trên các tệp trong /
phân vùng gốc ( ) của Ubuntu , cũng như trên Phân vùng hệ thống EFI (ESP). Điều này khiến GRUB dễ bị loại bỏ hoặc làm hỏng phân vùng Linux và do đó gây khó khăn cho việc khởi động máy tính sau khi gỡ bỏ Ubuntu hoặc nếu cài đặt Ubuntu bị hỏng theo một cách nào đó. Lỗ hổng này là không cần thiết; có thể định cấu hình GRUB để tìm tất cả các tệp cấu hình và hỗ trợ của nó trên ESP. Nếu GRUB được cấu hình theo cách này (như Fedora), thì việc xóa Ubuntu sẽ không ảnh hưởng đến khả năng chuyển hướng sang GRUB của GRUB. Hệ thống vẫn sẽ khởi động thông qua GRUB, nhưng ít nhất nó vẫn khởi động. Vì vậy, xấu hổ trên Ubuntu vì đã thiết lập GRUB sai cách.
Thứ hai, dựa trên tên tệp mà bạn đã đề cập, có vẻ như bạn đã chạy công cụ Sửa chữa khởi động của Ubuntu tại một số điểm. Công cụ này tự động đổi tên bộ tải khởi động Windows EFI/Microsoft/Boot/bootmgfw.efi
và đặt một bản sao GRUB vào vị trí của nó. Nó cũng làm điều tương tự với trình tải khởi động dự phòng EFI EFI/BOOT/bootx64.efi
và bỏ một bản sao GRUB khác EFI/Microsoft/Boot/bootx64.efi
vì lý do mà tôi không yêu cầu bồi thường. Đây là một cách giải quyết cho một lỗi trong một số ít EFI. Vấn đề là Boot Repair làm điều này theo mặc định. Trên hầu hết các máy tính, nó không phải làcần thiết. Khi sau đó mong muốn thay đổi cấu hình khởi động, việc đổi tên và sao chép GRUB này trở thành một vấn đề phức tạp, vì người dùng không thể đoán được chuyện gì đang xảy ra. Vì vậy, xấu hổ cho các nhà phát triển của Boot Repair vì không tinh tế về việc sửa chữa của họ. (Tuy nhiên, để bảo vệ, sẽ rất khó để Boot Repair phát hiện một cách đáng tin cậy những máy tính nào có lỗi yêu cầu di chuyển các tệp khởi động theo cách mà nó làm theo mặc định.)
Một điểm nữa rất quan trọng: Trong một hệ thống EFI hoạt động đúng, một danh sách các chương trình khởi động được tổ chức trong NVRAM. EFI thử từng chương trình trong danh sách này theo trình tự; nếu một lần thất bại hoặc vắng mặt, lần tiếp theo sẽ được thử. Khi Ubuntu cài đặt, nó sẽ thêm phiên bản GRUB của nó vào đầu danh sách. Hầu hết các EFI cũng cho phép người dùng chỉ định chương trình khởi động nào sẽ được sử dụng từ trình quản lý khởi động tích hợp, nhưng trình quản lý khởi động tích hợp này là thô đối với hầu hết các EFI.
Tổng hợp tất cả các yếu tố này và giải pháp đơn giản nhất cho vấn đề ban đầu trở thành:
- Hoàn tác các thay đổi của công cụ Boot Repair. Điều này có thể được thực hiện bằng chính công cụ Boot Repair; nó có menu Tùy chọn nâng cao với hộp kiểm có tên "Khôi phục sao lưu EFI". Sử dụng điều đó và nhiều bản sao GRUB sẽ bị xóa và bộ tải khởi động của Windows sẽ được khôi phục. Ngoài ra, điều này có thể được thực hiện bằng tay. Quan trọng nhất, bản sao lưu của
bootmgfw.efi
(có thể được gọi bkpbootmgfw.efi
, mặc dù một số phiên bản của Boot Repair đã sử dụng các tên khác) nên được sao chép EFI/Microsoft/Boot/bootmgfw.efi
vào trên ESP.
- Xóa GRUB ở vị trí chính thức / thích hợp của nó -
EFI/ubuntu/grubx64.efi
cho Ubuntu. Nếu Secure Boot được kích hoạt, EFI/ubuntu/shimx64.efi
thay vào đó , việc xóa sẽ là cần thiết. Trong thực tế, xóa toàn bộ EFI/ubuntu
thư mục, hoặc ít nhất là đổi tên nó, sẽ thực hiện công việc trong mọi trường hợp.
Đó là nó. Với hai điều đã hoàn thành, EFI sẽ bỏ qua tùy chọn khởi động Ubuntu vì nó không còn hiệu lực và tiếp tục khởi động Windows. Một số EFI cũng sẽ tự động xóa tùy chọn khởi động Ubuntu khỏi menu của trình quản lý khởi động của họ, mặc dù thực tế này không phổ biến.
Lưu ý rằng trong trường hợp của bạn, Matthew, tôi không khuyên bạn nên làm những điều này; bạn đã có một cấu hình hoạt động và như họ nói, "nếu nó không bị hỏng, đừng sửa nó." Bạn có thể có một vài tệp đi lạc còn lại trên ESP của bạn, nhưng chúng không gây hại gì, vì vậy tốt nhất là cứ để nó một mình. Tôi đã trình bày câu trả lời của mình với hy vọng rằng ai đó sẽ thấy nó hữu ích.
EDIT: Trên đây là chính xác khi tôi lần đầu tiên viết nó, và các nguyên tắc vẫn giữ nguyên; tuy nhiên, Boot Repair không còn tự động đổi tên bộ tải khởi động Windows và thay thế nó bằng một bản sao GRUB khác. (Boot Repair có thể thực hiện tùy chọn này , nhưng tùy chọn bị chôn vùi trên menu tùy chọn nâng cao, do đó, nó không còn được thực hiện theo mặc định nữa.) Thực tế này giúp việc khắc phục sự cố này ngày nay dễ dàng hơn so với năm 2013. xóa EFI/ubuntu
thư mục trên ESP để hệ thống khởi động trực tiếp vào Windows. Nếu GRUB vẫn xuất hiện sau khi bạn thực hiện việc này, bạn có thể đã sử dụng tùy chọn Sửa chữa khởi động để sao lưu và đổi tên các tệp khởi động, trong trường hợp đó sử dụng nó để hoàn tác các hành động đó theo thứ tự, như đã lưu ý trước đó.
Một tùy chọn khác là sử dụng trình quản lý khởi động tích hợp của máy tính (thường được truy cập bằng cách nhấn phím chức năng, Esc hoặc Enter ngay sau khi bạn bật máy tính) để bỏ qua GRUB và khởi động vào Windows. Sau đó, bạn có thể sử dụng EasyUEFI để điều chỉnh thứ tự khởi động và / hoặc xóa ubuntu
mục nhập khỏi danh sách khởi động. Hành động này sẽ không xóa GRUB khỏi ESP, nhưng nó sẽ bỏ qua GRUB.