GNU GRUB

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
GNU GRUB
software
Siglă
Exemplu de captură de ecran
Captură de ecran a GNU GRUB v2
Tip Încărcător de încărcare
Dezvoltator Proiect GNU
Data primei versiuni 1995 ; Acum 26 de ani
Ultima versiune 2,06 (8 iunie 2021)
Sistem de operare WILDEBEEST
Limba Asamblare
C [1]
Licență GNU General Public License 3+ [1]
( licență gratuită )
Limbă Multilingv
Site-ul web www.gnu.org/software/grub/

GNU GRUB (acronim pentru GNU GRand Unified Bootloader , denumit și GRUB 2 pentru a se referi la cea mai recentă versiune) este un boot loader al proiectului GNU . Este utilizat în mai multe distribuții Linux ca manager de încărcare pentru medii de încărcare duale sau pentru a porni configurații specifice kernel- ului.

Descriere

Acesta funcționează pe arhitectura PC - ul pe bază de BIOS tip mai nou UEFI sau compatibil IBM mai devreme, pe PowerPC pe bază de Open Firmware (cum ar fi PowerMac și Pegasos ), dar , de asemenea , pe Riscos / ARM , pe UltraSparc și Coreboot (ex LinuxBIOS). Simplu de utilizat, deoarece poate fi configurat automat sau modificând un singur fișier de configurare, este echipat cu diverse programe auxiliare. În primul rând, programul de instalare grub-install , care identifică cu precizie diferitele nuclee și alte sisteme prezente în directorul rădăcină și alte dispozitive de stocare în masă și generează automat configurația.

Identificați dispozitivele

GNU GRUB pe unitățile de hard disk partiționate MBR
GNU GRUB pe unitățile de hard disk partiționate GPT

GRUB folosește o nomenclatură de module diferită de cea utilizată în LILO sau în Linux, de asemenea, deoarece nu este un bootloader dedicat numai Linux. GRUB cere ca unitățile menționate să fie indicate între paranteze rotunde și trebuie specificate atât tipul de unitate cât și numărul cardinal progresiv (începând să se numere de la numărul 0 și nu de la 1) și, eventual, partiția utilizată.

Câteva exemple vor clarifica mai bine situația: (hd0,1) indică faptul că ne referim la un hard disk (hd) , iar printre toate hard disk-urile prezente pe computer este indicat primul din lanț (hd0) . GRUB nu face nicio diferență între IDE , SCSI sau SATA : totul depinde de lanțul de recunoaștere BIOS , care poate fi setat după cum doriți. În general, discurile EIDE au prioritate față de restul și sunt identificate cu cele mai mici numere.

Al doilea număr după virgulă indică partiția discului specificat la care ne referim: partițiile primare sunt identificate ca 0 , 1 , 2 și 3 în timp ce partițiile logice încep întotdeauna de la 4 , indiferent de numărul primarelor prezente. În exemplu, (hd0,1) indică a doua partiție primară, în timp ce (hd0,4) indică prima partiție logică întotdeauna pe același disc. În cazul în care ne referim la un disc EIDE, în conformitate cu Linux convenția, (hd0,1) corespunde hda2, în timp ce (hd0,4) corespunde hda5.

În comparație cu alte încărcătoare de încărcare, GRUB este capabil să navigheze fișiere în sistemele de fișiere . În prezent, acceptă următoarele sisteme de fișiere:

GRUB este utilizat în mod normal prin intermediul unui monitor de computer și tastatură, dar poate fi configurat și pentru a interacționa cu o consolă serială .

Procesul de pornire

boot.img are dimensiunea exactă de 446 de octeți și este scris în MBR (sectorul 0). core.img este scris în sectoarele goale dintre MBR și prima partiție, dacă este disponibil (din motive vechi prima partiție începe de la sectorul 63 în loc de sectorul 1, dar acest lucru nu este obligatoriu). /boot/grub -directory poate fi localizat pe o partiție distinctă sau pe / -partition.

GRUB este un bootloader etapizat, deoarece execuția sa este marcată de diferite etape de boot, fiecare dintre ele fiind reprezentat de un fișier:
- două etape esențiale (fișierele stage1 și stage2)
- diverse etape opționale (indicate cu fișierele pe care le conțin în numele lor stage1_5)
stage1
Acesta este un fișier esențial pentru pornirea cu GRUB. Se găsește de obicei în MBR sau în sectorul de boot al unei partiții. Deoarece un sector de încărcare are 512 octeți mare, dimensiunea fișierului este exact de 512 octeți. Tot ceea ce face stage1 este să încarce fișierul stage2 sau fișierul * stage1_5 specific de pe disc (stage1 nu gestionează niciun tip de sistem de fișiere).
etapa2
Acesta este nucleul GRUB. De obicei, se află pe un sistem de fișiere, dar acest lucru nu este necesar.
etapa1_5
Această familie de fișiere este destinată conectării fișierului stage1 la fișierul stage2. Adică, un fișier ipotetic care conține stage1_5 în numele său înseamnă că acesta din urmă este încărcat de stage1 și, la rândul său, va încărca stage2. Specificația stage1_5 face GRUB capabil să gestioneze un anumit sistem de fișiere. În acest fel, puteți muta fișierul stage2 într-o altă locație a sistemului de fișiere fără a fi nevoie să reinstalați GRUB.
Procesul de pornire poate fi rezumat după cum urmează:
1) BIOS-ul caută dispozitive bootabile și oferă control asupra sectorului de boot (MBR) al dischetei [2] sau al hard diskului .

2) Master Boot Record poate încărca etapa 1.5 (rezidă în 30 kB după MBR) care la rândul său va încărca etapa 2 sau va încărca direct etapa 2, situată oriunde pe disc.

3) Etapa 2 conține meniul de pornire cu lista nucleelor ​​de pornire.

4) GRUB încarcă nucleul selectat în memorie și îl execută.

Versiuni

O primă versiune a software-ului, numită mai întâi GRUB și apoi redenumită GRUB Legacy , a fost dezvoltată până la versiunile 0.9x. Pe distribuția Ubuntu , de exemplu, cea mai recentă versiune veche inclusă a fost 0.9.10.

Actualul GRUB 2 nu este o simplă actualizare a versiunii anterioare, deoarece provine dintr-o rescriere completă cu scopul de a simplifica codul celei anterioare și de a crește modularitatea și portabilitatea . Software-ul s-a născut odată cu proiectul PUPA , care vizează tocmai cercetarea evoluției GRUB . Printre cele mai interesante caracteristici ale versiunii 2 se remarcă: suport pentru scripting; încărcarea dinamică a modulelor, pentru a extinde funcționalitatea în timpul rulării, mai degrabă decât în timpul compilării ; un suport grafic deosebit de avansat pentru un încărcător de încărcare , care acceptă VGA , framebuffer VESA , fonturi și chiar un terminal grafic (gfxterm).

Notă

  1. ^ a b Rezumatul analizei Ohloh - GNU GRUB , la ohloh.net , Ohloh . Adus la 12 mai 2010 (arhivat din original la 4 februarie 2009) .
  2. ^ Sau orice altă unitate de pornire (cd / dvd, stick USB etc.)

Elemente conexe

Alte proiecte

StartUp-Manager, un front-end pentru configurarea GRUB

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă cu software-ul liber