Phát hiện GPT Vui lòng tạo phân vùng BIOS-Boot trong khi sử dụng sửa chữa khởi động


12

Kể từ khi tôi cập nhật Windows lên 8.1, menu Grub của tôi biến mất. Tôi đã chạy Ubuntu bằng Live USB, tôi đã sử dụng Boot-Repair nhưng đã xảy ra lỗi. Nếu tôi nhấp vào sửa chữa Reccomended, tôi gặp lỗi này:

Đã phát hiện GPT. Vui lòng tạo phân vùng BIOS-Boot (> 1MB, hệ thống tập tin chưa được định dạng, cờ bios_grub). Điều này có thể được thực hiện thông qua các công cụ như Gparted. Sau đó thử lại. Ngoài ra, bạn có thể thử lại sau khi kích hoạt tùy chọn [Tách / boot / efi phân vùng:].

Vì vậy, tôi đã cố gắng thiết lập sda9 của mình (tôi nghĩ rằng đó là phân vùng hệ thống Ubuntu, vì nó là ext4) với cờ bios_grub và sau đó chạy lại Boot-Repair. Nó không hoạt động.

Tôi không biết phải làm gì. Grub của tôi đã hoạt động tốt (sử dụng UEFI) trước khi tôi cập nhật Windows.

Tôi đã xóa cờ bios_grub. Sau đó, tôi đã sử dụng fsckvà nó không tìm thấy bất kỳ lỗi nào. Vì vậy, tôi đã thử lại với Boot-Repair nhưng nó luôn báo lỗi "GPT được phát hiện". Khởi động của tôi ở chế độ UEFI, Khởi động an toàn là "tắt".

Khi tôi khởi động PC với SecureBoot OFF, tôi có thể đến menu GRUB. Nhưng nó trống rỗng (giọng nói duy nhất là "Thiết lập hệ thống").

Tôi đã gắn đĩa hệ thống Ubuntu của mình:

sudo mount /dev/sda9 /mnt

và những thứ khác:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Tôi đã đăng nhập vào hệ thống với chroot:

sudo chroot /mnt

Tôi cài đặt lại grub:

grub-install /dev/sda
update-grub2

Nhưng nó vẫn không hoạt động.


Đối với độc giả trong tương lai, câu trả lời này cố định nó cho tôi (khởi động phân vùng thực tế và sau đó chạy grub-install): askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/...
CornSmith

Câu trả lời:


11

Đầu tiên, bios_grubcờ trong partedhoặc GParted là một cách để xác định phân vùng khởi động BIOS. GRUB 2 sử dụng phân vùng này để giữ một phần mã khởi động khi máy tính khởi động ở chế độ BIOS. Nó thường có kích thước khoảng 1MiB, mặc dù trong một số trường hợp nó có thể nhỏ hơn. Quan trọng nhất, nếu Boot Repair chạy lại trình cài đặt GRUB sau khi bạn đặt bios_grubcờ trên /phân vùng gốc Linux ( ), bạn có thể đã bỏ qua phân vùng đó. Vì vậy, trước khi bạn làm bất cứ điều gì khác, tôi khuyên bạn:

  1. Xóa bios_grubcờ khỏi /phân vùng gốc Linux ( ) của bạn.
  2. Kiểm tra /phân vùng gốc Linux ( ) của bạn với fsck(hoặc chức năng tương đương trong GParted hoặc các công cụ GUI khác). Nếu phân vùng có lỗi, hãy sửa chúng hoặc khôi phục hệ thống của bạn từ bản sao lưu. Chỉ khi bạn chắc chắn rằng bạn có thể gắn kết phân vùng và sử dụng nó bình thường thì bạn mới nên tiến hành.

Thứ hai, bạn gặp vấn đề này vì bạn đã khởi động đĩa khẩn cấp ở chế độ BIOS / CSM / kế thừa thay vì ở chế độ EFI. Bạn cần học cách kiểm soát chế độ khởi động của máy tính. Bạn thường có thể thực hiện việc này thông qua trình quản lý khởi động được truy cập bằng cách nhấn Esc hoặc phím chức năng sớm trong quá trình khởi động (trước khi GRUB xuất hiện); nhưng không có tiêu chuẩn hóa về cách truy cập trình quản lý khởi động này hoặc những tùy chọn mà nó cung cấp. Vì vậy, bạn có thể cần phải thử nghiệm để tìm ra điều này.

Thứ ba, nếu bạn có thể tìm ra cách khởi động CD trực tiếp của mình ở chế độ EFI, Boot Repair sẽ khắc phục sự cố. Ngoài ra, bạn có thể sử dụng phiên bản ổ đĩa flash CD-R hoặc USB của trình quản lý khởi động rEFInd của tôi để khởi động Linux. Khi Linux hoạt động và chạy, bạn sẽ có thể sử dụng efibootmgrđể khôi phục GRUB làm trình tải khởi động mặc định, nhưng các chi tiết phụ thuộc vào cách cấu hình của nó bây giờ. Tóm lại, bạn phải sử dụng -otùy chọn efibootmgrđể đặt mục nhập của GRUB làm mục đầu tiên. Câu hỏi và câu trả lời này bao gồm vấn đề từ một góc độ khác. Thay vì khôi phục GRUB, bạn cũng có thể xem xét việc cài đặt rEFInd vào đĩa cứng của mình.


EDIT: Thử sử dụng trình quản lý khởi động rEFInd của tôi : Sử dụng ổ flash USB hoặc hình ảnh CD-R để tạo phương tiện phù hợp và khởi động từ đó. Điều này sẽ cung cấp cho bạn một tùy chọn cho Windows và ít nhất một tùy chọn cho Linux. Nếu bạn có thể khởi động cả Windows và Linux, hãy cài đặt gói rEFInd trong Linux. Điều này sẽ chuyển máy tính sang sử dụng rEFInd theo mặc định và bạn sẽ có thể khởi động mọi thứ bình thường.


Tôi đã xóa cờ bios_grub. Sau đó, tôi đã sử dụng fsck và nó không tìm thấy bất kỳ lỗi nào. Vì vậy, tôi đã thử lại với Boot-Repair nhưng nó luôn báo lỗi "GPT được phát hiện". Khởi động của tôi ở chế độ UEFI, Khởi động an toàn là "tắt". Nếu tôi đặt Secure Boot "bật", nó sẽ báo lỗi chính sách bảo mật. Làm cách nào để khắc phục lỗi GPT?
Kurt Bourbaki

PS Khi tôi khởi động PC với SecureBoot OFF, tôi có thể đến menu GRUB. Nhưng nó trống rỗng (giọng nói duy nhất là "Thiết lập hệ thống").
Kurt Bourbaki

Vui lòng thử sử dụng rEFInd, như được đề xuất trong chỉnh sửa của tôi.
Rod Smith

Tôi đã sử dụng rEFInd, nhưng kết quả là như nhau. Nó cho tôi thấy một giao diện với 3 sự lựa chọn; Khi tôi chọn Windows hoặc Ubuntu, nó sẽ đưa tôi trở lại menu GRUB, như thể hệ thống đang khởi động lại. Giống như nếu hệ thống không thể tìm thấy các tệp phù hợp để khởi động (Tôi đang cố đoán). Trên thực tế, ngay cả khi tôi chọn Ubuntu hoặc Windows từ hệ thống khởi động, nó vẫn đưa tôi đến menu GRUB.
Kurt Bourbaki

1
Boot Repair đôi khi sẽ thay thế bộ tải khởi động Windows bằng một bản sao GRUB khác, sao lưu bản gốc sang tệp khác. Trong menu Boot Repair Advanced có một tùy chọn để khôi phục các bản sao lưu đó, vì vậy bạn có thể thử chạy nó và sau đó sử dụng rEFInd. Cũng có thể bản gốc đã bị mất, trong trường hợp đó, việc khôi phục nó từ bản sao lưu hoặc sử dụng đĩa khôi phục Windows có thể là cần thiết. Nếu rEFInd đưa GRUB lên khi bạn chọn một vmlinuz*tùy chọn, thì có gì đó không ổn với hệ thống của bạn. Bạn có thương hiệu máy tính / bo mạch chủ nào?
Rod Smith

2

Bạn có thể xử lý vấn đề này như sau:

  1. Bắt đầu Gparted.

  2. Xác định phân vùng khởi động. Của tôi là 16.00MiB đầu tiên trên đĩa hệ thống của tôi.

  3. Xóa phân vùng (bạn sẽ không muốn xóa phân vùng sai và mất tất cả dữ liệu trên đó! Dừng lại nếu bạn không biết bạn đang làm gì!).

  4. Tạo một phân vùng mới (không định dạng nó cho bất kỳ hệ thống tập tin nào), áp dụng các cài đặt.

  5. Đánh dấu phân vùng mới dưới dạng bios_grub bằng tùy chọn Manage Flags.

Bây giờ, hãy thử khởi động lại sửa chữa.


Tôi đã làm điều này và sửa chữa khởi động vẫn không thấy phân vùng bios_grub ... bây giờ thì sao?
Magix
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.