Problemă Linux — grub rescue

Salut :wave:

Am o problemă cu Linux și nu-i dau de cap, iar ceea ce am găsit prin Google nu mă ajută prea mult. Nu mă pricep atât de bine nici la laptop-uri, nici la Linux.

La pornire îmi intră automat în grub rescue, cu eroarea: error: file '/grub/i386-pc/normal.mod' not found

Am scris aceste comenzi:

grub rescue> set root=(hd0,msdos1)
grub rescue> set prefix=(hd0,msdos1)/boot/grub

Iar problema începe de aici:

grub rescue> insmod normal
grub rescue> normal

La insmod normal primesc în continuare eroarea: error: file '/grub/i386-pc/normal.mod' not found

Cum găsesc acest fișier ca să pot trece mai departe cu insmod normal?

Poate să fie HDD-ul mort (este un laptop mai vechi)? Pentru că am un USB cu Linux Mint pe el și nu îl citește, îmi intră direct în grub rescue.

Merci! :handshake:

Salut,

Inca iti da eroarea pentru ca acel modul nu este la calea aceea.

Pe OpenSuse din cate citesc, Grub este prezent la calea /boot/grub.

Ce recomand eu este sa intrii in acel folder (dupa ce gasesti pe ce partitie este) si cu ls-uri sa-ti dai seama daca ai modulul cautat acolo.

ls (hd0,msdos1)/boot/grub - este o comanda valida de exemplu.

Daca modulul nu-i acolo, nu-i bai; ai putea sa incerci un live cd si de acolo sa-ti repari grub-ul si partitiile.

E complicat sa repari boot-ul cu grub rescue - sau mai bine zis doar sa intrii in linux (in special cand n-ai nici o idee ce kernel ai local, ce partitii), iti trebuie un livecd cu linux-ul pe care il ai instalat local (aceeasi versiune) ca sa repari bootloader-ul.

Ca sa bootezi de pe stick nu are nimic deaface cu linux-ul sau grub, trebuie sa selectezi din BIOS ca stick-ul sa fie prioritar sau sa selectezi stick-ul la Select boot device.
In plus stick-ul trebuie creat cu o aplicatie care iti face stick-ul bootabil.

2 Likes

Daca pe un sistem bazat pe Linux, dupa un timp de functionare, ai astfel de erori cu siguranta e o problema hardware grava. Nu stiu daca ai ce repara acolo si chiar daca ai face-o problema va persista si va reveni. Verifica eventualele probleme hardware, poti incepe cu hardiscul.

1 Like

Nu chiar, bootloader-ul la linux e oribil (sau cel putin era), se corupe foarte usor daca s-a oprit fortat (baterie descarcata si scos cablul de alimentare). Cat foloseam linux pe desktop aveam mereu un stick sa il pot repara daca se lua curentul.

Iar fata de Windows nu se repara automat, Windows -ul se poate corupe la fel de usor dar e facut sa aiba o partitie de recovery de pe care incearca sa booteze si sa se repare, grub nu are asa ceva.

Cum sa nu aibe legatura cu grub?

Ba sigur ca are ca doar e bootloaderul default in majoritatea distributiilor.

Pe non efi:

  • se incarca direct grub-ul de pe partitia de boot a stickului
  • grub stie cum e organizat stickul per partitii si ce sa faca in fiecare caz
  • de exemplu, si pentru livecd si pentru install preda kernelului unde isi are partitiile si ce alte dispozitive are nevoie si kernelul se incarca si ruleaza scriptul care mountuieste block device-urile si iti porneste practic userspace-ul

Pe Efi:

  • se incarca un program efi din partitia de boot, care face chainloading tot la grub (dar in EFI mode)
  • grub continua ca in pasii de mai sus

Vrei nu vrei, tot la grub ajungi in Linux. Este cel mai customizabil boot loader si merge pe o gramada de platforme (am incercat si pe arm64). Vine cu un learning curve imens, dar merita sa stii ce si cum face in spate.

1 Like

Nu are legatura cu grub-ul local dacă bootezi de pe stick. Vroiam să zic că nu de la linux-ul local e problema ca nu ii bootează de pe stick ci din bios.

Merci pentru informațiile suplimentare. Apreciez. :+1:

Da, am găsit partiția cu ls și am selectat (hd0,msdos5)/boot/grub doar că primesc această eroare atunci când vreau să merg mai departe cu insmod normal și anume: error: file '/grub/i386-pc/normal.mod' not found

Am Linux Mint, ultima versiune și cu update-urile la zi. La fel și pe USB, însă atunci când se aprinde laptop-ul nu recunoaște USB-ul și l-am setat din BIOS să fie prioritar — se duce direct în grub rescue.

Am dezactivat și Secure Boot din BIOS pentru că altfel nici măcar nu intră în grub rescue, ci rămâne blocat cu logo-ul producătorului.

Nu reușesc să intru în Grub Menu, că de acolo știu cum să repar totul din Recovery Mode.

Din câte știu, orice problemă ar avea HDD-ul ar trebui să pot de pe USB să intru în Linux Mint în modul de încercare (înainte să-l instalezi), nu? Nici asta nu pot să fac.

Verifica stick-ul pe alt laptop, foloseste alt port usb, secure boot trebuie dezactivat.

Vezi daca ai o optiune de legacy-boot mode in BIOS.

Sunt sigur ca ai facut deja asta, dar just in case dupa ce ai gasit partitia trebuie sa ii setezi prefixul grubului inainte de insmod.

@isti37, nu am un alt laptop lângă mine și am încercat USB-ul în toate porturile. Am găsit în BIOS doar Legacy USB support care este activat.


@Floris_Stoica_Marcu, da, asta este procedura pe care am urmat-o:

grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos1) (fd0)
grub rescue> set prefix=(hd0,msdos5)/boot/grub
grub rescue> set root=(hd0,msdos5)
grub rescue> insmod normal
error: file `/boot/grub/i386-pc/normal.modʼ not found.

În mod normal după insmod normal trebuia să îmi apară Grub Menu.

How to resolve grub error: file ‘/grub/i386-pc/normal.mod’ not found – Curiosity never ends (wordpress.com)

Daca chiar vrei sa te joci cu grub rescue si n-ai alta optiune.

Am găsit tutorialul de mai sus înainte să deschid subiectul aici — probabil este o problemă de hardware având în vedere că nu mă lăsa nici să folosesc USB-ul ca să pot reinstala sistemul de operare.

grub rescue> insmod linux
grub rescue> linux /boot/vimlinuz-linux root=/dev/sda4
grub rescue> initrd /boot/initramfs-linux.img

Îmi spune că insmod linux nu este o comandă validă :person_facepalming:

Eu nu cred că nu te lasă ci probabil are ceva stick-ul.

Pe 5 Mai am instalat Linux-ul de pe el…dar cine știe, poate s-a stricat ceva între timp.

O să-l încerc pe un alt laptop când am ocazia.