Nimic nu-ți taie mai tare cheful de lucru pe Linux decât un ecran negru cu un mesaj de eroare legat de GRUB. 😵💫 Fie că ai făcut o actualizare eșuată, ai instalat un alt sistem de operare sau pur și simplu ceva s-a stricat pe parcurs, un bootloader GRUB defect poate transforma sistemul tău, altfel funcțional, într-o cărămidă scumpă. Dar stai liniștit! Nu ești singur, și vestea bună este că, de cele mai multe ori, problema se poate rezolva. Acest ghid te va ghida pas cu pas prin procesul de reparare a bootloader-ului GRUB, astfel încât să-ți poți recupera sistemul și să te întorci la lucrurile importante.
Ce este GRUB și de ce contează?
GRUB (Grand Unified Bootloader) este, practic, poarta de intrare în sistemul tău Linux. El este primul program care se execută când pornești computerul și este responsabil pentru a încărca nucleul Linux (kernel-ul) și inițializa sistemul de operare. Fără GRUB, computerul tău nu știe de unde să înceapă și cum să pornească sistemul de operare. Problemele cu GRUB pot apărea din diverse motive:
- Actualizări eșuate: O actualizare incompletă sau coruptă a sistemului poate afecta fișierele GRUB.
- Instalarea unui alt sistem de operare: Adăugarea sau eliminarea unui alt sistem de operare (de exemplu, Windows) poate rescrie sau deteriora MBR (Master Boot Record), unde se află GRUB.
- Ștergerea accidentală a partițiilor: Ștergerea sau modificarea partițiilor greșite poate duce la pierderea fișierelor GRUB.
- Corupția sistemului de fișiere: Probleme cu sistemul de fișiere unde este instalat GRUB pot afecta bootloader-ul.
- Erori hardware: Defecțiuni ale hard disk-ului pot duce la coruperea datelor, inclusiv a fișierelor GRUB.
Pregătirea pentru intervenție: Ai nevoie de un stick USB bootabil
Înainte de a începe, ai nevoie de un stick USB bootabil cu o distribuție Linux. Recomandarea mea este să folosești distribuția pe care o folosești în mod normal. De ce? Pentru că te va fi mai ușor să navighezi în terminal și vei fi familiarizat cu comenzile. Dar, dacă nu mai ai acces la imaginea originală, poți folosi cu încredere distribuții precum Ubuntu, Linux Mint sau Debian. Asigură-te că ai descărcat imaginea ISO și că ai folosit un program precum Rufus (pe Windows) sau `dd` (pe Linux) pentru a crea stick-ul bootabil.
Important: Nu uita să setezi BIOS-ul computerului tău să booteze de pe stick-ul USB. De obicei, poți accesa meniul BIOS apăsând taste precum Delete, F2, F12 sau Esc la pornirea computerului. Consulta documentația plăcii tale de bază pentru instrucțiuni specifice.
Pașii pentru repararea GRUB-ului
Odată ce ai bootat de pe stick-ul USB, urmează acești pași:
- Deschide un terminal: În majoritatea distribuțiilor Linux, poți găsi terminalul în meniul de aplicații sau îl poți deschide apăsând Ctrl+Alt+T.
- Identifică partiția de sistem: Trebuie să identifici partiția unde este instalat sistemul tău Linux. O comandă utilă pentru asta este `lsblk`. Aceasta va afișa o listă cu toate unitățile de stocare și partițiile, împreună cu dimensiunea și punctele de montare (mount points). Caută partiția care are dimensiunea potrivită și conține, probabil, directorul `/home` dacă ai o partiție separată pentru el. De obicei, este ceva de genul `/dev/sda1` sau `/dev/nvme0n1p2`.
lsblk
Exemplu: Dacă vezi o partiție `/dev/sda1` cu punct de montare `/`, atunci aceasta este probabil partiția de sistem.
- Montează partiția de sistem: Acum trebuie să montezi partiția de sistem într-un punct de montare temporar. Creează un director temporar și montează partiția:
sudo mkdir /mnt/temp sudo mount /dev/sda1 /mnt/temp # Înlocuiește /dev/sda1 cu partiția ta
- Montează partițiile esențiale: Pentru ca GRUB să funcționeze corect, trebuie să montezi și alte partiții speciale, cum ar fi `/dev`, `/sys` și `/proc`:
sudo mount --bind /dev /mnt/temp/dev sudo mount --bind /sys /mnt/temp/sys sudo mount --bind /proc /mnt/temp/proc
- Chroot în sistemul tău: Comanda `chroot` te va pune, practic, în „rădăcina” sistemului tău de operare instalat. Asta înseamnă că vei putea executa comenzi ca și cum ai fi bootat direct de pe hard disk:
sudo chroot /mnt/temp
- Reinstalează GRUB: Acum este timpul să reinstalezi GRUB. Înainte de asta, asigură-te că știi unde este instalat bootloader-ul. De obicei, este în `/dev/sda` sau `/dev/nvme0n1` (adică, pe întreaga unitate de stocare, nu pe o partiție specifică). Apoi, rulează următoarea comandă (înlocuiește `/dev/sda` cu unitatea ta corectă):
grub-install /dev/sda
- Actualizează GRUB: După reinstalare, trebuie să actualizezi configurația GRUB pentru a detecta toate sistemele de operare instalate:
update-grub
- Ieși din chroot și demontează partițiile: După ce ai terminat, ieși din mediul chroot și demontează partițiile:
exit sudo umount /mnt/temp/dev sudo umount /mnt/temp/sys sudo umount /mnt/temp/proc sudo umount /mnt/temp
- Repornește computerul: În cele din urmă, repornește computerul și scoate stick-ul USB. Speranța este că sistemul tău va porni acum normal!
sudo reboot
Depanare: Ce faci dacă lucrurile nu merg bine?
Uneori, lucrurile nu merg conform planului. Iată câteva probleme comune și soluțiile lor:
- „Error: file not found” sau „No such partition”: Verifică de două ori dacă ai identificat și montat corect partiția de sistem. Asigură-te că calea către fișierele GRUB (de obicei în `/boot/grub`) este corectă.
- „grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn’t exist”: Această eroare poate apărea dacă sistemul tău este dual-boot cu Windows și GRUB încearcă să instaleze module incompatibile. Încearcă să specifici platforma corectă cu `–target=x86_64-efi` (dacă sistemul tău este pe 64 de biți și folosește UEFI) sau `–target=i386-pc` (dacă folosește BIOS).
- După repornire, sistemul încă nu bootează: Verifică ordinea de bootare în BIOS. Asigură-te că unitatea de stocare cu sistemul tău Linux este selectată ca prioritate.
Alternativa: Boot-Repair
Dacă pașii de mai sus ți se par prea complicați, există o unealtă grafică numită Boot-Repair care poate automatiza mare parte din proces. Aceasta este disponibilă pe multe distribuții Linux live. Pentru a o folosi, bootează de pe un stick USB live, instalează Boot-Repair și rulează-o. De obicei, ea va detecta automat problemele și va oferi soluții.
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
boot-repair
Opinie: Deși Boot-Repair este o opțiune convenabilă, recomand totuși să înțelegi pașii manuali descriși mai sus. Asta îți va oferi mai mult control și te va ajuta să depanezi probleme mai complexe. În plus, te va ajuta să înțelegi mai bine cum funcționează sistemul tău Linux. Eu personal am preferat întotdeauna să fac manual, pentru a înțelege ce se întâmplă „sub capotă”.
Un sfat important: Înainte de a face orice modificare la GRUB, fă o copie de rezervă a fișierelor de configurare. Acesta te poate salva de multe bătăi de cap dacă ceva nu merge bine.
Prevenirea este mai bună decât tratamentul
Câteva sfaturi pentru a evita problemele cu GRUB pe viitor:
- Fă backup-uri regulate ale sistemului: În cazul în care ceva merge prost, vei putea restaura sistemul la o stare funcțională.
- Fii atent la actualizări: Nu întrerupe niciodată o actualizare de sistem în timpul procesului, mai ales dacă include actualizări ale GRUB.
- Documentează modificările: Dacă faci modificări manuale la configurația GRUB, notează ce ai făcut, astfel încât să poți reveni dacă e nevoie.
- Informează-te: Înțelege cum funcționează GRUB și cum interacționează cu celelalte componente ale sistemului tău.
Concluzie: Problemele cu GRUB pot fi frustrante, dar nu sunt, de obicei, insurmontabile. Cu ajutorul acestui ghid și cu puțină răbdare, vei putea repara bootloader-ul Linux și să-ți recuperezi sistemul. Mult succes!