Yritin pelastaa GRUBia Linuxissa. Pystyin kirjautumaan käyttöjärjestelmään seuraamalla tätä opetusohjelmaa:

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

Minun on päivitettävä GRUB ongelman korjaamiseksi. Kuitenkin, kun suoritan grub-install, saan virheilmoituksen:

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

Tiedostojärjestelmäni sisältää sda4, sda5 ja sda6 EFI-järjestelmälle, Linux-vaihto ja Linux-tiedostojärjestelmälle.

En ole kovin kokenut mountin tai muiden komentojen käyttöä.

Vastaa

Kun suoritat grub-install oletusarvoisesti se olettaa, että EFI-järjestelmä on asennettu nimellä / boot / efi

Se riippuu jakelustasi mihin EFI-järjestelmä on asennettu ja joillekin jakeluille sitä ei asenneta käynnistämisen jälkeen.

Tarkista ensin, onko / boot / efi asennettu

mount | grep /boot/efi 

Jos tämä ei toimi, kokeile seuraavalla tavalla nähdäksesi, onko se asennettu muualle.

mount | grep /dev/[efi device] 

Jos kumpikaan näistä ei toimi:

mount /dev/[efi device] /mnt 

Suorita nyt:

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

missä [efi dir] on joko / boot / ef i tai / mnt ja [efi device] on laite, jossa on EFI-järjestelmäosio. Jos et tiedä, käytä komentoa lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Kommentit

  • Kiitos, grub-install --efi-directory=/boot/EFI kun chroot osaksi /mnt.
  • Ehkä tyhmä Q, mutta en ' t: llä on EFI-osoite. Mistä saan sen? Tarkoitan, että sen on tarkoitus sisältää tiedostoja, mikä komento voi luoda sen uudelleen?
  • @LennartRolland Jos sinulla on UEFI-yhteensopiva järjestelmä, järjestelmäasemasi olla GPT-osioitu ja sisältää " UEFI-järjestelmäosion. " yleensä ensimmäinen osio ja sen tyyppi on EF00. Monet jakelut liitetään tämä oletusarvoisesti nimellä / boot / efi muun muassa sallii GRUB-käynnistyslataimen päivittää tiedostot. Jos ei, ' sinun on asennettava se itse ja lisättävä se fstabiin. saattaa olla myös UEFI-järjestelmä, mutta se käyttää vanhaa tilaa, mikä tarkoittaa, että osiot ovat msdos-tyyppisiä ja sinulla ei ole ' a / boot / efi. Pahempaa kokoonpanoa on olemassa, mutta se kattaa suurimman osan niistä.
  • Ohjeesi, jos EFI: tä ei ole asennettu, ovat väärät. Katso muokkaukseni. mount | grep /dev/sda6 ei toimi ' ei toimi. Jos EFI: tä ei ole asennettu, sinun on tarkistettava osioiden tyyppi.
  • @giusti Todennäköisesti parempi vain olla tekemättä tiettyjä laitenimen viittauksia.

Vastaus

Grub-pelastustilaa voidaan käsitellä seuraavasti:

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

Kun kirjaudut sisään, kirjoita sudo update-grub && sudo grub-install /dev/sda.

Kommentit

  • Eikö grub-install ole valmis ennen update-grub?
  • kun kirjoitin ensimmäisen komennon, sain " bash: syntaksivirhe lähes odottamaton tunnus `(' "
  • @ Another.Chemist: annettujen komentojen pitäisi mennä luulen, että interaktiiviseen GRUB-konsoliin. Se tapahtuisi ennen ytimen käynnistymistä. Virheesi näyttää siltä, että olet kirjoittanut komennot Bashiin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *