Tôi có thể làm gì để khắc phục lỗi này trên grub-efi?


15

Tôi có thiết lập hệ thống khởi động kép với Windows 10 và Ubuntu 16.04, khi bật PC grub của tôi hiển thị chính xác, Windows và Ubuntu được nhận ra, không có vấn đề gì ở đó. Mỗi khi có bản cập nhật hoặc tôi phải cài đặt một cái gì đó, tôi liên tục gặp lỗi này:

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

Tôi có thể bỏ qua nó hay làm gì để sửa nó không?


Đây có phải là hệ thống UEFI không? / Etc / fstab của bạn có gắn kết phân vùng EFI tại / boot / efi không? / Boot / efi có chứa thư mục EFI không?
ubfan1

Đúng, đó là hệ thống UEFI, / boot / efi chứa thư mục EFI, không hiểu bit / etc / fstab
BressanFranco

Có vẻ như một bản cập nhật có thể đã bị gián đoạn vào một lúc nào đó trước khi các gói hoàn tất cấu hình, hãy thử dpkg - thông minh -a
MttJocy

@MttJocy đã thử nó, cho tôi cùng một lỗi với gói grub-efi-amd64 đã ký và shim-ký
BressanFranco

Câu trả lời:


4

Tham chiếu để /usr/lib/grub/i386-pc/modinfo.shchỉ ra cài đặt GRUB ở chế độ BIOS - cụ thể, i386-pcphần của đường dẫn đó xác định phiên bản GRUB ở chế độ BIOS. (Đối với cài đặt chế độ EFI trên AMD64 / x86-64, đường dẫn tương đương là /boot/grub/x86_64-efi/modinfo.sh.) OTOH, tên gói chỉ rõ ràng cài đặt GRUB chế độ EFI. Cả hai không nên trộn lẫn, nhưng bằng cách nào đó đã xảy ra trong trường hợp của bạn. Có lẽ bạn đã có tệp cấu hình GRUB còn sót lại từ bản cài đặt chế độ BIOS trước đó, trong trường hợp đó, theo dõi nó xuống và cập nhật nó sẽ khắc phục vấn đề. Có lẽ Boot Repair có thể tự động khắc phục sự cố. Tuy nhiên, lưu ý rằng một nỗ lực sửa chữa có nguy cơ làm cho vấn đề tồi tệ hơn bằng cách khiến hệ thống của bạn không thể khởi động được. Do đó tôi khuyên bạn nên tiến hành hết sức thận trọng!

Nếu bạn không thể sửa nó một cách dễ dàng, bạn có thể xem xét việc thay thế GRUB bằng một thứ khác - một số lựa chọn thay thế có sẵn, như được mô tả trên trang Web này của tôi. GRUB 2 là hầu hết các bộ nạp khởi động khó có thể tinh chỉnh một lần nó đi "khỏi đường ray", như bạn có, đó là lý do thay thế nó có thể là một lựa chọn tốt. Trình quản lý khởi động rEFInd của riêng tôi có thể dễ cài đặt, với lời cảnh báo rằng có lỗi Ubuntu 16.04 làm phức tạp việc cài đặt từ PPA khi kích hoạt Secure Boot. (Điều đó được đề cập trong tài liệu.) Lưu ý rằng chỉ cần cài đặt gói mới sẽ không khắc phục được vấn đề của bạn; bạn cần gỡ cài đặt gói GRUB khiến bạn gặp khó khăn khi thực hiện điều đó. Tôi đề cập đến chủ đề đó cụ thể ở đây,vì nó không dễ như bạn tưởng. (Ubuntu tiếp tục cố gắng cài đặt lại GRUB nếu bạn gỡ bỏ nó.)


Boot-Repair trong các tùy chọn nâng cao có toàn bộ gỡ cài đặt / cài đặt lại grub. Điều đó có thể khắc phục vấn đề cấu hình. Đảm bảo khởi động ở chế độ UEFI nếu UEFI cài đặt.
oldfred

@oldfred làm thế nào để tôi chắc chắn rằng tôi khởi động ở chế độ UEFI? nếu đó là cài đặt bios thì nó (thực sự tôi chắc chắn rằng nó đã được bật)
BressanFranco

Bạn chọn từ menu khởi động UEFI. Thông thường ổ đĩa flash được hiển thị hai lần. Một lần là UEFI: flashdrive và một lần nữa là flashdrive, sau đó là BIOS boot. Bạn cũng có thể biết nếu bạn có menu grub thì đó là UEFI, nếu bạn có màn hình trợ năng (các biểu tượng nhỏ ở phía dưới) thì đó là BIOS. Hiển thị cài đặt với ảnh chụp màn hình. Cả hai màn hình BIOS khả năng tiếp cận tím & UEFI đơn grub đen màn hình help.ubuntu.com/community/UEFI
oldfred

đã thử đĩa trực tiếp sửa chữa khởi động và thực hiện sửa chữa tự động, tất cả dường như đều tốt, không gặp lỗi như trước, update-grub đã thêm lại phân vùng windows. Tất cả có vẻ ổn
BressanFranco

40

Thử

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

sửa chữa.


đã sửa nó với đĩa trực tiếp sửa chữa khởi động
BressanFranco

Các lệnh này hoạt động như một bùa mê
Xubfox

4
Điều này có an toàn để làm không?
Pithikos

1
Nó an toàn cả hai cách. Bạn có thể sử dụng các lệnh trên hoặc đĩa trực tiếp sửa chữa khởi động.
Giăng

1
Tôi đã nâng cấp Ubuntu 17.04 lên 18.04 và sau đó nhận được lỗi: Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code sau khi thực hiện sudo apt upgrade. Giải pháp của bạn đã làm việc với tôi quá. Cảm ơn.
mario đi

4

Trong trường hợp ai đó đang xem việc thiết lập đĩa USB multiboot để xử lý cả mbr và grub:

Nếu hệ thống hiện tại của bạn là EFI, thì bạn sẽ thiếu điều này:

sudo apt install grub-pc-bin

Nếu hệ thống hiện tại của bạn là MBR, thì bạn sẽ thiếu điều này:

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed

1

thử:

sudo apt-get -f install

Bước 1: bắt đầu gỡ cài đặt shim

sau đó: lệnh terminal này sẽ xóa kho lưu trữ có chữ ký shim

Bước 2: gỡ cài đặt

sau: với kho lưu trữ shim được xóa thành công

bước 3: loại bỏ shim

cuối cùng: ít nhất các bản cập nhật phần mềm Ubuntu sẽ bắt đầu hoạt động trở lại nếu mọi việc suôn sẻ (như trong trường hợp của tôi)

Bước 4: Nhắc nhở cập nhật hệ thống

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.