Recuperare rapidă a bootloader-ului Grub în Ubuntu.

Acum cunoscut sub numele de GRUB Legacy. Dacă trebuie să restaurați GRUB Legacy, de exemplu pentru că aveți Versiunea Ubuntu mai vechi de 9.10, atunci trebuie să citiți .

În ciuda faptului că acestea sunt de fapt două versiuni ale aceleiași aplicații numite GRUB, nu au nimic în comun și sunt programe complet diferite.

Orice hard disk bootabil are așa-numitul Master Boot Record. (Înregistrare de pornire principală în limba engleză, MBR), care este accesat de BIOS atunci când computerul pornește. În această zonă, bootloader-ul sistemului trebuie să scrie informații despre fișierele principale care sunt deja stocate pe partițiile hard disk.

De fiecare dată când instalați sau restaurați sisteme de la Microsoft, încărcătoarele Linux sunt înlocuite și trebuie reinstalate.

Recuperare folosind LiveCD/USB

Prima cale

Terminal

Sudo fdisk -l

Din tabel vedem că Linux este (în cazul nostru) pe partiția /dev/sda1

Acum vom conecta această partiție la /mnt cu următoarea comandă:

sudo mount /dev/sda1 /mnt

Apoi, pentru a scrie grub în MBR, introduceți următoarea comandă:

sudo grub-install --root-directory=/mnt /dev/sda

Dacă trebuie doar să restaurați MBR-ul unui disc (de exemplu, după pix Instalare Windows), atunci acest lucru este suficient.

Dacă trebuie să actualizați și meniul grub (de exemplu, după instalarea Windows), atunci trebuie să faceți:

sudo update-grub --output=/mnt/boot/grub/grub.cfg

Recuperare finalizată!

Recuperare folosind chroot

Porniți sistemul de pe LiveCD/USB și deschideți un terminal. Pentru a face acest lucru, puteți apăsa Alt + F2 și introduceți comanda:

Sudo fdisk -l

Următorul tabel ar trebui să fie afișat pe ecran:

/dev/sda1 29 8369 66999082+ 83 Linux /dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS /dev/sda3 13996 14593 4803435 5 Extins

Acum trebuie să montați partiția Linux (aici este sda1) și câteva directoare mai importante:

sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys

Dacă partiția /boot sau /var este separată, atunci trebuie să le montați pe /mnt/boot și /mnt/var

Acum să trecem la mediul chroot:

sudo chroot /mnt

Acum trebuie să instalați GRUB folosind comanda:

grub-install /dev/sda

Dacă primiți un mesaj de eroare, atunci utilizați comanda: grub-install --recheck /dev/sda

De asemenea, în unele cazuri, opțiunea poate ajuta:

grub-install --recheck --no-floppy /dev/sda

Dacă totul a mers bine, ieșiți din chroot cu comanda:

Acum trebuie să demontați partițiile:

sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt

Dacă ați montat partiția /boot, utilizați comanda:

sudo umount /mnt/boot

Apoi reporniți computerul cu comanda:

sudo reboot

Dacă este necesar, puteți actualiza meniul bootloader-ului cu comanda:

sudo update-grub

Recuperare în modul de salvare

Cu absenta disc de pornire, puteți restaura Grub din consola sa. Recuperarea este după cum urmează: mai întâi trebuie să încărcați toate modulele, astfel încât toate funcționalitățile Grub să devină disponibile, apoi porniți de la partiția dorită. După cum știți, Grub este format din două părți. Prima parte este înregistrată în MBR-ul discului. Conține funcționalitatea de bază, adică are o consolă în modul de salvare și nimic altceva. Mai întâi trebuie să determinați pe ce partiție se află a doua parte a grub (se află în directorul /boot/grub), încărcați modulele lipsă. Și numai atunci va fi posibil să dați o comandă pentru a porni de la partiția dorită. Doar patru comenzi sunt disponibile în modul de salvare:

Se setează unset insmod

Mai întâi trebuie să dai comanda:

Ca răspuns, va afișa, de exemplu, următoarele:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Uneori, Grub poate determina incorect care sisteme de fișiere sunt pe partiții de disc. În acest caz, le definește ca msdos. Trebuie să încercăm să ghicim ce discuri vedem. În acest caz, două discuri sunt vizibile. Indexul discului 0 conține trei partiții, indexul discului 1 conține două partiții. Cunoscând structura discurilor dvs., este ușor să determinați discul dorit.

Grub numește secțiunile în ordine inversă. Și devine neclar ce se înțelege prin (hd0,msdos3) - prima secțiune sau a treia? Aici puteți ieși folosind sintaxa (hd0,1). Trebuie amintit că în Grub numărul de discuri începe de la 0, iar numărul de partiții începe de la 1. Să presupunem că Linux este instalat pe primul disc din prima partiție, adică (hd0,1). Dăm comanda:

Set prefix=(hd0,1)/boot/grub set root=(hd0,1)

Cu aceste comenzi, specificăm să folosim discul (hd0,1) pentru alte comenzi. După aceea, trebuie să verificăm dacă această secțiune are într-adevăr ceea ce ne trebuie. Dăm comanda:

Ls /boot/grub

dacă ca răspuns obținem o listă cu toate fișierele din acest director, atunci discul și partiția sunt selectate corect. Încărcare module:

insmod ext2 insmod normal normal

Verificați ortografia primei comenzi pentru sistemele de fișiere ext3 și ext4

Dacă sistemul de operare este localizat pe o partiție formatată în btrfs, atunci executați următoarele comenzi: set prefix=(hd0,1)/@/boot/grub set root=(hd0,1)

incarcare module:

insmod btrfs insmod normal

porniți GRUB:

După aceea, Grub va intra în modul cu funcții complete. Acesta va găsi automat toate sistemele de operare care pot fi încărcate și va afișa meniul Grub.

Recuperarea ulterioară se reduce la pornirea Linux-ului de care avem nevoie și în el, de la rădăcină, dați comanda:

Grub-install /dev/sdX

Unde sdX este discul pe care doriți să instalați Grub.

Astăzi aș dori să vă arăt o modalitate de a restaura GRUB 2 după instalarea sau reinstalarea Windows pe un computer Linux.

Dacă folosești un dual boot din Windows și Linux pe computer, atunci probabil că știi deja că în timpul instalării sistemului de operare, pentru a avea mai puțină agitație, este mai bine să instalezi mai întâi și apoi numai Debian sau orice vrei să instalezi Acolo. Acest lucru se datorează faptului că Windows nu vede altele sisteme de operareîn plus față de propriul încărcător de pornire și pe lângă bootloader-ul GRUB, își scrie propriul bootloader în MBR. În consecință, dacă instalați mai întâi Linux și apoi Windows, în cele din urmă nu veți putea porni Linux, deoarece pur și simplu nu va fi în lista de pornire. Dar ce se întâmplă dacă tot trebuie să reinstalezi Windows sau doar să-l instalezi pe un computer Linux? Nu reinstalați de dragul acestui lucru și Linux? Nu. După tot ce faceți, va trebui să restaurați bootloader-ul GRUB.

Pentru a demonstra, voi prezenta cazul meu cu mașini virtuale, dar Pe aici nu este diferit de restaurarea GRUB pe hardware real.

Am unul virtual HDD Au fost instalate Ubuntu 14.04 și Windows 7. Și așa am vrut să încerc developer Versiunea Windows 10. Am decis să-l instalez deasupra celor șapte. După cum era de așteptat, după toate manipulările, Windows 10 a funcționat, dar Ubuntu nu a pornit. Deoarece aveam nevoie de Ubuntu pentru muncă, am decis să refac GRUB-ul suprascris.

Restaurarea GRUB 2

Mai întâi trebuie să porniți de pe LiveDVD. Când sistemul pornește, deschideți terminalul (Ctrl + Alt + T) și priviți structura partiției folosind comanda:

Sudo fdisk -l


După cum puteți vedea din rezultatul comenzii, discul este împărțit în 6 partiții: două NTFS pentru Windows, Extended (extins) și trei marcate ca Linux pentru Ubuntu. Pentru a instala GRUB, trebuie să montați partiția rădăcină Ubuntu - my sda5:

sudo mount /dev/sda5 /mnt

Și pentru a scrie GRUB la intrarea de pornire, trebuie să rulați comanda în terminal:

sudo grub-install --root-directory=/mnt /dev/sda

După aceea, puteți reporni computerul:

sudo reboot

GRUB a fost restaurat. Dar a fost un moment. Acum pe mașină virtuală Windows 10 a fost instalat, dar în meniul bootloader-ului era încă afișat ca șapte, motiv pentru care a apărut o eroare când încercam să-l porniți. Pentru a remedia acest lucru, a fost suficient să porniți în Ubuntu (nu LiveDVD) și să actualizați bootloader-ul prin terminal:

sudo update-grub

Acesta este cât de ușor este să restaurați GRUB după instalarea Windows

Postarea anterioară
Postarea următoare

În ciuda faptului că sistemul de operare Linux ocupă o cotă mică de piață, diferitele sale versiuni câștigă popularitate cu ajutorul lor gratuit oficial, destul de loc de muncă stabil, precum și o flexibilitate considerabilă în setări. Da, unele lucruri nu funcționează la fel ca pe Windows sau Mac OS și majoritatea dintre ele software creat în primul rând pentru aceste două produse. Dar asta nu îi oprește pe toți.

Este necesară recuperarea pentru ca sistemul de operare Linux să funcționeze Grub bootloader dacă apare o defecțiune.

Deși aproape orice Linux build funcționează impecabil, uneori poate apărea o eroare de bootloader, ceea ce face imposibilă pornirea sistemului de operare. Din ce motive se poate întâmpla acest lucru? Cum se repară bootloader-ul Grub în Linux? Ce metode de lucru există? Despre toate acestea și chiar puțin mai multe vom vorbi în articolul de astăzi.

După ce instalați Linux pe hard diskul computerului, toate fișierele sunt copiate în foldere separate. Unele directoare stochează fișiere pentru software obișnuit care pot fi eliminate în siguranță. În altele, fișierele sunt înregistrate, fără de care sistemul de operare nu va funcționa. Aceasta include nucleul Linux, shell-ul grafic și bootloader-ul Grub. Acesta din urmă este folosit pentru a rula sistemul de operare instalat. Cum se întâmplă asta?


Într-o partiție de pornire specială, sistemul creează o înregistrare de pornire principală. Abrevierea sa în engleză arată ca MBR și înseamnă Master Boot Record. La început BIOS-ul computerului accesează această intrare, apoi Grub intră în acțiune și, când totul este în ordine, Linux pornește. Și dacă bootloader-ul este deteriorat, va apărea o eroare la pornire și sistemul nu va porni.

Din ce motive se poate întâmpla acest lucru? Marea majoritate a cazurilor sunt rezultatul Instalări Linux ca prim sistem, instalați Windows ca sistem secundar. În mod tradițional, Microsoft nu-i place Linux, așa că programul de instalare Windows elimină Grub Linux. Aceeași problemă poate apărea atunci când Linux în sine este instalat incorect, la trecerea la o altă distribuție sau din cauza repartiționării discului.

Cel mai important lucru de luat în considerare este că nu trebuie să vă gândiți imediat la reinstalarea întregului sistem. Este suficient doar să restabiliți Grub și totul va funcționa ca înainte. Să aruncăm o privire la cel mai mult moduri eficiente accesibil chiar și utilizatorilor fără experiență.

Prin terminalul de pe un mediu de pornire

Pentru asta vei avea nevoie unitate flash bootabilă sau un disc cu o distribuție Linux înregistrată. În mod ideal, ar trebui să fie similar cu sistemul instalat pe hard disk. Dar dacă distribuția nu este cea mai mare punct important, atunci adâncimea de biți trebuie să se potrivească în orice caz. În caz contrar, acest lucru este plin de consecințe și mai mari, drept urmare cu siguranță va trebui să reinstalați totul.

  1. Introduceți o unitate flash USB sau un disc în conectorul computerului și apoi ca prioritate pentru pornire. Setare necesară situat in sectiunea Dispozitiv de pornire Dispozitiv prioritar sau primul pornire. Pentru a porni BIOS-ul, când îl porniți, apăsați butonul dorit sau o combinație a acestora de pe tastatură. Cele mai populare opțiuni sunt F2, Del, Shift + F2, F10. Pentru a nu avea de-a face cu BIOS-ul, puteți pur și simplu să apăsați F11 sau F12 și să selectați media din lista furnizată.
  2. Apoi, trebuie să aflați pe ce partiție a hard disk-ului este instalat sistemul și care este specificat ca bootloader. Pentru a face acest lucru, trebuie să lansați terminalul (analogic Linie de comanda Windows) prin găsirea acesteia în meniul aplicației sau apăsând combinația de taste Ctrl + Alt + T sau Alt + F2. În fereastra care se deschide, va trebui să tastați comanda sudo fdisk -l. Imediat, utilitarul va scana toate partițiile de disc și va afișa informații despre fiecare dintre ele. Vor fi afișate chiar și informații despre alte sisteme de operare instalate pe computer. Puteți afla numele partiției, locația, dimensiunea și tipul sistemului de fișiere. Cu condiția ca la instalarea Ubuntu Dacă ați făcut marcajul manual, veți înțelege cu ușurință ce partiție este bootabilă și care este root. Pentru partiţionarea automată, ghidaţi-vă după numele Linux. El este cel care va fi rădăcina sistemului tău. Numele partiției constă de obicei din abrevierea sdc sau sda și un număr cu un număr de serie.
  3. Apoi, trebuie să montați sistemul de fișiere rădăcină în folderul /mnt. Comanda sudo mount /dev/sda1 /mnt vă va ajuta în acest sens, unde trebuie să scrieți numele partiției în loc de sda.


Începând din această etapă, există două metode de a restaura Grub pe Linux.

Metoda 1

  1. Introduceți comanda de reparare a bootloader-ului: sudo Grub-install -root-directory=/mnt /dev/sda.
  2. Reporniți computerul cu comanda sudo reboot. Ca rezultat, ar trebui să apară meniul de selecție a sistemului de operare.
  3. Dacă acest meniu afișează informații învechite, actualizați MBR-ul de pornire. Pentru a face acest lucru, porniți Linux în mod normal, deschideți un terminal și utilizați comanda sudo update-grub. Dacă acest lucru nu ajută, utilizați sudo update-Grub --output=/mnt/boot/Grub/Grub.cfg și apoi repetați-o pe cea anterioară.
  4. Reporniți computerul din nou.

Metoda 2.

  1. După montarea rădăcinii sistemului de fișiere pe partiția /mnt, trebuie să montați suplimentar folderul cu fișiere de boot, precum și alte componente de interacțiune cu nucleul. Pentru a face acest lucru, rulați următoarele comenzi una câte una:

sudo mount /dev/sdc2 /mnt/boot

sudo mount --bind /dev /mnt/dev

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

  1. Apoi, va trebui să rulați un shell chroot. Pentru a face acest lucru, adăugați chroot /mnt /bin/bash în terminal. Primul parametru acordă atenție directorului rădăcină, iar al doilea - unui shell special pentru convertirea comenzilor utilizatorului.
  2. Apoi, trebuie să aplicați comenzi pentru a intra în Ubuntu și a utiliza aproape toate aplicațiile sale, cu excepția serviciilor și a unei interfețe grafice:

sursa /etc/profile.

  1. Acum puteți trece direct la restaurarea Grub. Pentru a face acest lucru, trebuie să utilizați mai multe comenzi:
    • Pentru a reinstala bootloader-ul pe hard disk: sudo Grub2-install /dev/sdc (ultimul parametru este numele partiției).
    • Pentru a crea un nou fișier de configurare: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
    • Pentru a actualiza meniul de pornire: sudo Grub-update.
  2. Pentru a finaliza procedura, ieșiți din shell-ul chroot folosind comanda exit și, de asemenea, demontați partițiile sistemului de fișiere montate anterior:

sudo umount /mnt/dev

sudo umount /mnt/proc

sudo umount /mnt/sys

sudo umount /mnt

sudo umount /mnt/boot.

  1. Reporniți prin repornire.

Prin utilitarul de reparare bootloader

Deoarece metoda anterioară poate să nu fie posibilă pentru toată lumea, o vom folosi caracteristica Ubuntu că poate funcționa pe deplin atunci când este lansat de pe o unitate flash USB. Pentru a face acest lucru, vom folosi utilitarul special de reparare a pornirii. Ce ar trebui făcut?

  1. Porniți Ubuntu de pe o unitate flash și asigurați-vă că aveți o conexiune activă la internet.
  2. Găsiți un terminal și rulați următoarele comenzi în el una câte una:

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install boot-repair.

  1. În meniul aplicației, găsiți „Recuperare bootloader” și activați utilitarul.
  2. Faceți clic pe butonul „Metoda de recuperare recomandată” și așteptați finalizarea procedurii.
  3. În majoritatea situațiilor, aceste acțiuni sunt destul de suficiente pentru funcționarea normală a bootloader-ului Grub Linux.


Prin linia de comandă cu acces parțial la sistemul de fișiere

Uneori, bootloader-ul Grub nu este atât de grav deteriorat încât întregul sistem să nu poată porni. De exemplu, partiția de boot rămâne intactă, dar utilitarul în sine nu are acces la ea. În acest caz, se deschide un shell de program, oarecum asemănător cu linia de comandă, și este afișat următorul mesaj: Este acceptată editarea de linii de tip BASH minim. Aici, folosind această linie de comandă, puteți încerca să porniți Ubuntu.

Trebuie să fiți sigur și să știți exact pe care dintre hard disk-urile sunt amplasate sistemul și kernelul. Există doar patru comenzi disponibile, acestea trebuie aplicate secvenţial:

  1. Pentru ca sistemul să scaneze discurile și partițiile, lansați comanda ls. Ca răspuns, veți primi o listă de hard disk (de exemplu, hd1, hd2), precum și tipul de sistem de fișiere de pe acestea (de exemplu, msdos1, msdos2). De exemplu, să presupunem că partiția de pornire se află la /dev/sda1.
  2. Apoi, trebuie să selectați secțiunea cu care doriți să lucrați. În cazul nostru, comanda va fi scrisă după cum urmează: set root=(hd1,1).
  3. Încărcați shell-ul Grub normal: insmod ext2, insmod normal, normal.
  4. Porniți nucleul Linux: linux /boot/vmlinuz.
  5. Porniți sistemul: boot.
  6. După ce porniți Ubuntu în modul normal, deschideți un terminal și finalizați procedura de reparare a bootloader-ului cu următoarele comenzi:

sudo Grub2-install /dev/sda

sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.

  1. Reporniți și bucurați-vă de funcționarea normală.


Concluzie

Deși, la prima vedere, restaurarea bootloader-ului Grub în Ubuntu poate părea ceva foarte complicat și multe dintre utilizatorii Linux cu o problemă similară, vor începe imediat să reinstaleze sistemul de operare, dacă există o instrucțiune normală, totul se face foarte simplu și fără complicații. Sperăm că vă putem ajuta să evitați pierderea Informații importante. Marcați această pagină și partajați aceste informații cu prietenii și cunoștințele dvs. Lasă întrebările tale în comentarii.

Original: GRUB 2: Vindecă-ți bootloader-ul
Autor: Mayank Sharma
Data publicării: 10 septembrie 2015
Traducere: A. Panin
Data transferului: 16 decembrie 2015

Nu există multe lucruri care pot fi la fel de enervante precum incapacitatea bootloader-ului de a fi enervant. De aceea vom învăța să folosim la maximum toate caracteristicile bootloader-ului GRUB 2, menținându-l în stare de funcționare.

Pentru ce este?

    GRUB 2 este cel mai popular bootloader folosit în aproape fiecare distribuție Linux.

    Bootloader-ul este o componentă software importantă, care, totuși, poate să nu funcționeze corect în unele cazuri.

    GRUB 2 este un bootloader extensibil și flexibil care acceptă multe opțiuni de configurare.


Bootloader-ul Linux numit GRUB 2 este o componentă software de calitate și flexibilă. Deși acest bootloader nu este singurul care acceptă sistem Linux bootloader, este cel mai popular și este folosit în aproape toate pe scară largă distribuții binecunoscute. Procesul de funcționare a bootloader-ului GRUB 2 poate fi împărțit în două faze. În primul rând, afișează un meniu cu numele tuturor sistemelor de operare instalate pe computer și vă permite să selectați unul dintre ele. În al doilea rând, încarcă nucleul Linux dacă selectați un sistem de operare bazat pe nucleul corespunzător utilizând meniul de pornire.

Evident, atunci când utilizați un sistem de operare bazat pe nucleul Linux, pur și simplu nu vă puteți lipsi de un bootloader. În același timp, încărcătorul de sistem este aproape cea mai misterioasă componentă. distribuție Linux. Ca parte a acestui ghid, vă vom prezenta câteva dintre caracteristicile acestui bootloader și vă vom învăța cum să rezolvați problemele asociate cu funcționarea incorectă a acestuia.

Cea mai importantă componentă a bootloader-ului GRUB 2 este o colecție de fișiere text și câteva scripturi shell de comandă. Prima componentă a acestui set, cu care merită familiarizată, se află în directorul /etc/default/grub. Acesta este un fișier text cu ajutorul căruia puteți seta valorile variabilelor de configurare și alți parametri meniul GRUB 2 (consultați „Opțiunile meniului personalizat de pornire”).

Un alt director important asociat cu GRUB 2 este directorul /etc/grub.d. Acest director conține toate scripturile care formează descrierea fiecăruia dintre elementele de meniu. Aceste nume de script trebuie să fie prefixate cu două cifre. Aceste prefixe sunt menite să stabilească ordinea în care vor fi executate scripturile, precum și ordinea în care elementele corespunzătoare apar în meniul GRUB 2. Fișierul 00_header este citit mai întâi, urmat de parsarea /etc/default. /grub fișier de configurare. După aceea, elementele de meniu pentru nucleele Linux ale sistemului actual sunt generate folosind scriptul 10_linux. Acest script creează un element normal de meniu de pornire pentru nucleul Linux și un element de meniu de recuperare a sistemului pentru același nucleu Linux din partiția /boot.

Apoi sunt executate scripturi pentru a căuta alte sisteme de operare, cum ar fi 30_os-prober și 40_custom . Scriptul os-prober creează elemente de meniu pentru alte nuclee și alte sisteme de operare care se găsesc pe alte partiții hard disk-uri. Este capabil să recunoască instalat sisteme Linux, Windows, BSD și Mac OS X. Dacă utilizați o configurație de partiție pe hard disk care este prea exotică pentru ca un script os-prober să o recunoască ca distribuție instalată, puteți adăuga o descriere a acelei distribuții la scriptul 40_custom (consultați „Elementele personalizate din meniul de pornire”).

GRUB 2 nu necesită editarea manuală a fișierelor de configurare pentru a modifica opțiunile de pornire a sistemului: în schimb, vă permite să generați un fișier de configurare /boot/grub/grub.cfg folosind utilitarul grub2-mkconfig. Acest utilitar vă permite să analizați scripturi din directorul /etc/grub.d, precum și fișierul de configurare /etc/default/grub pentru a genera automat o descriere a parametrilor de pornire a sistemului.

Restaurarea încărctorului de pornire în modul grafic

Marea majoritate a problemelor legate de bootloader-ul GRUB 2 pot fi rezolvate pur și simplu prin apăsarea butonului unic al aplicației Boot Repair. Această aplicație elegantă și simplă are o interfață de utilizator intuitivă și vă permite să scanați și să recunoașteți tipuri diferite discuri și scheme de partiții ale discurilor și, de asemenea, poate afla locația și identifica corect sistemele de operare instalate în aceste partiții. Utilitarul poate funcționa ca calculatoare convenționale cu înregistrări master de boot (Master Boot Record, MBR) și pe computere noi cu UEFI și tabele de partiții GUID (GUID Partition Table, GPT).

Cel mai simplu mod de a utiliza utilitarul Boot Repair este să îl instalați ca parte a unei sesiuni live Ubuntu. Rulați o versiune live a distribuției Ubuntu pe o mașină cu un bootloader defect și instalați Aplicație de pornire Reparați adăugând mai întâi depozitul PPA corespunzător cu comanda:

Sudo add-apt-repository ppa:yannubuntu/Boot Repair

După aceea, actualizați lista de depozite cu comanda:

Sudo apt-get update

În cele din urmă, puteți instala aplicația cu comanda:

Sudo apt-get install -y Boot Repair

După finalizarea procesului de instalare, veți putea lansa aplicația. Acesta vă va scana hard diskul înainte de a afișa o interfață de utilizator care constă din mai multe butoane. Pentru a efectua acțiunile sugerate de aplicație, puteți pur și simplu să faceți clic pe butonul „Recomanded Repair”, care va rezolva majoritatea problemelor legate de bootloader. După ce ați restaurat bootloader-ul sistemului, utilitarul va afișa un link pe care ar trebui să-l amintiți. Făcând clic pe acest link, veți putea vedea informatii detaliate despre unitățile dvs., inclusiv partițiile acestora, precum și conținutul fișierelor importante de configurare GRUB 2, cum ar fi cele din directorul /etc/default/grub și fișierul /boot/grub/grub.cfg. Dacă aplicația nu reușește să vă restaureze bootloader-ul, puteți plasa acest link pe forumul distribuției dvs., astfel încât vizitatorii să se familiarizeze cu schema de partiție a hard diskului și să ofere sfaturi utile.

Restaurarea bootloader-ului

Problemele legate de bootloader-ul GRUB 2 pot aduce sistemul în diferite stări. Textul afișat pe ecran în locul meniului bootloader-ului indică starea curentă a sistemului. Dacă sistemul nu reușește să pornească cu promptul grub>, se poate concluziona că modulele GRUB 2 au fost încărcate, dar fișierul de configurare grub.cfg nu a putut fi încărcat. Acest prompt este afișat într-un shell de bootloader complet funcțional, cu care puteți efectua destul de multe acțiuni care vizează pornirea sistemului. Dacă vedeți promptul grub rescue>, atunci este ușor să concluzionați că bootloader-ul nu își poate găsi modulele, precum și fișierele care descriu opțiunile de pornire a sistemului. Cu toate acestea, dacă doar cuvântul „GRUB” este afișat pe ecranul computerului dvs., puteți trage o concluzie dezamăgitoare că încărcătorul de pornire nu a putut găsi nici măcar informațiile de bază care sunt de obicei stocate în înregistrarea de pornire principală.

Puteți remedia aceste probleme GRUB 2 folosind fie CD-ul live al oricărei distribuții, fie shell-ul GRUB 2. Dacă aveți noroc și bootloader-ul afișează salutul grub>, puteți folosi întreaga putere a shell-ului încorporat al GRUB 2 pentru a remedia orice erori.

Următoarele comenzi vor funcționa atât pentru promptul grub>, cât și pentru promptul grub rescue>. Comanda set pager=1 vă permite să utilizați mecanismul de defilare a textului pentru a preveni derularea automată. De asemenea, puteți utiliza comanda ls, care vă permite să enumerați toate partițiile de hard disk GRUB 2 vizibile într-un mod similar:

Grub> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

După cum puteți vedea, această comandă vă permite să afișați informații despre aspectul tabelului de partiții pe hard disk împreună cu informații despre partițiile în sine.

Alternativ, puteți utiliza comanda ls pe fiecare partiție de hard disk pentru a găsi partiția cu sistemul de fișiere rădăcină:

Grub> ls (hd0,5)/ lost+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

Puteți renunța la identificatorul tipului de partiție msdos când scrieți numele partiției. De asemenea, dacă omiteți bara oblică de la sfârșitul numelui partiției și rulați o comandă precum ls (hd0,5), de exemplu, veți obține informații despre partiție, inclusiv informații despre tipul sistemului de fișiere, dimensiunea totală a acestuia și data la care a fost modificat ultima dată. Dacă aveți mai multe partiții rădăcină pe hard disk, puteți citi conținutul fișierului /etc/issue cu comanda cat pentru a identifica distribuția în același mod: cat (hd0,5)/etc/issue .

Presupunând că ați găsit sistemul de fișiere rădăcină corect pe partiția (hd0,5), ar trebui să vă asigurați că acest sistem de fișiere conține directorul /boot/grub și o imagine a nucleului Linux cu un nume similar cu vmlinuz-3.13.0-24- generic pe care doriți să le descărcați. Acum, pentru a porni sistemul, trebuie doar să introduceți următoarele comenzi:

grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

Prima comandă spune bootloader-ului GRUB 2 informații despre partiția de hard disk pe care se află fișierele de distribuție pentru pornire. A doua comandă îi transferă informații despre locația fișierului imagine kernel în partiția specificată a hard disk-ului, precum și informații despre locația sistemului de fișiere rădăcină. Ultima linie vă permite să specificați locația fișierului imagine de disc inițial, al cărui conținut este stocat în memorie și utilizat în timpul procesului de pornire a nucleului. Puteți utiliza funcția de completare automată, care vă va economisi mult timp și efort atunci când introduceți numele fișierelor nucleului și imaginea inițială a discului.

Introducerea acestor linii trebuie să se încheie cu o comandă de pornire după următorul salut grub>, ceea ce face ca GRUB 2 să pornească sistemul de operare specificat.

Pașii tăi ar trebui să fie ușor diferiți dacă întâlnești salutul Grub Rescue>. Deoarece încărcătorul de sistem nu a putut detecta și încărca niciunul dintre modulele necesare, va trebui să le încărcați manual:

grub rescue> set root=(hd0,5) grub rescue> insmod (hd0,5)/boot/grub/normal.mod grub rescue> normal grub> insmod linux

Evident, ca și înainte, după ce ați folosit eficient comanda ls pentru a căuta partiția rădăcină Linux, va trebui să marcați această partiție cu comanda set. Apoi, trebuie să încărcați modulul normal, după care va reveni la modul standard cu un salut grub> . Următoarea comandă vă permite să încărcați modulul Linux în cazul în care acesta nu a fost încărcat automat. După încărcarea acestui modul, puteți continua să spuneți încărcătorul de pornire locația fișierelor imagine kernel și imaginea inițială a discului și puteți iniția pornirea distribuției folosind comanda de pornire.

După descărcarea cu succes a distribuției, nu uitați de necesitatea regenerării fișierului de configurare GRUB 2 folosind comanda:

Grub-mkconfig -o /boot/grub/grub.cfg

De asemenea, va trebui să instalați o copie a bootloader-ului în MBR cu comanda:

GRUB 2 și UEFI

Mașinile cu firmware UEFI (adică, practic toate mașinile vândute în ultimii câțiva ani) au adăugat un nou nivel de complexitate procesului de diagnosticare a problemelor cu bootloader-ul GRUB 2. cu firmware UEFI nu diferă semnificativ de procedura de restaurare a aceluiași bootloader pe o mașină fără firmware UEFI, noile versiuni de firmware introduc diverse modificări care provoacă rezultate diferite ale procesului de restaurare a bootloaderului.

Pe sistemele bazate pe UEFI, nu va trebui să instalați nimic în MBR. În schimb, va trebui să instalați un bootloader Linux compatibil EFI pe partiția de sistem EFI (ESP) și să selectați acel bootloader ca implicit folosind un instrument precum efibootmgr pe Linux sau bcdedit pe Windows.

Pe acest moment Bootloader-ul GRUB 2 ar trebui să se instaleze corect în timpul instalării oricăreia dintre distribuțiile Linux populare, ceea ce permite acestuia din urmă să coexiste cu succes cu Windows 8. Cu toate acestea, în cazul în care ajungeți cu un bootloader inoperabil, puteți restabili sistemul folosind live- Imaginea distribuției Linux. Când porniți o imagine de distribuție live, ar trebui să vă asigurați că porniți în modul UEFI. Meniul de pornire al computerului ar trebui să conțină două elemente pentru fiecare dintre suporturi amovibile- pentru a porni în modul normal și în modul UEFI. Utilizați ultimul mod pentru a accesa variabilele EFI prin fișiere din directorul /sys/firmware/efi/.

Din mediul live, montați sistemul de fișiere rădăcină al distribuției eșuate, așa cum este descris în acest ghid. De asemenea, va trebui să montați partiția de sistem EFI (ESP). Presupunând că partiția dată corespunde fișierului dispozitivului /dev/sda1 , atunci puteți monta această partiție cu următoarea comandă:

sudo mount /dev/sda1 /mnt/boot/efi

Modulul de nucleu efivars trebuie apoi încărcat folosind comanda modprobe efivars înainte de a crea un mediu chroot cu sistemul de fișiere rădăcină al distribuției eșuate, în modul descris în acest ghid.

Acum, dacă utilizați o distribuție Fedora, puteți reinstala bootloader-ul cu următoarea comandă:

Yum reinstalează grub2-efi shim

După aceasta, ar trebui să rulați comanda pentru a genera un nou fișier de configurare a bootloaderului:

Grub2-mkconfig -o /boot/grub2/grub.cfg

Utilizatorii distribuției Ubuntu pot efectua aceeași operațiune cu comanda:

apt-get install --reinstall grub-efi-amd64

După restaurarea bootloader-ului, ar trebui să părăsiți mediul chroot, să demontați toate partițiile de hard disk montate și să reporniți computerul accesând meniul GRUB 2.

Pentru a dezactiva un script din directorul /etc/grub.d, trebuie doar să eliminați bitul de execuție, folosind o comandă similară cu comanda chmod -x /etc/grub.d/20_memtest86+, care vă permite să eliminați „Memoria”. Testare" din meniul de pornire

Prietene, unde este GRUB-ul meu?

O caracteristică pozitivă a bootloader-ului GRUB 2 este capacitatea de a-l reinstala ori de câte ori este necesar. Astfel, în cazul în care pierdeți bootloader-ul GRUB 2, de exemplu, după ce Windows îl înlocuiește cu propriul bootloader, puteți restaura GRUB 2 efectuând câteva operațiuni în mediul live. Presupunând că ați instalat distribuția pe o partiție de hard disk reprezentată de fișierul dispozitivului /dev/sda5, puteți reinstala bootloader-ul GRUB 2 creând mai întâi un director pentru a monta sistemul de fișiere rădăcină al distribuției cu comanda:

sudo mkdir -p /mnt/distro

După aceea, ar trebui să montați sistemul de fișiere din această partiție folosind comanda:

Montați /dev/sda5 /mnt/distro

După aceea, puteți reinstala bootloader-ul GRUB 2 cu comanda:

Grub2-install --root-directory=/mnt/distro /dev/sda

Această comandă va suprascrie informațiile din zona de înregistrare de pornire principală a dispozitivului /dev/sda, care conține sistemul de fișiere al distribuției Linux instalate, precum și fișierele bootloader GRUB 2, cum ar fi grubenv și device.map.

Există o altă problemă care apare adesea când se operează computere cu distribuții multiple instalate. Când instalați o nouă distribuție Linux, bootloader-ul său trebuie să preia informații despre distribuțiile deja instalate. În cazul în care nu preia astfel de informații, puteți pur și simplu să descărcați cea mai recentă distribuție instalată și să rulați comanda:

Grub2-mkconfig

Înainte de a executa această comandă, trebuie să vă asigurați că partițiile cu sistemele de fișiere rădăcină ale distribuțiilor instalate, care nu sunt prezentate în meniul de pornire, sunt montate. Dacă distribuția pe care doriți să o adăugați la meniul de pornire funcționează cu sistemele de fișiere /root și /home situate pe partiții separate de hard disk, numai sistemul de fișiere /root ar trebui să fie montat înainte de a rula comanda grub2-mkconfig.

Deși bootloader-ul GRUB 2 poate detecta majoritatea distribuțiilor, încercarea de a adăuga o intrare în meniul bootloader-ului pentru distribuția Fedora atunci când rulează Distribuție Ubuntu necesită un pas suplimentar. Daca ai folosit setări standardÎn timpul instalării unei distribuții Fedora, programul de instalare Fedora va crea partiții LVM. În acest caz, înainte de a apela scriptul os-prober furnizat cu bootloader-ul GRUB 2 pentru a adăuga distribuția Fedora în meniul de pornire, mai întâi trebuie să instalați driverul lvm2 utilizând sistemul de gestionare a pachetelor software al distribuției folosind o comandă similară:

sudo apt-get install lvm2

Soluție rapidă

Dacă executarea comenzii grub2-install nu are ca rezultat modificări pozitive și nu puteți porni distribuția Linux, va trebui să reinstalați complet și să reconfigurați încărcătorul de pornire. Pentru a îndeplini această sarcină, puteți utiliza utilitate utilă chroot , care vă permite să schimbați temporar directorul rădăcină al mediului live în directorul rădăcină sistem instalat Linux care trebuie restaurat. Puteți utiliza Live CD-ul oricărei distribuții Linux care are utilitarul chroot în acest scop. Cu toate acestea, ar trebui să vă asigurați că utilizați un Live CD pentru aceeași arhitectură. Procesor, care este kitul de distribuție instalat pe hard disk. Astfel, dacă doriți să utilizați utilitarul chroot pentru a recupera un sistem instalat pe 64 de biți, veți avea nevoie de un Live CD pentru sistemele pe 64 de biți.

După pornirea mediului Live, primul lucru de verificat sunt partițiile hard disk ale mașinii. Utilizați comanda fdisk -l pentru a lista toate partițiile de pe hard disk și pentru a afla numărul partiției pe care este instalat încărcătorul de pornire GRUB 2, a cărei operare doriți să o restaurați.

Să presupunem că trebuie să restaurați bootloader-ul unei distribuții instalate pe o partiție de hard disk reprezentată de fișierul dispozitivului /dev/sda5 . Deschideți un emulator de terminal și montați această partiție:

sudo mount /dev/sda5 /mnt

Acum va trebui să montați directoarele care trebuie să fie disponibile pentru bootloader-ul GRUB 2 pentru a detecta corect alte sisteme de operare instalate pe computer:

$ 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

Acum puteți părăsi mediul live și comutați la mediul distribuției instalat pe partiția reprezentată de fișierul dispozitivului /dev/sda5 folosind utilitarul chroot:

$ sudo chroot /mnt /bin/bash

Totul este gata pentru a instala, verifica și actualiza bootloader-ul GRUB 2. Ca și înainte, pentru a reinstala bootloader-ul, utilizați comanda:

sudo grub2-install /dev/sda

Deoarece comanda grub2-install nu afectează fișierul de configurare grub.cfg, va trebui să-l creați manual cu următoarea comandă:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Această secvență de comenzi ar trebui să ajute la remedierea problemelor bootloader-ului. Acum mașina dvs. va avea exemplar nou Bootloader GRUB 2 cu o listă a tuturor sistemelor de operare și distribuțiilor instalate pe acesta. Înainte de a reporni computerul, trebuie să părăsiți mediul chroot și să demontați toate sistemele de fișiere utilizate în următoarea ordine:

$ exit $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

După aceea, puteți reporni în siguranță mașina, care ar trebui să fie din nou sub controlul bootloader-ului GRUB 2, care este sub controlul dvs. complet!

Opțiuni personalizate pentru meniul de pornire

Bootloader-ul GRUB 2 folosește un numar mare de variabile de configurare. ÎN aceasta sectiune Sunt descrise unele dintre aceste variabile, pe care probabil că veți dori să le modificați pe măsură ce examinați conținutul fișierului de configurare /etc/default/grub. Variabila GRUB_DEFAULT vă permite să specificați elementul din meniul de pornire care va fi selectat implicit. valorile sale pot fi numere, cum ar fi numărul 0, corespunzător primului element de meniu, precum și șirul „salvat”, care selectează automat elementul de meniu care a fost folosit la ultima pornire a computerului. Variabila GRUB_TIMEOUT vă permite să setați durata de așteptare înainte de pornire folosind elementul implicit de meniu, iar variabila GRUB_CMDLINE_LINUX vă permite să setați o listă de opțiuni care vor fi transmise fiecărui nuclee Linux atunci când utilizați elementele corespunzătoare din meniul de pornire .

Dacă variabila GRUB_DISABLE_RECOVERY este setată la true , elementele din meniul de pornire pentru recuperarea sistemului nu vor fi generate. Aceste elemente vă permit să porniți distribuțiile în modul utilizator unic, în care puteți utiliza orice instrumente disponibile de interfață de linie de comandă pentru a vă restaura sistemul. O altă variabilă utilă este variabila GRUB_GFXMODE, care vă permite să setați rezoluția ecranului care va fi setată atunci când este afișat meniul de pornire. Această variabilă poate fi setată la orice descriere a rezoluției acceptate de placa dvs. grafică.

Elemente personalizate din meniul de pornire

Dacă doriți să adăugați un element în meniul bootloader-ului, trebuie să adăugați strofa corespunzătoare la scriptul numit 40_custom . Puteți utiliza acest element de meniu de pornire, de exemplu, pentru a porni o distribuție Linux instalată pe Disk detașabil cu interfata USB. Presupunând că partiția de distribuție de pe unitatea USB amovibilă este /dev/sdb1, iar fișierul imagine kernel vmlinuz și fișierul initrd sunt într-un subdirector al directorului rădăcină (/), va trebui să adăugați următoarea strofă la fișierul script 40_custom:

Intrarea de meniu „Linux pe USB” (set root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro quiet in splashitrd /initrd.img)

Pentru o mai bună compatibilitate, puteți utiliza UUID-ul partiției de hard disk în locul ID-urilor dispozitivului și partiției, după cum urmează:

Setați root=UUID=54f22dd7-eabe

Utilizați comanda sudo blkid pentru a atașa toate UUID-urile greu discurile și partițiile acestora. În mod similar, puteți adăuga intrări în meniul de pornire corespunzătoare oricărui script os-prober identificat, dar distribuțiile instalate pe hard disk, desigur, dacă știți pe ce disc este instalată fiecare dintre distribuții și în ce cale fișierele sale imagine kernel sunt localizate și o imagine a sistemului de fișiere inițial.

Ubuntu folosește bootloader-ul GRUB (Grand Unified Bootloader) pentru a porni Ubuntu. Se adaugă la înregistrarea de pornire principală hard disk informații despre ce și de unde să descărcați. Se întâmplă ca înregistrarea să fie distrusă de un alt încărcător. Acest lucru se poate întâmpla, de exemplu, în timpul instalării Windows pe o partiție adiacentă. Apoi Windows va înlocui intrarea cu propria sa, dar nu va oferi și descărcarea Ubuntu.

Prin urmare, trebuie să restabilim boot-ul intrare Ubuntu, și, prin urmare, Grub însuși, pentru a recâștiga accesul la acesta.

Pentru a face acest lucru, trebuie să porniți de pe un suport extern pe care este instalat Ubuntu. Perfect pentru asta disc de instalare/ flash drive de pe care ați instalat Ubuntu.

Un punct important: dacă nu aveți același disc/unitate flash, dar există un alt Linux pe suport extern, dar va funcționa doar dacă este scris pentru aceeași arhitectură ca și sistemul de restaurat. Adică, nu puteți restaura unul pe 64 de biți de pe un disc cu un Ubuntu pe 32 de biți. Cel puțin în modul sugerat mai jos.

Restaurarea Grub 2

Deci să presupunem că avem unitate corectă cu linux. Pornim de pe acesta (în modul Live). Deschideți consola și montați unitatea logică dorită (cea pe care este instalat sistemul în curs de restaurare).

sudo mount /dev/sda1 /mnt

Unde /dev/sda1 este denumirea internă a partiției de disc necesare.

Dacă nu știi numele secțiunea dorită disc, rulați comanda „mount” - va afișa toate partițiile montate. Apoi du-te la manager de fișiereși montați partiția dorită. Privește din nou în montură - a fost adăugată o linie acolo. La începutul căruia este scris ceva de genul / dev / sdXY. X este o literă, Y este un număr. Deci, folosind comanda de mai sus, montați partiția în folderul /mnt.

sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc

Cu aceste comenzi, montăm folderele de servicii în interiorul partiției montate. Acum că partiția dorită a fost pregătită, să mergem la ea cu comanda chroot.

sudo chroot /mnt

Și să restabilim grub:

sudo grub-install /dev/sdX

Unde X este încă aceeași literă ca mai sus.

Probleme de recuperare

Dacă, după efectuarea tuturor pașilor de mai sus, Windows continuă să pornească, verificați dacă porniți de pe discul fizic corect (în BIOS).

Daca da:

Chroot: nu poate rula comanda `/bin/bash": eroare de format Exec

înseamnă că arhitectura sistemului Live nu se potrivește cu cea restaurată - utilizați un alt disc de recuperare.