- GRUB obično oštećuju promjene particija, instalacije drugih sustava ili pogreške pri ažuriranju, ali gotovo uvijek se može oporaviti.
- Moguće je ručno pokrenuti sustav iz GRUB konzole, pronaći ispravnu particiju i ponovno instalirati bootloader unutar samog sustava.
- S Ubuntu Live USB-om možete koristiti Boot-Repair ili ručni chroot za ponovnu instalaciju GRUB-a i regeneraciju njegove konfiguracije.
- Čak i na šifriranim sustavima, ispravnim montiranjem particija i ponovnom instalacijom GRUB paketa, proces pokretanja može se vratiti u normalu.

Kada se GRUB pokvari i vaš GNU/Linux sustav prestane s pokretanjemOsjećaj da ste izgubili računalo je sasvim stvaran: crni ekran, čudne greške ili, još gore, izravan skok na BIOS/UEFI. Srećom, u većini slučajeva niste ništa izgubili; ono što je pokvareno je upravitelj pokretanja, a može se oporaviti pažljivim slijedećim nekoliko koraka. Ako trebate dijagnosticirati vremena i uska grla, možete koristiti... profiliranje procesa pokretanja pomoću systemd-analyze-a.
U ovom članku ćemo detaljno i koristeći najjasniji mogući jezik vidjetiPokrit ćemo kako popraviti GRUB pomoću naredbenog retka i raznih metoda s Live CD-ima/USB-om, uključujući automatizirane alate poput Boot-Repaira i ručne postupke s chrootom. Također ćemo proučiti zašto GRUB često ne radi i što učiniti kada nedostaju naredbe poput [commands missing]. update-grub ili čak grub-install.
Što je GRUB i zašto se može pokvariti?
GRUB (GNU GRand Unified Bootloader) je upravitelj pokretanja sustava koji koristi velika većina GNU/Linux distribucija.To je onaj početni zaslon na kojem birate koji operativni sustav pokrenuti kada ih imate instalirano više ili gdje odabirete način oporavka ili drugu jezgru.
Ako je GRUB oštećen ili nestaje s MBR ili EFI particijeRačunalo će jednostavno prestati s pokretanjem i zaglavit će se na poruci o pogrešci, GRUB konzoli ili izravno u postavkama BIOS-a/UEFI-ja. To ne znači da je sustav izgubljen, samo da stroj ne zna "odakle" pokrenuti sustav.
Najčešći razlozi za prekid rada GRUB-a Obično su to:
- Instaliranje Windowsa nakon GNU/LinuxaWindows često prepisuje MBR ili EFI particiju vlastitim bootloaderom, brišući referencu na GRUB. Ako vam se to dogodi, možda će biti korisno slijediti određeni vodič na GRUB spašavanje u sustavu Windows 10.
- Nepažljivo dodirivanje particija diskaPromjena veličine, brisanje ili premještanje particija može uzrokovati da putanja na kojoj GRUB očekuje pronaći svoje datoteke više ne postoji ili da se promijeni njezin broj. Kako biste smanjili rizike, preporučljivo je naučiti kako... upravljajte particijama bez gubitka podataka.
- Neka čudna nadogradnjaNije najčešća stvar, ali ažuriranje sustava ili samog GRUB-a može biti nepotpuno ili pogrešno konfigurirano i ostaviti boot neupotrebljivim.
- Promjene postavki UEFI/BIOS-a ili redoslijeda pokretanjaOnemogućavanje sigurnog pokretanja, promjena načina pokretanja (Legacy/UEFI) ili mijenjanje glavnog diska može uzrokovati gubitak GRUB unosa; ako ste u nedoumici, provjerite što se događa ako dodirnete osigurati boot.
Dobra vijest je da se u gotovo svim ovim slučajevima GRUB može ponovno izgraditi. i ponovno pokrenite sustav bez ponovne instalacije cijelog sustava, bilo iz samog GRUB izbornika, iz načina spašavanja ili pomoću Live USB-a.
Popravak GRUB-a iz vlastite naredbene linije (bez Live USB-a)
Ako kada uključite računalo i dalje vidite GRUB izbornik ili barem GRUB konzoluMožete pokušati ručno pokrenuti sustav od tamo, a zatim ponovno instalirati upravitelj pokretanja kako biste sve vratili u prethodno stanje.
Pristupite GRUB izborniku i zaustavite odbrojavanje
Čim se pojavi GRUB izbornik, pritisnite tipke sa strelicama (gore ili dolje) Za zaustavljanje mjerača vremena koji pokreće automatsko pokretanje. Ako je GRUB razumno funkcionalan, ovo će vas ostaviti zaglavljenim u izborniku bez pokretanja sustava.
Ako je greška ozbiljnija i GRUB ne uspijeva prikazati svoj grafički izbornikMoguće je da će se konzola pojaviti izravno s porukom poput grub> o grub rescue>U tom slučaju, radit ćemo odatle bez pregledavanja jelovnika.
Za pristup GRUB-ovoj naprednoj naredbenoj liniji iz izbornikaJednostavno pritisnite tipku cOvo će vas odvesti do GRUB prompta gdje možete upisati naredbe koje ćemo sljedeće koristiti.
Popis diskova i particija pomoću GRUB-a
Prvo što treba učiniti je saznati koje diskove i particije GRUB vidiU GRUB konzoli upišite:
ls
Naredba ls GRUB prikazuje diskove kao (hd0), (hd1), Itd, a njegove particije kao (hd0,1), (hd0,msdos1), (hd0,gpt2) i slične kombinacije ovisno o tome je li tablica particija MBR ili GPT.
Jednostavan primjer bi bio da se pojavljuje samo jedan disk: (hd0) s particijama poput (hd0,msdos1) y (hd0,msdos5)Na računalima s više diskova, mogli biste vidjeti nešto poput ovoga:
(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)
Svaki od tih elemenata je kandidat za hostiranje vašeg sustava i direktorija /bootšto je ono što sada moramo identificirati.
Pronađite mapu /boot i direktorij GRUB
Sljedeći korak je pronaći na kojoj je particiji instaliran GNU/Linux. i, unutar njega, gdje je direktorij u koji GRUB obično pohranjuje svoje datoteke /boot/grub.
Za istraživanje svake particije, ponovno upotrijebite ls ali s navođenjem diska i particijeuvijek završavajući kosom crtom na kraju:
ls (hd0,1)/
Imajte na umu da je raspored tipkovnice u GRUB konzoli obično američki.Dakle, početne i zatvorene zagrade obično su na tipkama 9 i 0, a kosa crta / Može biti tamo gdje obično ide crtica. - na španjolskoj tipkovnici.
Ako vidite tipične GNU/Linux direktorije poput bin, etc, home, usr, ItdGledate sistemsku particiju. Unutar nje trebali biste pronaći direktorij boot:
ls (hd0,1)/boot/
Ako se datoteke poput ovih pojave u toj putanji vmlinuz-... e initrd.img-... i imenik grubVeć ste pronašli particiju kojoj trebamo reći GRUB-u gdje da traži kernel.
Definirajte GRUB putanju i korijenski direktorij sustava
Nakon što je identificirana ispravna particija, GRUB-u je potrebno reći gdje se nalazi njen direktorij i koji je korijenski direktorij sustava.Pretpostavimo da je (hd0,1)U GRUB konzoli pokrenite:
set prefix=(hd0,1)/boot/grub
Na nekim tipkovnicama, tipka na kojoj se obično nalazi upitnik može proizvesti znak jednakosti. =Dakle, ako primijetite čudno ponašanje, isprobajte različite tipke dok se ne pojavi ispravan znak.
Zatim postavlja korijen datotečnog sustava koji će se koristiti za pokretanje.:
set root=(hd0,1)
S ove dvije naredbe, GRUB sada zna gdje se nalazi njegova konfiguracija i koju particiju treba koristiti. kao referenca za početak.
Pogledajte dostupne kernele i ručno učitajte jedan
Sada je vrijeme da provjerimo koje kernele imamo u /boot i učitajte jedan od njihMožete ga ponovno koristiti. ls da pogledam:
ls (hd0,1)/boot/
Trebali biste vidjeti jednu ili više datoteka s imenom sličnim vmlinuz-6.1.0-10-amd64, i njihove odgovarajuće initrd slike, na primjer initrd.img-6.1.0-10-amd64Ako trebate ručno kompajlirati ili instalirati kernele, pogledajte Kako preuzeti i kompajlirati Linux kernelOdaberite jednu od jezgri i učitajte je sa:
linux /boot/vmlinuz-6.1.0-10-amd64 root=/dev/sda1
Put do korijenskog uređaja (root=/dev/sdXn) mora odgovarati particiji na kojoj se nalazi vaš sustavGRUB numerira diskove kao hd0, hd1itd., dok se u GNU/Linuxu pojavljuju kao /dev/sda, /dev/sdbitd. Tipična ekvivalencija je:
- hd0 → / dev / sda
- hd1 → / dev / sdb
- hd2 → / Dev / SDC
- hd3 → /dev/sdd
Kako bi bilo lakše tipkati duge putanje i imena u GRUB konzoli možete koristiti ključ TAB za automatsko dovršavanje i imena datoteka i putanja direktorija.
Ne zaboravite prenijeti i odgovarajuću initrd slikunešto poput:
initrd /boot/initrd.img-6.1.0-10-amd64
Nakon što ste definirali kernel i initrdPreostaje samo pokrenuti proces pokretanja s:
boot
Ako sve prođe dobro, sustav bi se trebao pokrenuti s odabranom jezgrom.Ako naiđete na probleme, postupak možete ponoviti s drugom dostupnom jezgrom, na primjer starijom, dok se ispravno ne pokrene. Ako jezgri trebate dodati i privremene opcije, pogledajte kako. Dodajte parametre pokretanja u GRUB.
Ponovno instalirajte GRUB s već pokrenutog sustava
Nakon što se uspijete ponovno prijaviti u sustav, ključno je osigurati da je GRUB ispravno instaliran. tako da ne morate ponavljati ovaj ručni postupak svaki put kada ponovno pokrenete računalo.
Otvorite terminal s privilegijama superkorisnika (ili se prijavite kao root ili pomoću sudo) i pokrenite:
grub-install /dev/sda
Obavezno navedite samo cijeli disk, a ne određenu particiju.to jest, /dev/sda i ne /dev/sda1Također provjerite koji vam je glavni tvrdi disk (/dev/sda, /dev/sdbitd.) prije pokretanja naredbe.
Nakon toga, preporučljivo je potpuno regenerirati GRUB konfiguraciju i initramfs. tako da se otkriju svi sustavi i jezgre:
update-grub2
update-initramfs -u
Nakon ovoga, GRUB bi trebao biti potpuno operativan.s ažuriranim izbornikom i spremnim za sljedeća ponovna pokretanja.
Popravite GRUB pomoću Boot-Repair s Ubuntu Live CD-a/USB-a

Kada se sustav uopće ne pokreće ili preferiramo automatsko rješenjeAlat za popravak pokretanja sustava jedna je od najpraktičnijih opcija. Radi prvenstveno iz živog Ubuntu (ili izvedenog) okruženja te ponovno instalira i rekonfigurira GRUB gotovo bez intervencije korisnika.
Pripremite Live USB/CD
Prvi korak je stvaranje bootabilnog medija s Ubuntuom u Live načinu radaPreuzmite Ubuntu ISO sliku sa službene web stranice i na drugom računalu stvorite bootabilni USB pogon:
- Na Windowsima možete koristiti Rufus za snimanje ISO datoteke na USB pogon.
- U drugim GNU/Linux distribucijama možete koristiti alate poput Startup Disk Creator-a (uključeno u Ubuntu) ili
ddvrlo oprezno.
Nakon što pripremite USB ili CDSpojite ga na uređaj koji ima pokvaren GRUB.
Pokretanje s Ubuntu Live USB/CD-a
Uključite ili ponovno pokrenite računalo i uđite u izbornik brzog pokretanja, što je obično jedan od ovih ključeva: F12, Esc, F2, F10 (Ovo ovisi o proizvođaču.) Zatim odaberite USB pogon ili CD pogon kao uređaj za pokretanje. Ako trebate ažurirati BIOS zbog nekompatibilnosti, provjerite kako. ažurirati BIOS firmware.
Kada se pojavi Ubuntu izbornik, odaberite opciju isprobavanja sustava bez instaliranja (Nešto poput „Isprobajte Ubuntu bez instaliranja“ / „Isprobajte Ubuntu“). Ovo će učitati Live okruženje iz memorije, bez dodirivanja diskova.
Instalirajte Boot-Repair u Live okruženju
Nakon što se nađete unutar Live radne površine, otvorite terminal. (obično iz izbornika aplikacija ili pomoću Ctrl + Alt + TNakon toga ćete morati dodati repozitorij Boot-Repair i instalirati alat; postupak se s vremenom mijenja, ali općenito je nešto ovako:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repair
Ovaj će proces preuzeti Boot-Repair i njegove ovisnostiTrebat će vam internetska veza, stoga prije početka provjerite ima li Live pristup mreži (žičnoj ili WiFi).
Pokrenite Boot-Repair i koristite preporučeni popravak
Kada je instalacija završena, pokrenite alat s:
boot-repair
Otvorit će se grafički prozor koji automatski analizira instalirane diskove i sustave.Vidjet ćete dvije glavne opcije: preporučenu i naprednu. Za većinu korisnika dovoljno je jednostavno kliknuti na preporučenu opciju. "Preporučeni popravak".
Boot-Repair će ponovno instalirati GRUB, regenerirati njegovu konfiguraciju i prilagoditi boot unos na UEFI ili MBR.Ovisno o vrsti sustava, tijekom procesa može prikazivati poruke o tome što radi i, u nekim slučajevima, tražiti potvrdu određenih koraka.
Kada je popravak završen, alat obično prikazuje izvješće s rezultatom. i poveznicu na zapisnik (osim ako u njegovim opcijama ne navedete drugačije). Ovaj zapisnik je koristan ako nešto pođe po zlu i trebate zatražiti pomoć na forumima ili u zajednicama.
Ponovno pokrenite računalo i provjerite GRUB izbornik
Nakon što Boot-Repair završi svoj rad, zatvorite alat, isključite Live sustav i izvadite USB/CD.Zatim normalno uključite računalo.
Ako je sve prošlo kako treba, trebali biste ponovno vidjeti GRUB izbornik. Nakon što su otkriveni svi sustavi: vaš glavni GNU/Linux, druge Linux distribucije koje možda imate, mogući Windows sustavi itd. Odaberite onaj koji želite i provjerite pokreće li se bez problema.
Ako i dalje postoje greške, možete ponoviti postupak popravka pokretanja.Ali ovaj put testiranje naprednih postavki: odabir diska na koji će se instalirati GRUB, prisilno popravljanje datotečnog sustava, promjena zadanog sustava za pokretanje ili podešavanje vremenskog ograničenja izbornika.
Ručni popravak GRUB-a pomoću Ubuntu Live CD-a/USB-a (chroot)
Kada se ne želimo oslanjati na Boot-Repair ili nije dostupanGRUB s Live USB-a možemo popraviti na ručniji način, koristeći klasični trik chroot: montirati sistemsku particiju i "ući" u nju kao da smo je pokrenuli.
Identificirajte i montirajte GNU/Linux particiju
Pokretanje s Ubuntu Live USB/CD-a Kao i prije, odaberite opciju isprobavanja bez instaliranja. Nakon što se nađete na radnoj površini, otvorite terminal.
Započnite popisivanjem sistemskih particija pomoću alata poput lsblk o fdisk:
sudo lsblk
sudo fdisk -l
Pronađite particiju na kojoj je instaliran vaš GNU/Linux sustav.Obično će biti nešto poput /dev/sda1, /dev/sda2, /dev/nvme0n1p2itd. Možete koristiti veličinu, tip (Linux datotečni sustav) ili točku montiranja kao vodič ako ga je grafičko okruženje već automatski montiralo. Iskoristite ovu priliku da provjerite zdravlje diska i izvršite osnovno održavanje koristeći vodiče iz održavanje tvrdog diska u Linuxu.
Nakon što to razjasnite, stvorite točku montiranja i montirajte korijensku particiju (pod pretpostavkom da jest) /dev/sda1):
sudo mount /dev/sda1 /mnt
Ako imate particiju /boot zasebna ili neovisna EFI particijaTakođer ćete ih morati montirati unutra /mnt da bi chroot ispravno funkcionirao:
sudo mount /dev/sdaX /mnt/boot # si /boot está separado
sudo mount /dev/sdY /mnt/boot/efi # si hay partición EFI
Montirajte potrebne datotečne sustave i koristite chroot
Prije upotrebe chroot Neke datotečne sustave iz Live sustava potrebno je "ubrizgati" u montirano okruženje.korištenjem nosača tipa bind, Na primjer:
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done
Ako prilikom izvođenja ove petlje vidite poruku „sintaktička greška blizu do“Dvaput provjerite jeste li ispravno unijeli razmake, točke i zareze. Ako niste sigurni, možete montirati svaki direktorij jedan po jedan:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run
Nakon što ste sve postavili, prijavite se na instalirani sustav s:
sudo chroot /mnt
Od ovog trenutka nadalje, naredbe koje izvršavate ponašat će se kao da ste pokrenuli instalirani GNU/Linux sustav.ne Live sustav. To vam omogućuje ponovnu instalaciju GRUB-a i regeneraciju njegove konfiguracije kao što biste to inače učinili.
Ponovno instalirajte i konfigurirajte GRUB iz chroota
Unutar chroota, ponovna instalacija GRUB-a je jednostavna kao pokretanje (podešavanje glavnog diska prema vašem slučaju):
grub-install /dev/sda
Ako prilikom pokušaja primite poruku da grub-install ne postojiGRUB paket možda nije instaliran ili je oštećen. U tom slučaju pokušajte ga ponovno instalirati:
apt update
apt install --reinstall grub-pc # para sistemas BIOS/MBR
apt install --reinstall grub-efi-amd64 # para sistemas UEFI x86_64
Nakon što je naredba grub-install biti dostupan i raditi, regenerira GRUB konfiguraciju. Ako nemate update-grubImajte na umu da je to u osnovi "prečac" do grub-mkconfigtako da ga možete izravno koristiti:
grub-mkconfig -o /boot/grub/grub.cfg
Ova naredba će analizirati sustav, otkriti kernele i ostale instalirane operativne sustave. i generirat će datoteku grub.cfg sa svim potrebnim unosima za pokretanje. Ako radite u UEFI-ju i nailazite na probleme povezane sa sigurnim pokretanjem, pogledajte vodič na Kršenje sigurnog pokretanja: uzroci i rješenja.
Izađite iz chroota, odmontirajte se i ponovno pokrenite računalo
Kada završite s ponovnom instalacijom GRUB-a i regeneracijom konfiguracijeIz chroota izađite upisivanjem:
exit
Zatim, odmontirajte datotečne sustave koje ste montirali (obrnutim redoslijedom je najčišći):
sudo umount /mnt/run
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/boot/efi # si la montaste
sudo umount /mnt/boot # si la montaste
sudo umount /mnt
Sada možete ponovno pokrenuti računalo, ukloniti USB/CD Live i pokušati normalno pokrenuti računalo.Obično se GRUB izbornik ponovno pojavi i sustav funkcionira normalno.
Posebni slučajevi: šifrirani sustavi i nedostajući GRUB alati
U šifriranim sustavima (na primjer, s LUKS-om) ili složenijim instalacijamaProblemi s GRUB-om mogu postati malo delikatniji, posebno ako kombinirate šifrirane particije, EFI particije i promjene kernela.
Tipičan scenarij je želja za pokretanjem s novim kernelom. (na primjer, nadogradnja s verzije 6.4.x na 6.5.x) i otkrivanje da GRUB izbornik i dalje pokazuje na staru jezgru ili izravno na onu koja više ne postoji. Ako u tom trenutku pokrenete update-grub I ispostavi se da nije instalirano, a ti vučeš veze grub-mkconfig -o /boot/grub/grub.cfgKonfiguraciju možete ostaviti u nekonzistentnom stanju. Ako je problem uzrokovan lošim unosom u /etc/fstabProvjerite vodič o tome kako Rješavanje problema s pokretanjem pomoću fstaba.
U šifriranim sustavima često se događa da nakon unosa lozinke za dešifriranjeUmjesto nastavka procesa pokretanja, stroj prelazi na UEFI konfiguraciju ili se zaglavi s minimalnim porukama, što ukazuje na ozbiljan problem u GRUB-u ili fazi učitavanja kernela.
Ako slijedite vodič s Live USB-a i naiđete na sintaktičku grešku prilikom izvršavanja petlji for ili složene naredbeDvaput provjerite razmake, navodnike i interpunkcijske znakove. Mnogi vodiči kopiraju naredbe s prijelomima redaka ili neobičnim znakovima koje ljuska ne interpretira ispravno ako ih upišete ručno.
Kada grub-install Nije čak ni dostupno unutar chroota. (nije unutra) /usr/sbin niti u /usr/bin), označava da GRUB paket nije instaliran ili da je sustav djelomično oštećen. U tom slučaju, prvo pokušajte oporaviti alat:
apt update
apt install grub-pc grub-efi-amd64
Ako upravitelj paketa radi i preuzima potrebne pakete, možete se oporaviti grub-install i nastavite s normalnom ponovnom instalacijom. Ako ne možete ni instalirati pakete, možda biste trebali razmisliti o sigurnosnoj kopiji podataka i čistoj ponovnoj instalaciji, iako je to obično krajnja opcija.
U svakom slučaju, čak i u šifriranim konfiguracijamaOpća ideja ostaje ista: pronaći ispravnu particiju, montirati sve potrebno, chrootirati, ponovno instalirati GRUB i regenerirati konfiguraciju. Najteži dio je ispravno identificirati koje su particije uključene u proces pokretanja (EFI, /boot nešifrirano, LUKS volumen, LVM itd.).
Mirno, provjeravajući svaku naredbu i zapisujući poruke o pogreškamaSasvim je moguće spasiti sustav koji na prvi pogled izgleda "mrtav" zbog GRUB-a, bilo da koristite grafičke alate poput Boot-Repaira ili to radije radite ručno pomoću chroota i tradicionalnih naredbi.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje pisanjem, a to je ono što ću učiniti na ovom blogu, pokazati vam sve najzanimljivije stvari o gadgetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se snađete u digitalnom svijetu na jednostavan i zabavan način.
