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 (prescurtare 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 boot pentru medii de boot dual 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 configurabil în mod automat sau modificând un singur fișier de configurare, este însoțit de diverse programe auxiliare. În primul rând, programul de instalare grub-install , care localizează cu precizie diferitele nuclee și alte sisteme prezente în directorul rădăcină și în celelalte 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ă diferită a modulelor în comparație cu ceea ce este utilizat în LILO sau în Linux, deoarece nu este doar un bootloader dedicat 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ă.

Unele exemple clarifică mai bine situația: (hd0,1) indică faptul că se referă la un hard disk (HD), iar printre toate discurile de pe computer, indică cu precizie primul din lanț (hd0). GRUB nu face nicio diferență între IDE , SCSI sau SATA : totul depinde de recunoașterea BIOS-ului lanțului, care poate fi setat după cum doriți. De obicei, discurile EIDE au prioritate față de celălalt și sunt identificate cu cele mai mici numere.

Al doilea număr după virgulă indică partiția de disc 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 primarului prezent. În exemplu, (hd0,1) indică a doua partiție primară, în timp ce (hd0,4) indică întotdeauna primul disc al aceleiași partiții logice. În cazul în care ne referim la un hard disk EIDE , conform convenției Linux , (hd0,1) corespunde hda2, în timp ce (hd0,4) corespunde hda5 .

În comparație cu alte încărcătoare de încărcare, GRUB poate naviga prin fișiere în sistemul de fișiere . În prezent, acceptă următoarele sisteme de fișiere:

GRUB este utilizat în mod normal prin intermediul monitorului și tastaturii computerului, dar poate fi configurat și pentru a interacționa cu o consolă serială .

Procesul de pornire

boot.img are dimensiunea exactă de 446 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 (pentru 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 în etape, deoarece execuția sa este marcată de boot-ul diferitelor etape (stage), fiecare dintre ele reprezentând 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. Acesta este un fișier ipotetic care conține stadiul 1_5 în numele său înseamnă că acesta din urmă este încărcat din stadiul 1 și, la rândul său, va încărca stadiul 2. 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ă dispozitivele 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, primul apel și apoi redenumit GRUB GRUB Legacy, a fost dezvoltat până la versiuni 0.9x. Pe distribuția Ubuntu , de exemplu, cea mai recentă versiune inclusă moștenire 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 de mai sus și de a crește modularitatea și portabilitatea . Software-ul vine împreună 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 , font și, de asemenea, un terminal grafic (gfxterm).

Notă

  1. ^ A b Rezumatul analizei Ohloh - GNU GRUB pe ohloh.net, Ohloh . Adus la 12 mai 2010 (depus de 'url original 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 Portal Software gratuit Puteți ajuta Wikipedia extinzându-l Software-ul gratuit