ไม่พบไดเรกทอรี EFI: ปัญหาเกี่ยวกับการติดตั้งด้วง


14

ฉันพยายามช่วยด้วงใน Linux ฉันสามารถเข้าสู่ระบบในระบบปฏิบัติการตามบทช่วยสอนนี้:

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

ฉันต้องอัพเกรด GRUB เพื่อแก้ไขปัญหา อย่างไรก็ตามเมื่อฉันทำงานgrub-installฉันได้รับข้อผิดพลาด:

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

ระบบแฟ้มของฉันมีsda4, sda5และsda6ระบบ EFI สลับ Linux และระบบไฟล์ลินุกซ์ตามลำดับ

ฉันไม่ค่อยมีประสบการณ์ในการใช้คำสั่ง mount หรือคำสั่งอื่น

คำตอบ:


11

เมื่อคุณรันgrub-installตามค่าเริ่มต้นจะถือว่าระบบ EFI ถูกเมาท์เป็น / boot / efi

ขึ้นอยู่กับการกระจายของคุณที่ติดตั้งระบบ EFI และในบางดิสทริบิวชันที่ไม่ได้ติดตั้งหลังจากบูต

ก่อนอื่นให้ตรวจสอบว่า / boot / efi ติดตั้งอยู่หรือไม่

mount | grep /boot/efi

หากไม่ได้ผลลองทำตามขั้นตอนต่อไปนี้ก่อนเพื่อดูว่าติดตั้งที่อื่น

mount | grep /dev/[efi device]

หากไม่มีงานเหล่านั้น:

mount /dev/[efi device] /mnt

ตอนนี้ทำงาน:

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

โดยที่ [efi dir] เป็น / boot / efi หรือ / mnt และ [efi อุปกรณ์] เป็นอุปกรณ์ที่มีพาร์ติชันระบบ EFI หากคุณไม่รู้จักใช้คำสั่งlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
ขอขอบคุณในการที่ผมเข้ามาในgrub-install --efi-directory=/boot/EFI chroot /mnt
krishnakant

อาจจะโง่ Q แต่ฉันไม่มี EFI dir ฉันจะได้รับที่ไหน ฉันหมายความว่ามันควรจะมีไฟล์คำสั่งที่สามารถสร้างมันได้หรือไม่
Lennart Rolland

@LennartRolland หากคุณมีระบบที่รองรับ UEFI ไดรฟ์ระบบของคุณจะถูกแบ่งพาร์ติชัน GPT และมี "พาร์ติชันระบบ UEFI" มักจะเป็นพาร์ติชันแรกและจะเป็นประเภท EF00 การกระจายจำนวนมากจะติดตั้งสิ่งนี้ตามค่าเริ่มต้นเป็น / boot / efi ไปยังสิ่งอื่น ๆ ที่อนุญาตให้บูต GRUB เพื่ออัปเดตไฟล์ ถ้าไม่คุณจะต้องติดตั้งด้วยตัวคุณเองและเพิ่มไปที่ fstab คุณอาจมีระบบ UEFI แต่ใช้โหมดดั้งเดิมซึ่งหมายความว่าพาร์ติชันของคุณจะเป็นประเภท msdos และคุณจะไม่มี / boot / efi การกำหนดค่า Weirder มีอยู่ แต่ครอบคลุมส่วนใหญ่
jdwolf

คำแนะนำของคุณหากไม่ได้ติดตั้ง EFI ผิด ดูการแก้ไขของฉัน mount | grep /dev/sda6ไม่ทำงาน ถ้าไม่ได้ติดตั้ง EFI คุณจะต้องตรวจสอบพาร์ติชั่นสำหรับประเภท
giusti

@giusti น่าจะดีกว่าหากไม่ได้อ้างอิงชื่ออุปกรณ์โดยเฉพาะ
jdwolf

1

โหมดกู้ภัยด้วงสามารถรักษาได้เช่น

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

sudo update-grub && sudo grub-install /dev/sdaเมื่อคุณเข้าสู่ระบบป้อน


ไม่ควรgrub-installทำก่อนที่จะupdate-grub?
danger89
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.