GRUB

Da Wikipedia, l'enciclopedia libera.

Screenshot di GNU GRUB, pronto per avviare Ubuntu 8.04

GRUB (GRand Unified Bootloader) è un boot loader per Linux.

E' semplice da usare, perché viene configurato attraverso un normale file di configurazione (in genere /boot/grub/menu.lst, anche se a seconda della distribuzione utilizzata potrebbe essere anche /etc/grub.conf [1]).

È corredato da vari programmi ausiliari. In particolare grub-install è in grado di trovare i vari kernel presenti nella root directory e di generare la configurazione necessaria.

Indice

[modifica] Identificare i dispositivi

StartUp-Manager, un front-end per configurare GRUB

GRUB utilizza una nomenclatura dei device diversa rispetto a quella che siamo abituati ad utilizzare in LILO o all'interno di Linux, ed è un aspetto piuttosto normale considerando il fatto che non è un bootloader dedicato solo a Linux. GRUB richiede che le unità cui si fa riferimento siano indicate fra parentesi tonde, e deve essere specificato sia il tipo di unità che il numero cardinale progressivo (iniziano a contare dal numero 0 e non 1) ed, eventualmente, la partizione utilizzata.

Qualche esempio chiarirà meglio la situazione: (hd0,1) indica che ci si sta riferendo ad un hard disk (hd), e tra tutti i dischi fissi presenti sul computer, si indica proprio il primo della catena (hd0).

GRUB non fa alcuna differenza tra IDE, SCSI o SATA: tutto dipende dalla catena di riconoscimento del BIOS, che può essere impostata a piacere. In genere, i dischi EIDE hanno la precedenza sui restanti, e vengono identificati con i numeri più bassi.

Il secondo numero dopo la virgola indica la partizione del disco specificato alla quale ci si sta riferendo: le partizioni primarie vengono identificate come 0, 1, 2 e 3 mentre le partizioni logiche iniziano sempre da 4, indipendentemente dal numero di primarie presenti. Nell'esempio, (hd0,1) indica la seconda partizione primaria (si inizia a contare da zero!), mentre (hd0,4) indica la prima partizione logica sempre dello stesso disco. Nel caso ci si stia riferendo ad un disco EIDE, secondo la convenzione Linux, (hd0,1) corrisponde a hda2, mentre (hd0,4) corrisponde a hda5.

Rispetto agli altri boot loader, GRUB è in grado di sfogliare file all'interno dei file system. Attualmente supporta i seguenti file system:

GRUB prende normalmente l'input dalla console del computer, ovvero monitor e tastiera, ma può essere configurato anche per interagire con una console seriale.

[modifica] Sviluppo

Attualmente è in fase di sviluppo GRUB 2 che sostituirà l'attuale GRUB (versione 0.9x). GRUB 2 rivoluzionerà il boot loader, creandone uno di nuova generazione grazie alla fusione con il codice di PUPA[2]. Lo sviluppo di GRUB è quindi bloccato.

[modifica] Processo di avvio

  1. Il BIOS cerca periferiche avviabili e dà il controllo al settore di avvio (MBR) del floppy o dell'hard disk.
  2. Il MBR contiene lo stage 1 di GRUB. Dato che il MBR è piccolo, si passa allo stage 2 che, collocato in qualsiasi punto del disco, può contenere più dati.
  3. Lo stage 2 contiene il menù di avvio con la lista dei kernel avviabili.
  4. GRUB carica il kernel selezionato nella memoria e lo esegue.

[modifica] Note

  1. ^ (EN) GRUB su LinuxQuestions.org
  2. ^ PUPA

[modifica] Altri progetti

[modifica] Voci correlate

[modifica] Collegamenti esterni

Strumenti personali