EFI dizini bulunamıyor: grub-install ile ilgili sorun


14

Linux'ta GRUB'u kurtarmaya çalışıyordum. Bu öğreticiyi izleyerek işletim sistemine giriş yapabildim:

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

Sorunu çözmek için GRUB'u yükseltmem gerekiyor. Ancak, çalıştırdığımda grub-installbir hata alıyorum:

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

Benim dosya sistemi içeriyor sda4, sda5ve sda6EFI sistemi Linux takas ve Linux dosya sistemi için sırasıyla.

Bağlama veya diğer komutları kullanma konusunda çok deneyimli değilim.

Yanıtlar:


12

Varsayılan olarak grub-install komutunu çalıştırdığınızda EFI sisteminin / boot / efi olarak monte edildiğini varsayar.

EFI sisteminin monte edildiği dağıtımınıza ve önyüklemeden sonra monte edilmeyen bazı dağıtımlara bağlıdır.

Önce / boot / efi'nin takılı olup olmadığını kontrol edin

mount | grep /boot/efi

Bu işe yaramazsa, önce başka bir yere monte edilip edilmediğini görmek için aşağıdakileri deneyin.

mount | grep /dev/[efi device]

Bu çalışmaların hiçbiri işe yaramazsa:

mount /dev/[efi device] /mnt

Şimdi çalıştırın:

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

burada [efi dir], / boot / efi veya / mnt'dir ve [efi aygıtı], EFI sistem bölümlü aygıttır. Eğer bilmiyorsanız şu komutu kullanınlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
Teşekkürler, grub-install --efi-directory=/boot/EFIiçine alınıyor /mnt.
krishnakant

Belki aptal Q ama EFI direktörüm yok. Nereden edinebilirim? Yani dosyaları içermesi gerekiyordu, hangi komut onu yeniden oluşturabilir?
Lennart Rolland

@LennartRolland UEFI uyumlu bir sisteminiz varsa, sistem sürücünüz GPT bölümlenir ve bir "UEFI Sistem bölümü" içerir. genellikle ilk bölüm ve EF00 türünde olacaktır. Çoğu dağıtım bunu varsayılan olarak / boot / efi olarak bağlar ve GRUB önyükleme yükleyicisinin dosyalarını güncellemesine izin verir. Değilse, kendiniz monte etmeniz ve fstab'a eklemeniz gerekir. Bir UEFI sisteminiz de olabilir, ancak bu eski modu kullanıyor, bu da bölümlerinizin msdos türü olacağı ve / boot / efi'ye sahip olmayacağınız anlamına gelir. Garip konfigürasyonları var, ancak bunların çoğu kapsıyor.
jdwolf

EFI takılı değilse talimatlarınız yanlış. Düzenlememe bakın. mount | grep /dev/sda6çalışmıyor. EFI takılı değilse, bölümlerin türünü kontrol etmeniz gerekir.
giusti

@giusti Sadece belirli cihaz adı referansları yapmamak daha iyidir.
jdwolf

1

Grub kurtarma modu,

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

Giriş yaptıktan sonra girin sudo update-grub && sudo grub-install /dev/sda.


Daha grub-installönce yapılmamalı update-grubmı?
danger89
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.