Gỡ cài đặt GRUB khỏi máy tính xách tay UEFI


9

Tôi đã cài đặt Ubuntu cùng với Windows 8, tuy nhiên đã quyết định hủy bỏ Ubuntu.

Đầu tiên tôi khởi động vào Parted Magic và sử dụng GParted đã xóa tất cả các phân vùng ext4 và trao đổi.

Điều này để lại cho tôi các phân vùng giống như tôi đã có trước khi tôi cài đặt Ubuntu:

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

Tôi dự kiến ​​xóa các phân vùng sẽ đủ để xóa Ubuntu và cho phép tôi khởi động lại vào Windows 8, tuy nhiên bất cứ khi nào tôi khởi động tôi đều gặp phải lỗi sau:

error: no such partition.

Tiếp theo là giải cứu GRUB:

grub rescue>

Trong phân vùng UEFI của tôi, có hai thư mục BOOTEFI. Trong BOOTlà một tập tin duy nhất - boot.sdi. Trong EFIthư mục là hai thư mục khác, BOOTMicrosoft. Bên trong BOOTlà hai tập tin, bkpbootx64.efibootx64.efi. Thư mục Microsoftcó một thư mục trong đó có tên Boot. Bên trong nó là các tệp Microsoft EFI bình thường (theo như tôi có thể nói).

Nghĩ rằng vẫn còn các tệp GRUB, tôi đã chạy find . -iname "*grb*"find . -iname "*grub*"trong phân vùng UEFI, tuy nhiên chỉ tìm thấy một tệp trống bootx64.efi.grb(mà tôi đã xóa).

GRUB vẫn được cài đặt như thế nào và làm cách nào để gỡ cài đặt?

Tôi khá mới với UEFI và vì vậy mọi thứ có thể cần được giải thích chi tiết. Máy tính là Lenovo IdeaPad Z580.

chỉnh sửa: Tôi quên đề cập, tôi đã xóa ubuntuthư mục trong phân vùng UEFI.

chỉnh sửa 2: Tôi đã quản lý để quay lại Windows thông qua tùy chọn "Phục hồi hệ thống" trong cài đặt BIOS của máy tính xách tay. Điều này có thể hoặc không thể giải quyết vấn đề.

chỉnh sửa 3: okay, tôi có thể khởi động gần như bình thường bây giờ. Khi tôi khởi động, tôi thấy No partition activetrong vài giây thì Windows khởi động. Làm thế nào tôi có thể loại bỏ điều đó?

Câu trả lời:


28

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.efivà đặ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.efivà bỏ một bản sao GRUB khác EFI/Microsoft/Boot/bootx64.efivì 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ảicầ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:

  1. 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.efivào trên ESP.
  2. Xóa GRUB ở vị trí chính thức / thích hợp của nó - EFI/ubuntu/grubx64.eficho Ubuntu. Nếu Secure Boot được kích hoạt, EFI/ubuntu/shimx64.efithay vào đó , việc xóa sẽ là cần thiết. Trong thực tế, xóa toàn bộ EFI/ubuntuthư 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/ubuntuthư 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 ubuntumụ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.


Cảm ơn câu trả lời này! Nó giải thích vấn đề rất tốt. Tôi thực sự đã chạy Boot Repair nhưng quên đưa nó vào câu hỏi này. Tôi đã đánh dấu đây là câu trả lời vì điều này chắc chắn có thể giúp đỡ ai đó trong tương lai và là cách khắc phục vấn đề gọn gàng hơn nhiều.
Torvero

Tôi đến trễ, nhưng tôi sẽ hỏi dù sao đi nữa; bạn nói nó cũng thay thế bộ tải khởi động EFI mặc định bằng GRUB. Có cách nào để khôi phục nó không, giả sử nó vẫn được thay thế bằng trình cài đặt Ubuntu 18.04?
Zoe

3

Tôi biết chủ đề này đã cũ, nhưng tôi đã tìm thấy nó trong tìm kiếm của riêng tôi khi cố gắng tự giải quyết vấn đề này và tôi đã tìm thấy một giải pháp hiệu quả cho mình khi không có câu trả lời nào khác nên tôi cần chia sẻ!

Tôi đã có Ubuntu khởi động kép trên máy tính xách tay của mình cùng với Windows 10. Tôi đã quyết định xóa Ubuntu và đã xóa phân vùng của nó, nhưng grub vẫn tiếp tục làm gián đoạn trình tải khởi động của tôi. Sau khi thử rất nhiều đề xuất còn lại trên các diễn đàn, cuối cùng tôi cũng tìm thấy một cách cực kỳ đơn giản và đồ họa để loại bỏ nó trên lol của riêng tôi. (Vì vậy, từ chối trách nhiệm, tôi không biết liệu có phiên bản Windows nào khác có tùy chọn này hay không)

Nhưng tất cả những gì tôi đã làm là F12 trong khi máy tính đang khởi động để vào các tùy chọn khởi động. Và trong Tùy chọn khác, tôi đã chọn Cài đặt BIOS . Ở phía bên trái tôi đã chọn Trình tự khởi động và bên phải nó liệt kê các tùy chọn khởi động khác nhau của tôi và tôi có thể chọn chúng để thay đổi thứ tự hoặc loại bỏ chúng hoặc bất cứ điều gì tôi muốn. Tất cả những gì tôi phải làm là đảm bảo chỉ "ubfox" được đánh dấu, và sau đó tôi nhấp vào Xóa Boot và thoát. Nó tiếp tục đến màn hình đăng nhập và tôi khởi động lại máy tính xách tay của mình chỉ để kiểm tra lại xem nó có giải quyết được vấn đề của tôi không và nó đã có!


Có vẻ như internet có đầy đủ các giải pháp phi uefi, nhưng điều này chỉ hoạt động!
Peter Lehnhardt

1

Được rồi, vì vậy điều này sẽ không hoạt động cho mọi máy tính tôi giả sử, nhưng đây là những gì đã sửa nó cho tôi .

Đầu tiên, tôi khởi động "Phục hồi hệ thống" thông qua các tùy chọn BIOS trên máy tính xách tay của mình. Điều này cho phép tôi truy cập Windows, tuy nhiên bất cứ khi nào tôi khởi động sau đó tôi nhận được thông báo nói No partition activemột giây trước khi Windows khởi động. Tôi đã thoát khỏi điều này bằng cách làm như sau:

  1. Khởi động vào Windows
  2. Shift + Nhấp vào "Khởi động lại"
  3. Xử lý sự cố
  4. Nâng cao
  5. Dấu nhắc lệnh
  6. Đang chạy bootrec.exe /fixmbr

và khởi động lại. Bây giờ tin nhắn không còn xuất hiện và mọi thứ dường như bình thường.


1

Những gì tôi đã làm là sau khi gỡ cài đặt Ubuntu - bạn có thể làm điều đó với một số trình gỡ cài đặt hoặc chỉ cần khởi động vào đĩa CD hoặc USB trực tiếp của Ubuntu và định dạng các phân vùng Linux bằng GParted- Tôi cũng định dạng phân vùng EFI (FAT32) Phục hồi khởi động Windows từ đĩa cài đặt Windows.

Tôi phải đề cập đến việc tôi đã đọc hàng tá lời khuyên và hướng dẫn và mất rất nhiều thời gian với các phương pháp không hiệu quả. Cuối cùng, tôi đã làm điều duy nhất có vẻ hợp lý với tôi khi cài đặt lại các cửa sổ và nó hoạt động như một cơ duyên.


1

Trên Surface Pro, có thể phá vỡ Grub 2 bằng cách chọn tùy chọn "Cài đặt lại khóa khởi động an toàn" từ menu UEFI.


Bạn có thể phải nghịch ngợm một chút với các tùy chọn ngoài điều này - tôi nghĩ rằng tôi đã phải nói một cái gì đó như "chỉ cho phép các phím Windows". Tôi vẫn nhận được một thông báo về cấu hình khởi động không hợp lệ, nhưng nó sẽ tiếp tục khởi động sau.
bbarker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.