Guida Il boot loader Grub

Antox C.

Utente Mitico
Autore del topic
21 Ottobre 2009
6.242
47
Miglior risposta
0
GRUB, acronimo di GRand Unified Bootloader, è un programma distribuito sotto licenza GNU che si occupa del caricamento e dell'avvio di sistemi operativi.

GRUB è residente su disco, ed è largamente utilizzato ed installato di default nella quasi totalità delle principali versioni di Linux, nonchè in quelle di FreeBSD e di OpenSolaris. Più che il suo funzionamento interno, a dire il vero molto complesso, è interessante conoscerne l'architettura di base, il sistema di configurazione (gestito direttamente tramite il file di configurazione menu.lst) ed i principali comandi testuali.

Grub permette di riscrivere completamente da zero i comandi necessari a far partire un kernel, GRUB è un boot loader universale, supporta tutti i principali sistemi operativi, tra i quali anche quelli con licenza proprietaria come Windows. Si presenta all'avvio del computer con un'interfaccia a menù come quella presentata dal seguente esempio:

1.jpg

GRUB è avviabile in modo standard dal comando grub, ed è distribuito insieme ad alcuni programmi accessori, dei quali sono riportati con una breve descrizione i più usati:

  • grub-install: installa grub su un disco;
  • grub-set-default: assegna la voce di menù avviata di default alla scadenza del timeout;
  • grub-probe: offre informazioni sul device corrispondente ad un determinato percorso (o ad un dispositivo, tramite l'opzione-d);
  • grub-reboot: riavvia il computer col sistema operativo corrispondente alla voce di menù specificata come argomento;
  • grub-md5-crypt: calcola l'hash MD5 di una password richiesta dal programma stesso.

Architettura di GRUB



GRUB è formato da due parti dette stage.

  • stage1 è residente nel Master Boot Record (MBR, settore di avvio usato dal bios per completare il boot del sistema) e si occupa di caricare la seconda parte;
  • stage2 è residente su disco al percorso /boot/grub e contiene il programma vero e proprio; allo stesso percorso sono memorizzati i files di configurazione.

Tale architettura permette allo stage1 di poter restare sempre immutato mentre è la sola modifica dello stage2, nell'atto di modificare un file di configurazione, che determina il comportamento del boot loader e la struttura del menù.
Da questo sistema di funzionamento deriva una flessibilità ed una facilità d'uso incredibilmente alta se messa in relazione con la potenza del tool.

Notazioni per l'identificazione di dischi e partizioni.



Prima di discutere il funzionamento nel dettaglio e la struttura del file di configurazione può essere utile ricordare come vengono denominati i dischi e le partizioni da grub e dai sistemi operativi.

  • L'ambiente DOS/Windows assegna ad ogni partizione collocata su un qualsiasi disco un valore simbolico composto da una lettera progressiva e dai due punti (di default A: e B: per i dischi rimovibili, C: e seguenti per dischi fissi ed altre unità);
  • la notazione unix assegna un nome al disco nella forma hda, hdb, hdc ecc.. e per ogni disco definisce un valore fisso e progressivo che identifica ciascuna delle partizioni (es: hda1, hda5, hdb3). I numeri da 1 a 4 sono riservati alle quattro possibili partizioni primarie, mentre si usano valori superiori a 5 per denominare le partizioni logiche.
  • GRUB usa una propria notazione, diversa dalle due precedenti, che assegna ad ogni disco fisso il prefisso "hd" seguito dall'identificativo del disco e della partizione:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Ecco uno schema grafico riassuntivo di esempio che può chiarire le idee:

2.jpg

mrwebmaster
 
Riferimento: Il boot loader Grub

GRUB è avviabile in modo standard dal comando grub, ed è distribuito insieme ad alcuni programmi accessori, dei quali sono riportati con una breve descrizione i più usati:

Vorrebbe dire che decido io se far partire o meno il grub..