Không thể tìm thấy thư mục EFI: vấn đề với grub-install


14

Tôi đã cố gắng giải cứu GRUB trong Linux. Tôi đã có thể đăng nhập vào HĐH theo hướng dẫn này:

https://www.lisenet.com/2014/grub2-resTHER-mode-error-unknown-filesystem/

Tôi phải nâng cấp GRUB để khắc phục sự cố. Tuy nhiên, khi tôi chạy grub-install, tôi gặp lỗi:

$ grub-install /dev/sda
grub-install: error: cannot find EFI directory.

Hệ thống tệp của tôi chứa sda4, sda5sda6cho hệ thống EFI, trao đổi Linux và hệ thống tệp Linux tương ứng.

Tôi không có nhiều kinh nghiệm sử dụng mount hoặc các lệnh khác.

Câu trả lời:


11

Khi bạn chạy grub-install theo mặc định, nó giả sử hệ thống EFI được gắn kết là / boot / efi

Nó phụ thuộc vào bản phân phối của bạn nơi hệ thống EFI được gắn kết và trên một số bản phân phối mà nó không được gắn sau khi khởi động.

Trước tiên hãy kiểm tra xem / boot / efi có được gắn với

mount | grep /boot/efi

Nếu nó không hoạt động trước tiên hãy thử cách sau để xem nó có được gắn ở nơi khác không.

mount | grep /dev/[efi device]

Nếu cả hai công việc đó không làm:

mount /dev/[efi device] /mnt

Bây giờ chạy:

grub-install --efi-directory=[efi dir]
grub-mkconfig -o /boot/grub/grub.cfg

trong đó [efi dir] là / boot / efi hoặc / mnt và [efi device] là thiết bị có phân vùng hệ thống EFI. Nếu bạn không biết sử dụng lệnhlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
Cảm ơn, trong grub-install --efi-directory=/boot/EFIkhi tôi chroot vào /mnt.
krishnakant

Có thể Q ngu ngốc nhưng tôi không có thư mục EFI. Tôi lấy một cái ở đâu? Tôi có nghĩa là nó được cho là chứa các tập tin, lệnh nào có thể tạo lại nó?
Lennart Rolland

@LennartRolland Nếu bạn có hệ thống tương thích UEFI thì ổ đĩa hệ thống của bạn sẽ được phân vùng GPT và chứa "phân vùng hệ thống UEFI". thường là phân vùng đầu tiên và sẽ thuộc loại EF00. Nhiều bản phân phối sẽ gắn kết này theo mặc định là / boot / efi trong số những thứ khác cho phép trình tải khởi động GRUB cập nhật các tệp của nó. Nếu không bạn sẽ phải tự gắn nó và thêm nó vào fstab. Bạn cũng có thể có một hệ thống UEFI nhưng đó là sử dụng chế độ cũ, điều đó có nghĩa là các phân vùng của bạn sẽ là loại msdos và bạn sẽ không có / boot / efi. Cấu hình Weirder tồn tại nhưng bao gồm phần lớn trong số chúng.
jdwolf

Hướng dẫn của bạn nếu EFI không được gắn kết là sai. Xem chỉnh sửa của tôi. mount | grep /dev/sda6không hoạt động. Nếu EFI không được gắn kết, bạn phải kiểm tra các phân vùng cho loại.
giusti

@giusti Có lẽ tốt hơn là không tạo tham chiếu tên thiết bị cụ thể.
jdwolf

1

Chế độ cứu hộ Grub có thể được coi là

set root=(hd0,gpt6)
set prefix=(hd0,gpt6)/boot/grub
insmod normal
normal

Khi bạn đăng nhập, nhập sudo update-grub && sudo grub-install /dev/sda.


Không nên grub-installlàm trước update-grub?
nguy hiểm89
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.