Configurarea unui sistem UEFI Dual Boot aromatizat cu rEFInd. Cum să pornești Windows mai întâi în Grub Instalând Grub Boot Loader în GPT pentru BIOS

Sarcină: Am un computer cu două sisteme: Windows 7 și Ubuntu 14.04
Este necesar să actualizați versiunea Windows la 10 și Ubuntu la 16.04
Pentru început, a trebuit să instalez Windows cu licență în loc de ceea ce aveam și să-l actualizez la cea mai recentă versiune - zeci.
Imaginea celor șapte a fost descărcată de pe site-ul Microsoft, încărcată pe o unitate flash folosind un program gratuit și gratuit rufus, Windows a fost instalat cu succes de pe această unitate flash și apoi actualizat la Windows 10.
Acum sarcina este de a restabili GRUB, deoarece Windows, în mod natural, a șters bootloader-ul, instalându-l pe al său, care nu vrea să știe despre niciun Linux :) Sarcina este complicată de faptul că plăcile de bază moderne nu conțin BIOS, ci UEFI - un sistem de operare local mai avansat. Și nu puteți instala GRUB în același mod ca înainte.

După ce am căutat puțin pe Google această problemă, am găsit o soluție sub forma programului Boot-Repair.
Scanează discurile pentru sisteme de operare și instalează GRUB, generând meniul necesar și toate setările necesare.
Există două moduri de a lucra cu acest program:
Prima modalitate este să pornești de pe o unitate flash USB sau un disc LiveCD, să instalezi și să rulezi acest program:
Deschideți un terminal (Ctrl+Alt+T), copiați și executați următoarele comenzi:
sudo add-apt-repository ppa:yannubuntu/boot-repair
Apoi actualizați sursele:
sudo apt-get update
Următoarea comandă va instala Boot-Repair:
sudo apt-get install -y boot-repair
După aceasta, programul poate fi lansat în mod obișnuit pentru Ubuntu, prin meniul de sistem.
A doua modalitate este de a descărca imagine de disc cu acest program, încărcați-l pe o unitate flash sau CD, porniți de pe acesta și restaurați bootloader-ul. Am ales a doua varianta pentru ca este mai practica. Nu știi niciodată unde altundeva ar putea fi nevoie. L-am descărcat și l-am încărcat pe o unitate flash cu același lucru rufus-ohm.
Nu știu cum este cu LiveCD, dar dacă porniți de pe o unitate flash pe plăci de bază cu UEFI, trebuie să porniți în modul UEFI, altfel programul va refuza să restaureze GRUB. Și aici așteaptă o posibilă capcană. În loc de alegerea obișnuită a limbii și a opțiunilor de pornire, pe ecran vedem meniul GRUB pe un fundal negru cu o linie a singurei opțiuni de pornire.
Dacă porniți de pe o unitate flash cu Ubuntu, aveți un meniu cu două opțiuni:
- Descărcați Ubuntu fără instalare
- Instalarea Ubuntu.
În toate aceste cazuri, când am selectat orice articol, aveam un ecran negru cu înghețare. Adică, sistemul nu a putut selecta modul video și a rămas uluit.
Această problemă este rezolvată după cum urmează: trebuie să selectați elementul de meniu dorit în GRUB, apăsați tasta „e”, astfel încât să ajungem la editorul de linie de pornire, apoi la sfârșitul liniei, care este cea mai lungă, înainte de „- -” trebuie să adăugați parametrul nomodeset. După aceea apăsați F10. Sistemul va porni în modul grafic simplificat cu limba engleză ca limbă implicită.
Programul oferă parametrii de funcționare recomandați. În cele mai multe cazuri, acest lucru este suficient. Utilizatorii avansați pot selecta prioritatea de pornire a sistemului de operare și timpul de așteptare selectat în setările avansate.
în acest proces, trebuie să faceți tot ceea ce vă cere programul. Procesul este simplu și clar. Odată ce recuperarea este completă, veți vedea un mesaj că bootloader-ul a fost recuperat și vă puteți reporni computerul.

Pentru a selecta și lansa sistemul de operare atunci când computerul pornește, se folosește un program specializat - încărcătorul de pornire. Cel mai popular bootloader este Grub. Când instalați mai multe sisteme de operare, cum ar fi Linux pe Windows, cel mai recent sistem de operare instalat va fi afișat primul în meniul încărcător de pornire.

Acest lucru nu va cauza probleme utilizatorilor care folosesc Linux ca sistem principal, pentru ei este chiar o opțiune mai preferabilă. Dar dacă încă ești începător și vrei să folosești Linux ca un al doilea sistem, iar Windows este în continuare cel principal, până când vei înțelege, probabil că vrei ca Windows să fie primul. În acest articol ne vom uita la cum să porniți mai întâi Windows în Grub. Să luăm în considerare două moduri: folosind programul Grub Customizer și manual, prin fișierele de configurare Grub bootloader.

Grub Customizer

Grub Customizer este un program care vă permite să personalizați diferite setări ale încărctorului de boot Grub. Inclusiv poziția și ordinea punctelor de încărcare. Puteți instala programul din depozitele oficiale. De exemplu, pe Ubuntu trebuie să utilizați ppa:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get update
$ sudo apt-get install grub-customizer

Pentru a rula programul, deschideți un terminal (Ctrl+Alt+T) și tastați grub-customizer:

Pentru a rula programul aveți nevoie de drepturi de root; pe unele sisteme poate fi necesar să utilizați următoarea comandă:

gksu grub-customizer

Programul poate fi lansat și din meniul principal. Fereastra principală arată astfel:

La câteva secunde după lansare, programul va scana sistemele de operare instalate, apoi în aceeași fereastră vom putea muta boot-ul Windows pe primul loc. Pentru a face acest lucru, faceți clic dreapta pe elementul dorit pentru a deschide un meniu contextual:

Din meniu, selectați Mișcă-te în sus. Acest pas va trebui repetat de mai multe ori până când Windows este primul pe listă. Windows va porni acum la grub implicit.

Dacă mai târziu doriți să coborâți Windows înapoi, există o acțiune inversă - Mutați în jos.

Pentru a salva setările, faceți clic pe butonul Salvare. Gata. Puteți reporni computerul și vedeți ce se întâmplă.

Dar vreau să ating încă câteva setări care ar putea fi utile. În loc să pornești mai întâi pe Grub Windows, poți schimba elementul de pornire implicit. Accesați fila setări de bază:

Există o listă aici pentru a selecta elementul implicit utilizat în mod implicit Angajează-te:

În plus, puteți încărca în mod implicit ultimul sistem de operare încărcat; există o casetă de selectare pentru aceasta:

Schimbarea ordinii de pornire Grub prin terminal

După cum am promis, acum ne vom uita la cum să facem ca Windows să pornească mai întâi în Grub folosind fișierele de configurare. Configurația Grub se află în fișierul /boot/grub/grub.cfg.

gksu gedit /boot/grub/grub.cfg

De obicei, barele de meniu arată astfel:

meniu item_name --options (
...

De exemplu, elementul Windows:

intrarea de meniu „Windows 8 (încărcător) (pe /dev/sda1)” --class windows --class os $menuentry_id_option „osprob
er-chain-FC324E26324DE66C" (
....

Acum, pentru a schimba ordinea elementelor de meniu, doar tăiați totul până la paranteza de închidere din spate, împreună cu această linie, și lipiți-l înaintea tuturor celorlalte elemente. Apoi puteți salva fișierul și ați terminat. Reporniți și urmăriți. Windows pornește implicit. Singurul dezavantaj al acestei metode este că la actualizarea configurației Grub, toate setările se vor pierde.

Similar cu modul în care am configurat elementul încărcat implicit în Grub Customizer, acest lucru se poate face și în terminal.

Deschideți fișierul /etc/default/grub.

gksu gedit /etc/default/grub

Aici ne interesează linia:

Înlocuiți 0 cu elementul dorit de încărcat; puteți specifica și numele articolului în loc de un număr, de exemplu:

GRUB_DEFAULT="Windows 8 (încărcător) (pe /dev/sda1)"

Puteți vizualiza punctele de descărcare disponibile fără a deschide fișierul de configurare cu comanda:

sudo grep menuentry /boot/grub/grub.cfg

De asemenea, puteți configura încărcarea ultimului sistem încărcat; pentru a face acest lucru, adăugați linia

GRUB_SAVEDEFAULT=adevărat

Și în GRUB_DEFAULT specificați salvat:

GRUB_DEFAULT=salvat

Avantajul evident al acestei metode este că setările nu se vor pierde la actualizarea configurației Grub, deoarece în timpul actualizării informațiile sunt preluate din acest fișier. Acum să actualizăm configurația și să salvăm setările cu comanda:

Această opțiune nu funcționează pe toate sistemele, așa că puteți utiliza o altă comandă:

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

Asta e tot. Acum știi cum să pornești mai întâi Windows în Grub. Dar informațiile prezentate în acest articol pot fi folosite în scopuri mai ample. Va fi util nu numai pentru Windows, ci și pentru orice alte sisteme a căror ordine de pornire trebuie controlată.

Postări asemănatoare:


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

Nu există multe lucruri care pot fi la fel de enervante precum încărcătorul de sistem care nu funcționează. De aceea vom învăța să profităm la maximum de toate capacitățile încărctorului de sistem 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.

    Încărcătorul de sistem este o componentă software importantă, care, totuși, poate să nu funcționeze corect în unele cazuri.

    GRUB 2 este un încărcător de pornire extensibil și flexibil care acceptă multe opțiuni de configurare.


Încărcătorul Linux, numit GRUB 2, este o componentă software de înaltă calitate și flexibilă. Deși acest bootloader nu este singurul bootloader care acceptă Linux, este cel mai popular și este folosit de aproape toate distribuțiile cunoscute. Procesul de funcționare a încărcător de încărcare a sistemului GRUB 2 poate fi împărțit în două faze. Mai întâi, 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, pornește nucleul Linux atunci când selectați un sistem de operare bazat pe nucleul corespunzător folosind meniul de pornire.

Evident, atunci când utilizați un sistem de operare bazat pe nucleul Linux, pur și simplu nu puteți face fără un încărcător de pornire. În același timp, bootloader-ul de sistem este poate cea mai misterioasă componentă a distribuției Linux. În acest ghid, vă vom prezenta câteva dintre capacitățile acestui încărcător de pornire de sistem și vă vom învăța cum să rezolvați problemele asociate cu funcționarea incorectă a acestuia.

Cea mai importantă componentă a încărcării de pornire GRUB 2 este o colecție de fișiere text, precum și mai multe scripturi shell. Prima componentă a acestui set cu care merită familiarizată se află în directorul /etc/default/grub. Acesta este un fișier text care vă permite să setați valorile variabilelor de configurare și alte opțiuni de meniu GRUB 2 (consultați secțiunea Opțiuni meniului de boot personalizat).

Un alt director important asociat cu GRUB 2 este directorul /etc/grub.d. Acest director conține toate scripturile care formează descrierea fiecărui element 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 vor apărea în meniul GRUB 2. Fișierul 00_header este citit mai întâi, urmat de /etc/default/grub Fișier de configurare. După aceasta, elementele de meniu sunt generate pentru nucleele Linux ale sistemului actual folosind scriptul 10_linux. Acest script creează un element normal de meniu de pornire pentru un nucleu Linux și un element de meniu de recuperare a sistemului pentru același nucleu Linux din partiția /boot.

În continuare, 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 ale hard diskului. Este capabil să recunoască sistemele Linux, Windows, BSD și Mac OS X instalate. Dacă utilizați o configurație de partiție a hard diskului care este prea exotică pentru scriptul os-prober, împiedicând recunoașterea distribuției instalate, puteți adăuga o descriere a acestei distribuții la scriptul 40_custom (vezi secțiunea „Elementele meniului de boot personalizate”).

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 încărcare a sistemului în modul grafic

Marea majoritate a problemelor asociate cu încărcătorul de pornire 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 diferite tipuri de discuri și partiții ale discurilor și, de asemenea, poate localiza și identifica corect sistemele de operare instalate în acele partiții. Utilitarul poate funcționa atât pe computere obișnuite cu Master Boot Records (MBR), cât și pe computere noi cu UEFI și GUID Partition Tables (GPT).

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

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

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

Sudo apt-get update

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

Sudo apt-get install -y Boot Repair

Odată ce procesul de instalare este finalizat, 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-ul sistemului. 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 vizualiza informații detaliate despre discurile dvs., inclusiv partițiile acestora, precum și conținutul fișierelor importante de configurare GRUB 2, cum ar fi fișierele din directorul /etc/default/grub și /boot/ fișier grub/grub.cfg. Dacă aplicația nu reușește să vă restabilească bootloader-ul, puteți posta acest link pe forumul distribuției dvs., astfel încât vizitatorii să poată vedea aspectul partiției hard diskului dvs. și să ofere sfaturi utile.

Restaurarea bootloader-ului sistemului

Problemele cu încărcătorul de pornire GRUB 2 pot face ca sistemul să intre î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ă la 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 comandă complet al bootloaderului, cu care puteți efectua o mulțime de acțiuni care vizează pornirea sistemului. Dacă vedeți promptul grub rescue>, atunci este ușor să concluzionați că încărcătorul de sistem nu poate detecta modulele sale, precum și fișierele care descriu parametrii 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 sistem nu a putut detecta nici măcar informațiile de bază care sunt de obicei stocate în înregistrarea de pornire principală.

Puteți remedia aceste probleme GRUB 2 utilizând fie un Live CD din orice distribuție, fie un shell GRUB 2. Dacă aveți noroc și încărcătorul dvs. de pornire afișează promptul grub>, puteți folosi întreaga putere a shell-ului încorporat GRUB 2. pentru a remedia eventualele 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ă activaț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 al hard disk-ului împreună cu informații despre partițiile în sine.

Alternativ, puteți utiliza comanda ls împotriva fiecărei partiții de hard disk pentru a găsi partiția cu sistemul dvs. 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, de exemplu, o comandă precum ls (hd0.5), veți obține informații despre partiție, inclusiv informații despre tipul sistemului de fișiere, dimensiunea totală a acestuia. și ora ultimei modificări. Dacă aveți mai multe partiții rădăcină pe hard disk, puteți citi conținutul fișierului /etc/issue folosind comanda cat pentru a identifica distribuția într-un mod similar: cat (hd0.5)/etc/issue .

Presupunând că ați găsit sistemul de fișiere rădăcină corect în partiția (hd0,5), ar trebui să vă asigurați că acest sistem de fișiere conține un director /boot/grub și o imagine a nucleului Linux cu un nume similar cu vmlinuz-3.13.0-24- generic dvs. doresc să se încarce. 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ă transmite informații de încărcare a sistemului GRUB 2 despre partiția hard disk-ului pe care se află fișierele de distribuție de pornit. A doua comandă îi transmite informații despre locația fișierului imagine kernel în cadrul partiției specificate de hard disk, 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 kernel și imaginea inițială a discului.

Introducerea acestor linii trebuie finalizată prin introducerea, după următorul salut grub>, a comenzii de pornire, care inițiază încărcarea sistemului de operare specificat folosind GRUB 2.

Acțiunea păduchilor ar trebui să fie ușor diferită dacă întâlniți 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 cu succes comanda ls pentru a găsi partiția rădăcină Linux, va trebui să marcați acea partiție folosind comanda set. Apoi, trebuie să încărcați modulul normal, după care veți reveni la modul standard cu salutul grub>. Următoarea comandă vă permite să încărcați modulul Linux dacă nu a fost încărcat automat. După încărcarea acestui modul, puteți continua să transferați informații către încărcătorul de sistem de încărcare despre locația fișierelor imagine kernel și imaginea inițială a discului și puteți iniția încărcarea distribuției folosind comanda de pornire.

După încă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 încărcător de încărcare a sistemului în înregistrarea principală de pornire folosind comanda:

GRUB 2 și UEFI

Mașinile cu firmware UEFI (adică aproape toate mașinile vândute în ultimii câțiva ani) au adăugat un nou nivel de complexitate procesului de diagnosticare a problemelor cu încărcătorul de pornire GRUB 2. Chiar dacă procedura de restabilire a încărcător de încărcare GRUB 2 instalat pe mașina este cu firmware UEFI, nu diferă în mod semnificativ de procedura de restaurare a aceluiași bootloader pe o mașină fără firmware UEFI; se fac diferite modificări la noile versiuni de firmware, care provoacă rezultate diferite în procesul de restaurare a bootloader-ului sistemului.

Pe sistemele bazate pe UEFI, nu va trebui să instalați nimic în Master Boot Record. În schimb, va trebui să instalați un încărcător de pornire Linux compatibil EFI pe partiția de sistem EFI (ESP) și să îl setați ca încărcător de pornire implicit folosind un instrument precum efibootmgr pe Linux sau bcdedit pe Windows.

În acest moment, încărcătorul de sistem GRUB 2 ar trebui să fie instalat 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 încărcător de sistem inoperant, puteți restaura sistemul folosind o imagine live a unei distribuții Linux. Când descărcaț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 suport amovibil - pentru pornirea în modul normal și în modul UEFI. Utilizați ultimul mod pentru a organiza accesul la variabilele EFI prin fișiere din directorul /sys/firmware/efi/.

Din mediul live, ar trebui să montați sistemul de fișiere rădăcină al distribuției instalate fără succes în modul descris în acest ghid. De asemenea, va trebui să montați partiția de sistem EFI (ESP). Presupunând că fișierul dispozitivului /dev/sda1 corespunde acestei partiții, atunci puteți monta această partiție folosind următoarea comandă:

Sudo mount /dev/sda1 /mnt/boot/efi

Apoi, trebuie să încărcați modulul kernel efivars 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 distribuția Fedora, puteți reinstala încărcătorul de pornire folosind 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 încărcării de pornire:

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

Utilizatorii Ubuntu pot efectua aceeași operațiune folosind comanda:

Apt-get install --reinstall grub-efi-amd64

După ce ați restaurat încărcătorul de încărcare a sistemului, 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 scriptul din directorul /etc/grub.d, trebuie doar să ștergeți bitul de execuție folosind o comandă similară cu chmod -x /etc/grub.d/20_memtest86+, care elimină linia „Test de memorie” din boot meniul

Omule, unde este GRUB-ul meu?

O caracteristică pozitivă a încărcării sistemului GRUB 2 este capacitatea de a-l reinstala ori de câte ori este necesar. În acest fel, dacă vă pierdeți încărcătorul de pornire GRUB 2, de exemplu, după ce Windows îl înlocuiește cu propriul încărcător de pornire, puteți restaura GRUB 2 efectuând câteva operațiuni în mediul live. Presupunând că ați instalat distribuția pe partiția de hard disk reprezentată de fișierul dispozitivului /dev/sda5, puteți reinstala încărcătorul de pornire GRUB 2 creând mai întâi un director pentru a monta sistemul de fișiere rădăcină al distribuției folosind comanda:

Sudo mkdir -p /mnt/distro

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

Montați /dev/sda5 /mnt/distro

Apoi puteți reinstala încărcătorul de pornire GRUB 2 folosind 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 de încărcare GRUB 2, cum ar fi grubenv și device.map.

Există o altă problemă care apare adesea la operarea computerelor cu mai multe distribuții instalate. Când instalați o nouă distribuție Linux, încărcătorul său de pornire 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ă, ar trebui 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 are sistemele de fișiere /root și /home pe partiții separate de hard disk, ar trebui să montați numai sistemul de fișiere /root înainte de a rula grub2-mkconfig.

Deși încărcătorul de pornire GRUB 2 poate detecta majoritatea distribuțiilor, încercarea de a adăuga o intrare de meniu a încărcării de pornire pentru Fedora în timp ce rulează o distribuție Ubuntu necesită un pas suplimentar. Dacă ați folosit setările implicite când ați instalat distribuția Fedora, programul de instalare va crea partițiile LVM. În acest caz, înainte de a apela scriptul os-prober inclus cu încărcătorul de pornire GRUB 2 pentru a adăuga Fedora în meniul de pornire, va trebui mai întâi 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ă rularea grub2-install nu face nicio diferență ș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 efectua această sarcină, puteți utiliza utilitarul util chroot, care vă permite să înlocuiți temporar directorul rădăcină al mediului live cu directorul rădăcină al sistemului Linux instalat, a cărui funcționalitate 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 Live CD-ul pentru aceeași arhitectură CPU ca și distribuția instalată pe hard disk. Astfel, dacă doriți să utilizați utilitarul chroot pentru a restabili funcționalitatea unui sistem instalat pe 64 de biți, veți avea nevoie de un Live CD pentru sistemele pe 64 de biți.

După încărcarea mediului Live, în primul rând ar trebui să verificați partițiile hard disk-ului 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 GRUB 2 pe care doriți să o restaurați.

Să presupunem că trebuie să restaurați încărcătorul de sistem al unei distribuții instalate pe partiția de hard disk, care este 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 directoare care trebuie să fie accesibile pentru încărcătorul de sistem 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 mergeți în mediul distribuției instalat pe partiția reprezentată de fișierul dispozitivului /dev/sda5 folosind utilitarul chroot:

$ sudo chroot /mnt /bin/bash

Acum sunteți gata să instalați, să verificați și să actualizați încărcătorul de pornire GRUB 2. Ca și înainte, pentru a reinstala încărcătorul de pornire ar trebui să utilizați comanda:

Sudo grub2-install /dev/sda

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

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

Această secvență de comenzi ar trebui să ajute la remedierea problemelor bootloader-ului. Mașina dvs. va avea acum instalată o nouă copie a încărctorului de pornire GRUB 2 cu o listă a tuturor sistemelor de operare și distribuțiilor instalate pe el. Înainte de a reporni computerul, ar trebui 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

Puteți apoi să reporniți în siguranță mașina, care ar trebui să fie din nou sub controlul încărctorului de pornire GRUB 2, care este sub controlul dvs. complet!

Opțiuni personalizate pentru meniul de pornire

Încărcătorul de pornire GRUB 2 utilizează un număr mare de variabile de configurare. Această secțiune descrie 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 vă permite să selectați automat elementul de meniu utilizat 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ă specificați o listă de parametri 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 adevărat, elementele din meniul de pornire pentru recuperarea sistemului nu vor fi generate. Aceste elemente vă permit să porniți distribuțiile în modul pentru utilizator unic, în care puteți utiliza orice instrumente disponibile din linia 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. Valoarea acestei variabile poate fi orice descriere a rezoluției suportate 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 un script numit 40_custom . Puteți utiliza acest element de meniu de pornire, de exemplu, pentru a porni o distribuție Linux instalată pe o unitate USB detașabilă. Presupunând că partiția de distribuție de pe unitatea USB amovibilă este reprezentată de fișierul dispozitivului /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 splash initrd /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 obține toate UUID-urile hard disk-urilor și partițiile acestora atașate la sistem. În mod similar, puteți adăuga intrări în meniul de pornire corespunzătoare oricăror distribuții identificate de script-ul os-prober, dar instalate pe hard disk, desigur, dacă știți pe ce disc este instalată fiecare distribuție și pe ce cale se află fișierele imagine ale nucleului. activat și o imagine a sistemului de fișiere inițial.

Astăzi, aproape toată lumea a auzit deja despre tehnologia UEFI. Nu voi vorbi despre ce este și de ce este nevoie. Astăzi aș dori să descriu cel mai simplu scenariu pentru instalarea unui sistem Dual Boot cu suport complet UEFI și, de asemenea, să iau în considerare instalarea și configurarea separată a managerului de boot rEFInd. Poate că ați văzut deja manuale și ghiduri similare, dar voi încerca să transmit foarte clar esența a ceea ce vom face și de ce. În alte manuale, urmăriți doar „magia” jucătorului de noroc și încercați să o repetați, făcând adesea greșeli simple. Pentru oricine este interesat de acest subiect, vă rugăm să vedeți cat.

În general, UEFI are scopul de a simplifica procesul de pornire, mai degrabă decât de a-l complica. De exemplu, folosind această tehnologie, un computer poate porni sistemul de operare fără niciun strat sub formă de GRUB / LILO / etc; UEFI însuși poate acționa ca un bootloader. Cu toate acestea, această metodă are dezavantajele sale, de exemplu, va trebui să modificați după actualizarea nucleului, puteți, desigur, să scrieți un script, dar în general asta face grub2-efi

Deci, haideți să creăm o listă aproximativă a acțiunilor noastre; pentru unii oameni, doar citiți-o și treceți la treabă. De fapt, aici va fi totul patru punct. Al cincilea și al șaselea puncte sunt opționale.

  1. Arderea unei imagini cu Windows 10 (8/8.1) pe un disc/unitate flash.
  2. Instalarea Windows 10 pe o parte a discului.
  3. Arderea unei imagini a unei distribuții Linux cu suport EFI (cele mai multe) pe un disc/unitate flash.
  4. Instalarea distribuției Linux pe partea rămasă a discului.
  5. Instalarea și configurarea rEFInd.
  6. Se elimină GRUB și se trece complet la rEFInd.

La prima vedere, totul este foarte simplu, doar 4 puncte de bază, dar există un număr mare de nuanțe.

Greșelile sunt făcute în toate etapele: intrarea în modul Legacy-bios, specificarea partiției de pornire greșite, pur și simplu neînțelegerea a ceea ce fac etc. În cele din urmă, toate acestea duc la multă durere și suferință pe forumuri, camere de chat etc. În realitate, totul este nerealist de simplu, trebuie doar să înțelegi ce faci în fiecare etapă și să te testezi.

Mai întâi o mică teorie

UEFI vede o singură partiție ESP specială, de obicei are o dimensiune de 100-200 de megaocteți și este formatată în FAT32 (uneori FAT16), conține foldere cu nume la Boot, Microsoft, Fedora, Ubuntu etc. Dacă ați încercat suficiente sisteme de operare și nu ați formatat niciodată această partiție, atunci ar putea exista un număr decent de foldere acolo. De exemplu, aveam 2 axe live și vreo 6 foldere.

Activarea unei teme frumoase

Totul este simplu cu aceasta, chiar deasupra ultimei linie a configurației indică fișierul .conf al temei. Este recomandabil să plasați temele în sine în folderul /boot/efi/EFI/refind/themes. Nu există implicit, creați-l prin mkdir .
Mergem la directorul de teme și pur și simplu scriem git clone https://github.com/munlik/refind-theme-regular.git. În config scriem linia include themes/refind-theme-regular/theme.conf
Alte subiecte pot fi vizionate la birou. site-ul web.

Acolo puteți vedea, de asemenea, procesele de instalare detaliate, parametrii pentru reglarea fină a configurației și multe altele.

Presupun că asta e tot. Am primit un manager de boot frumos pentru selectarea sistemului de operare dorit cu suport complet UEFI. Partea cu instalarea rEFInd este cea mai dificilă și, prin urmare, opțională; pentru majoritatea, grub2-efi va fi suficient.

În sfârșit, un scurt videoclip de la mine:


Probabil că sunt destul de multe erori în text, mă voi bucura dacă îmi trimiți un PM despre ele.

Acest articol ar fi trebuit scris acum șase luni, dar tot nimic.

Vom vorbi despre cum să instalați Linux ca un al doilea sistem de operare pe laptop-uri noi cu UEFI și Windows preinstalat. Cu condiția ca instalarea obișnuită să nu dea rezultatul dorit, și anume, după instalarea corectă a Linux „lângă” Windows, doar sistemul de operare Windows se va încărca.

Pentru început, așa cum a devenit deja o tradiție, să punctăm toate E-urile.

Problemă.

Avem un laptop (posibil un desktop, dar autorul s-a ocupat doar de un laptop), care utilizează UEFI și are Windows preinstalat (cel mai probabil 8.1, deși acum este deja 10). Vrem să instalăm sistemul de operare Linux chiar pe acest laptop (vom vorbi despre Linux Mint, dar pentru alții situația ar trebui să fie similară) al doilea sistem de operare (dual boot: capacitatea de a folosi atât Windows, cât și Linux, la alegerea utilizatorului). Instalați Linux în modul obișnuit * (despre care voi scrie și eu cândva, dar internetul este plin de instrucțiuni similare), reporniți și descoperiți problema noastră reală:

Windows încăpățânat pornește întotdeauna, fără Grub, nici un indiciu de vreun fel de încărcare dublă.

*De fapt, există cel puțin două caracteristici importante pentru instalarea Linux pe computere cu UEFI. 1) Înainte de a instala în același UEFI, trebuie să dezactivați opțiunea de pornire securizată - Security Boot Control (sau ceva similar, în funcție de versiunea UEFI). În caz contrar, mediul de stocare cu distribuția Linux aproape sigur nu va putea porni. 2) Bootloader-ul (Grub) trebuie instalat pe partiția EFI\ESP, numită de obicei sda2, și nu doar sda, așa cum era înainte, în era BIOS. Această opțiune este ajustată în timpul procesului de instalare Linux, de obicei undeva în jurul etapei de partiționare a discului.

Soluție rapidă pentru cei norocoși.

Mai întâi, încercați să vă conectați la UEFI (butonul F2 sau DEL ÎNAINTE de a porni Windows). Acolo, găsiți secțiunea care indică lista de descărcare. Trebuie să conțină următoarele elemente: cel puțin un hard disk și Windows Loader. Acesta din urmă are de obicei cea mai mare prioritate de pornire. Uită-te la restul articolelor din această listă dacă există ceva asemănător Ubuntu Loader(sau altceva în funcție de distribuția Linux pe care o instalați), apoi zâmbim și facem semn cu mâna, îl setăm ca cea mai mare prioritate și repornim. După repornire, interfața Grub mult așteptată ar trebui să apară cu opțiunea de pornire a sistemului de operare.

Dacă nu există alte „încărcătoare”, atunci ai ghinion ca mine: laptopul tău și-a vândut sufletul la Microsoft și nu vrea să vadă alte bootloadere. Sau, mult mai puțin probabil, Grub nu este instalat corect. (citește notele de la secțiunea anterioară și face totul conform Feng Shui).

Partea matematică și cunoștințele necesare.

Despre ce sunt UEFI și BIOS și de ce sunt necesare. Diferența dintre MBR și GPT, precum și semnificația lor, sunt descrise în detaliu. Nu ne vom repeta. Aceste informații ar trebui să fie suficiente pentru a înțelege acest articol.

Cititorul va avea nevoie și de cunoștințe de bază despre instalarea sistemului de operare Linux. Citim undeva acolo.

Veți avea nevoie, de asemenea, de abilități de bază în acest sistem de operare, în special gestionarea sistemului de fișiere folosind Midnight Commander (MC) ( prezentare generală a principalelor caracteristici și comenzi) și elementele de bază ale lucrului în consola Linux ( pentru Linux bazat pe Ubuntu, instrucțiuni bune pentru începători).

Va trebui să instalați MC (Mint Linux nu îl are în mod implicit), să îl rulați ca root (administrator), să faceți modificări fișierului text și să executați câteva comenzi simple în consolă.

Dacă poți face toate acestea fără instrucțiunile de mai sus, mă bucur pentru tine, putem merge mai departe. Aceste instrucțiuni sunt date pentru orice eventualitate, pentru a evita întrebările abordate în ele.

Soluţie.

Vă rugăm să rețineți că întregul algoritm este construit pentru sistemul de operare Linux Mint. În alte Linux (nu se bazează pe Ubuntu sau Debian) numele directoarelor și comenzile pot varia ușor.

  1. Instalați Linux lângă Windows utilizând opțiunea corespunzătoare în unul dintre primii pași de instalare sau (dacă această opțiune nu apare) partiţionarea corectă a hard disk-ului (merită un articol separat, despre acest lucru este scris și pe wiki-ul Ubuntu).
  2. NU reporniți computerul după instalare. Dacă ați repornit, este în regulă, va trebui doar să porniți din nou de pe live-cd\usb\dvd (la urma urmei, Linux nu va porni pentru tine?).
  3. Pentru orice eventualitate, executați comanda în consolă sudo update-grub(prin introducerea unei parole goale când vi se solicită).
  4. Deschideți o consolă/terminal sau alte mijloace (de exemplu, folosind managerul de programe din Ubuntu\Linux Mint) instala mc. În consolă (pentru sisteme cu apt) aceasta se face după cum urmează: sudo apt-get install mc(după care va trebui să introduceți o parolă, permiteți-mi să vă reamintesc că nu există nicio parolă în modul live, doar apăsați Enter și sunteți de acord cu instalarea).
  5. Rulați mc ca root: sudo mc (și din nou o parolă goală dacă vi se cere).
  6. Găsiți următorul director în sistemul de fișiere: /boot/efi/EFI.
  7. Redenumiți directorul (combinația ctrl+F6 în mc) Microsoft în altceva, cum ar fi Microsoft2.
  8. Creați un nou director numit Microsoft (tasta F7).
  9. Mergem la directorul Microsoft nou creat și parțial (a se vedea mai jos) creăm o ierarhie de foldere în el, similară vechiului Microsoft (la cel care a fost redenumit). În cazul meu, avea această structură de foldere: /boot/, apoi o grămadă de foldere și un fișier bootmgfw.efi lângă ei. Trebuie să recreați structura folderului exact până la acest fișier. Acestea. tot ceea ce se află lângă el nu este necesar, ci tot ceea ce vine înaintea lui (adică dosarele părinte, cele adiacente nu sunt, de asemenea, necesare)îl recreăm în noul nostru folder Microsoft. În cazul meu, trebuia doar să creez folderul de boot, calea finală către noul director a fost astfel: /boot/efi/EFI/Microsoft/boot .
  10. Găsim în directorul de la pasul 6 un folder cu numele distribuției noastre Linux, în cazul nostru este ubuntu. Copie (lăsăm fișierele originale și folderul ubuntu pentru orice eventualitate, nu va strica) toate fișierele din acest folder în directorul final creat la pasul anterior (V /boot/efi/EFI/Microsoft/boot) .
  11. În sistemul de fișiere rezultat (în directorul creat la pasul 9 și fișierele mutate în acesta la pasul 10) găsiți fișierul grubx.efi sau grubx64.efi (va fi doar unul dintre ele: în funcție de bitness-ul Linux-ului instalat). Redenumiți-l în bootmgfw.efi .
  12. Găsirea fișierului /boot/grub/grub.cfg. Deschideți-l pentru editare (tasta F4). În interiorul ei găsim (Tasta F7 deschide formularul de căutare text) cuvântul „Microsoft” în contextul liniei care începe cu „chainloader” și înlocuiți acest cuvânt (ar trebui să existe o singură apariție și ar trebui să fie pe linia „chainloader”, așa că nu puteți greși) la numele directorului în care am redenumit Microsoft la pasul 7 (adică pe Microsoft2 în exemplul nostru). Salvați modificările în fișier (tasta F2 - salvare).

Asta e tot. Pare foarte complicat, dar dacă urmărești totul exact pas cu pas (care sunt descrise cât mai detaliat posibil!), atunci totul se va rezolva fără probleme. Și, după repornire și apoi pornire de pe hard disk (nu din media live) vom vedea ecranul râvnit cu meniul de selecție a sistemului de operare. Ura, tovarăși!

Ce tocmai am făcut?

Lasă-mă să explic. După cum puteți vedea, producătorul dvs (și al meu, am un Acer dacă se întâmplă asta) laptopul și-a vândut sufletul către Small Software, așa cum am spus mai devreme. Și anume, laptopul la nivel UEFI nu vrea să încarce altceva decât un fișier /boot/efi/EFI/Microsoft/boot bootmgfw.efi, care conține încărcătorul de pornire Windows. Aceasta este discriminare!

Prin înlocuirea fișierului cu cel al lui Grabov, am înșelat astfel atât laptopul, cât și Microsoft. Ne-au forțat să încărcăm iubitul nostru Grub, în ​​loc de ferestrele supărate și încăpățânate.

Ce e de facut in continuare? + Precauții pentru actualizări.

Trăiește și fii fericit. Dar exact până când Grub vrea să actualizeze. Sau, nu doriți să păcătuiți și să vă actualizați Windows-ul

Primul despre actualizarea Grub.

Cert este că, după actualizare, Grub rulează comanda update-grub, care nu găsește încărcătorul Windows în ierarhia de foldere pe care am creat-o. (din motive necunoscute de mine). Și, astfel, după actualizarea grub și apoi repornirea computerului, nu va mai fi niciun Windows dăunător în lista de selecție a sistemului de operare (și este bine!). Soluția este confuză, dar algoritmul este familiar

  1. Redenumiți folderul Microsoft (care conține în prezent fișiere din Grab și Linux) în ceva temporar, de exemplu MicrosoftLinux.
  2. Redenumiți vechiul folder Microsoft2 (în care se află bootloader-ul Windows) pur și simplu Microsoft, revenind astfel la starea inițială.
  3. Executați comanda sudo update-grub.
  4. Returnează numele folderelor, dându-le aspectul din soluție. Acestea. MicrosoftLinux este redenumit din nou la Microsoft, Microsoft înapoi la Microsoft2.
  5. Repetăm ​​pasul numărul 12 din soluție și ne bucurăm din nou de apariția Windows în lista de sisteme de operare atunci când computerul pornește.

Da, asta e singura cale deocamdată. Mi-ar plăcea să automatizez chestia asta, dar deocamdată eram foarte leneș. La urma urmei, grub nu este actualizat atât de des. Și o descriere manuală a soluției nu va fi niciodată de prisos; mai târziu va fi utilă pentru automatizare.

Acum, iată ce trebuie să știți: dacă intenționați să actualizați Windows .

Majoritatea actualizărilor Windows necesită o repornire. Windows-ul meu 8.1, așa cum era de așteptat, nu a reușit să pornească după o astfel de repornire, deoarece nu și-a găsit încărcătorul de pornire la /boot/EFI/Microsoft (Linux locuiește acolo acum). Prin urmare, înainte de a instala actualizările Windows, asigurați-vă că ați returnat bootloader-ul la locul său. Acestea. în folderul Microsoft din exemplul nostru. Da, după aceasta toată problema va reveni, pentru că doar Windows se va încărca din nou, dar va fi mai ușor să executați algoritmul din soluție a doua oară?;)

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva