Nâng cấp từ 13.10 đến 14.04 đã phá vỡ Grub


11

Tôi có Ubuntu + Windows 8 khởi động kép trên hệ thống UEFI. Mọi thứ đều ổn cho đến khi tôi nâng cấp lên Ubuntu 14.04 từ 13.10.

Bây giờ những gì tôi nhận được khi khởi động máy tính là một màn hình cứu hộ như thế này với các mục sau:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

Sử dụng sửa chữa khởi động từ một đĩa CD trực tiếp (13.10 hoặc 14.10) báo cáo rằng đã xảy ra lỗi và tạo báo cáo này: http://paste2.org/Y8mDwa0M

(Sửa chữa khởi động cho biết họ sẽ cài đặt các gói từ Ubuntu 13.10)

nhưng không có gì thay đổi.

Nếu tôi nhấn f12 khi khởi động, tôi vào màn hình bios (Menu khởi động) nơi tôi có thể chọn từ hdd, usb, đầu đọc dvd và nếu tôi nhấp vào ổ cứng, tôi có ba lựa chọn:

Chọn một thiết bị để khởi động:

Windows Boot Manager 
ubuntu
Ubuntu

Tùy chọn Windows đưa tôi trở lại giải cứu grub.

Với hai tùy chọn khác, tôi có được một menu grub nơi tôi có thể khởi động Ubuntu nhưng tùy chọn cửa sổ không hoạt động

Tôi không biết phải làm gì nữa

Cập nhật :

Cảm ơn câu trả lời, tôi thực sự đã thử tất cả chúng (đã cài đặt lại grub hơn 5 lần từ các phiên bản Ubuntu khác nhau trên USB và đã sử dụng rất nhiều lần sửa chữa khởi động nhưng không có gì hiệu quả)

Cuối cùng, tôi đang sử dụng rEFInd ( http://www.rodsbooks.com/refind/getting.html ) cho phép tôi bắt đầu tìm hiểu từ đó tôi có thể khởi động Ubuntu (nhưng không phải windows) và tự khởi động windows sử dụng menu rEFInd.

Nhưng tất nhiên đó không phải là giải pháp lý tưởng

Cập nhật 2:

Tôi chỉ có một đĩa:

nhập mô tả hình ảnh ở đây

Cập nhật 3:

Đây là lỗi xuất hiện khi tôi cố gắng cài đặt grub hoặc chạy grub-install:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(dịch từ tiếng Ý)



Tôi đã thử các lệnh này nhưng bị kẹt trên chroot. Tôi gặp lỗi: "chroot: không chạy được

Có cùng một lỗi xảy ra vào ngày 14.04, điều này giúp tôi: wiki.ubfoxusers.de/GRUB_2/Reparatur , gần giống như câu trả lời của freeseek

1
@Larry Xem bài viết bên dưới, Phương pháp 3 # 1 là vấn đề của bạn, bạn không thể sử dụng root thay đổi 32 bit để sửa chữa hệ thống 64 bit.
Eyoung100

Câu trả lời:


7

Tôi đã không kiểm tra điều này với một grub bị hỏng trong 14.04 nhưng tôi không bao giờ gặp rắc rối bằng cách sử dụng các hướng dẫn sau: https :
//wiki.ub Ubuntu.com/Grub2#Recover

Trước hết, bạn phải khởi động hệ thống của mình từ đĩa cd hoặc usb trực tiếp. Sau đó

" PHƯƠNG PHÁP 3 - CHROOT

Phương pháp cài đặt này sử dụng lệnh chroot để có quyền truy cập vào các tệp của hệ thống bị hỏng. Khi lệnh chroot được ban hành, LiveCD sẽ xử lý / hệ thống bị hỏng của chính nó. Các lệnh chạy trong môi trường chroot sẽ ảnh hưởng đến các hệ thống tệp hệ thống bị hỏng chứ không ảnh hưởng đến LiveCD.

1) Khởi động với Máy tính để bàn LiveCD (Ubuntu 9.10 trở lên). Xin lưu ý rằng Live CD phải giống với hệ thống bạn đang sửa - 32 bit hoặc 64 bit (nếu không thì chroot sẽ thất bại).

2) Mở thiết bị đầu cuối (Ứng dụng> Phụ kiện> Thiết bị đầu cuối).

3) Xác định phân vùng hệ thống bình thường của bạn - (công tắc là chữ thường "L")

sudo fdisk -l

Nếu bạn không chắc chắn, hãy chạy

df -Th  

Tìm kích thước đĩa chính xác và định dạng ext3 hoặc ext4.

4) Gắn phân vùng hệ thống bình thường của bạn:

Thay thế phân vùng chính xác: sda1, sdb5, v.v.

sudo mount /dev/sdXX /mnt  

Ví dụ: sudo mount / dev / sda1 / mnt

5) Chỉ khi bạn có phân vùng khởi động riêng: sdYY là chỉ định / phân vùng khởi động (ví dụ: sdb3)

gắn kết sudo / dev / sdYY / mnt / boot 
6) Gắn kết các hệ thống tập tin ảo quan trọng:
gắn kết sudo --bind / dev / mnt / dev
gắn kết sudo --bind / dev / pts / mnt / dev / pts
gắn kết sudo --bind / Proc / mnt / Proc
gắn kết sudo --bind / sys / mnt / sys 
7) Chroot vào thiết bị hệ thống bình thường của bạn:

sudo chroot / mnt 

8) Nếu không có /boot/grub/grub.cfg hoặc không đúng, hãy tạo một cái bằng cách sử dụng

cập nhật-grub 

9) Cài đặt lại GRUB 2:

Thay thế thiết bị chính xác - sda, sdb, v.v. Không chỉ định số phân vùng.

grub-install / dev / sdX 

10) Xác minh cài đặt (sử dụng đúng thiết bị, ví dụ sda. Không chỉ định phân vùng):

sudo grub-install --recheck / dev / sdX 

11) Thoát chroot: CTRL-D trên bàn phím

12) Unmount hệ thống tập tin ảo:

sudo umount / mnt / dev / pts
sudo umount / mnt / dev
sudo umount / mnt / Proc
sudo umount / mnt / sys 

13) Nếu bạn gắn một phân vùng khởi động / riêng biệt:

sudo umount / mnt / boot 

14) Ngắt kết nối thư mục / usr của LiveCD:

sudo umount / mnt / usr 

15) Ngắt kết nối thiết bị cuối cùng:

sudo umount / mnt 

16) Khởi động lại.

khởi động lại sudo 
"

Ngoài ra đây là những cách khác để sửa chữa grub: Làm thế nào tôi có thể sửa chữa grub? (Làm cách nào để lấy lại Ubuntu sau khi cài đặt Windows?)


1
Bước 3,4 và 9 đã làm công việc cho tôi. Cảm ơn
ezdazuzena

1
sửa chữa khởi động thất bại thảm hại - nhưng điều này làm việc hoàn hảo đối với tôi
Jon Skarpeteig

2

Có cùng một lỗi "biểu tượng 'grub_term_highlight_color' không tìm thấy", bị kẹt khi giải cứu Grub. Đã thử sửa chữa khởi động (tùy chọn được đề xuất), nhưng không hoạt động!

Giải pháp: Đã tải xuống bootable boot-Repair.iso ( http://sourceforge.net/projects/boot-repair-cd/ ) và tạo một đĩa usb có thể khởi động. Khởi động từ nó và kết nối với internet và bắt đầu "Đề xuất sửa chữa", sau đó làm theo hướng dẫn trong một vài bước (xóa / gỡ cài đặt grub và sau đó cài đặt lại một phiên bản mới), hoạt động với tôi! Tôi đoán trong trường hợp của bạn grub nên được gỡ cài đặt và sau đó cài đặt lại trên sda8 thay vì sdb1.


Điều này làm việc cho tôi: Tôi đã tải xuống hình ảnh cd sửa chữa khởi động - Tôi đã sử dụng x64 vì cài đặt Ubuntu là x64. Sau đó cài đặt ISO thông qua unetbootin . Thực hiện sửa chữa thường xuyên và viola!
Meta

Đĩa khởi động (64 bit 14.04 Phiên bản máy tính để bàn) với sửa chữa khởi động cũng hoạt động với tôi, sau khi nâng cấp từ 13.10 lên 14.04. Về phần tôi, tôi đã làm theo các hướng dẫn ở đây (tùy chọn thứ 2) và nhấp vào "Đề xuất sửa chữa" trong công cụ và sau đó grub đột nhiên hoạt động trở lại!
Krøllebølle

2

Tôi đã có cùng một vấn đề. Tôi đoán là, vì tôi có hai ổ đĩa cứng, hệ thống đang cố gắng bắt đầu từ ổ đĩa sai nơi cài đặt phiên bản GRUB cũ. Giải pháp của tôi là khởi động Ubuntu bằng thẻ nhớ USB (không quan trọng là phiên bản nào). Khi bạn bắt đầu, các lệnh này sẽ thực hiện, chạy dưới quyền root:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

Trong đó sdX1 phải là ổ đĩa nơi hệ thống của bạn được cài đặt. Khi bạn chạy lệnh cuối cùng, bạn nên chọn ổ đĩa sdX, mặc dù tôi đoán rằng việc chạy nó nhiều lần sẽ cài đặt phiên bản grub mới trên mỗi ổ đĩa và mang đến cho bạn một chút suy nghĩ.


Tôi nhận được mount: mount point / tmp / drive / dev không tồn tại
alemur

1
@Akmur bạn đã quên - có thể, hoặc gắn ổ đĩa sai? --bind lấy hệ thống tập tin trong ổ đĩa của USB và thay thế / dex / sdX1 / dev bằng usedevice / dev
eyoung100

@Akmur có lẽ bạn đã gắn phân vùng sai. Khi tôi đề cập đến sdX1, điều này cần tham khảo phân vùng khởi động của bạn, vốn đã chứa các thư mục dev, Proc, sys. Nếu những cái đó không có ở đó, thì rất có thể bạn đang gắn phân vùng sai. Nếu bạn tin rằng bạn đã gắn đúng phân vùng, có thể sau đó chỉ cần tiếp tục và tạo các thư mục bị thiếu với mkdir.
giải phóng

1

Tôi đã có cùng một lỗi nâng cấp từ 13.10 đến 14.04. Những hướng dẫn này có vẻ hơi nản chí đối với tôi.

Cuối cùng tôi đã tạo ra một ổ USB có thể khởi động với Super Grub Disk trên đó. http://www.supergrubdisk.org/

Khởi động từ đó. Lúc khởi động bảo nó phát hiện các HĐH đã cài đặt. Nó tìm thấy bản cài đặt Ubuntu 14.04 của tôi nên tôi bảo nó khởi động nó. Khởi động không có vấn đề.

Tôi đã cài đặt Boot Repair trên hệ thống của mình. https://sourceforge.net/p/boot-repair

Ran đó và chấp nhận những thay đổi mặc định.

Tắt. Lấy ổ USB ra khỏi khe cắm, ấn nguồn và chờ đợi trong hơi thở.

Hệ thống khởi động bình thường! Vấn đề được giải quyết.


OP tuyên bố rằng Boot Repair không hoạt động, vì vậy đó có lẽ không phải là một câu trả lời.
mikewhthing

1

Tôi đoán là youu có các tệp EFI cũ trong phân vùng EFI của bạn. Có một lỗi launchpad cụ thể cho tình huống EFI mà tôi nghi ngờ giải quyết trường hợp của bạn. Nó làm việc cho tôi sau khi tất cả các đề xuất khác không. Cách khắc phục là cập nhật các tệp EFI theo cách thủ công . Dưới đây là một hướng dẫn đi qua. Lưu ý rằng bạn sẽ cần thay thế phân vùng EFI của mình thay thế /dev/sda1.

  1. Khởi động vào đĩa CD trực tiếp
  2. Mở xterm
  3. Sử dụng parted để xác định phân vùng EFI của bạn: sudo parted -l(thay thế cho / dev / sda1 trong bước tiếp theo)
  4. Gắn kết phân vùng EFI của bạn: sudo mount /dev/sda1 /mnt
  5. Cập nhật tệp Boot EFI: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

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.