Una delle cose più importanti da capire prima di usare GRUB è il modo in cui il programma fa riferimento a dispositivi come i dischi fissi o le partizioni. Questa informazione è fondamentale se desiderate configurare GRUB per l'avvio di più sistemi operativi.
Quando vi riferite ad un dispositivo particolare con GRUB, fatelo usando il seguente formato (notare che le parentesi e la virgola sono molto importanti):
(<type-of-device><bios-device-number>,<partition-number>) |
<type-of-device> specifica il tipo di dispositivo dal quale GRUB stà eseguendo l'avvio. Le due opzioni più comuni sono hd per un disco fisso o fd per un dischetto da 3.5. È disponibile un tipo di dispositivo meno usato chiamato nd per un disco di rete. Le istruzioni su come configurare GRUB in modo da avviarsi attraverso la rete, sono disponibili su http://www.gnu.org/manual/grub/.
<bios-device-number> è il numero del dispositivo BIOS. Il disco fisso IDE primario viene numerato con 0 e il disco fisso IDE secondario, viene numerato 1. La sitassi è simile a quella usata per i dispositivi dal kernel. Per esempio, a in hda per il kernel è analogo a 0 in hd0 per GRUB, b in hdb è analogo a 1 in hd1, e così via.
Il <numero-partizione> indica il numero di una partizione specifica su di un dispositivo. Come per il <bios-numero-dispositivo>, la numerazione delle partizioni inizia da .0 Tuttavia, le partizioni BSD sono invece rappresentate da lettere, con acorrispondente a 0, b corrispondente a 1, e così via.
![]() | Suggerimento |
---|---|
Il sistema di numerazione di GRUB parte da 0 e non da 1. Questo è uno degli errori più comuni commessi dai nuovi utenti. |
Per darvi un esempio, se un sistema possiede più di un disco fisso, GRUB si riferisce al primo disco fisso come (hd0) e il secondo come (hd1). Lo stesso avviene per le partizioni, GRUB infatti si riferisce alla prima partizione sul disco fisso come (hd0,0), e la terza partizione sul secondo disco fisso come (hd1,2).
Per assegnare un nome a dispositivi e partizioni, GRUB utilizza le regole seguenti:
Tutti i dischi fissi, non importa se sono IDE o SCSI, iniziano con hd. Le lettere fd.sono usate per specificare i dischetti 3.5.
Per specificare un dispositivo intero, senza tener conto delle sue partizioni, occorre semplicemente tralasciare la virgola e il numero di partizione. Questo aspetto è importante quando GRUB deve configurare l'MBR per un disco in particolare. Per esempio (hd0) specifica l'MBR sul primo dispositivo e (hd3) indica il quarto.
Se un sistema possiede diversi dispositivi dell'unità, è importante conoscere il loro ordine in base al BIOS. Non è difficile scoprirlo se i dischi sono solo IDE o solo SCSI, se invece sono misti, è importante accedere prima il tipo di unità con la partizione di avvio.
Quando digitate i comandi per GRUB che comprendono a un file, come un elenco di menu, è necessario includere il file subito dopo aver specificato il dispositivo e la partizione.
Qui di seguito viene riportata la struttura di tale comando:
(<device-type><device-number>,<partition-number>)</path/to/file> |
In questo esempio, sostituire <device-type> con hd, fd, o nd. Sostituire <device-number> con il numero intero per il dispositivo. Sostituire </path/to/file> con un percorso assoluto sulla parte superiore del dispositivo.
Potete inoltre indicare a GRUB dei file che non compaiono nel filesystem, come per esempio un loader a catena (chain loader) contenuto nei primissimi blocchi di una partizione. Per caricare questi file, occorre fornire un elenco dei blocchi, che indichi a GRUB, blocco per blocco, la posizione del file nella partizione. Poiché un file può essere composto da molti insiemi di blocchi differenti, esiste un modo specifico di scrivere gli elenchi dei blocchi. Tutte le posizioni dei file nelle sezioni vengono descritte dal blocco iniziale a cui si aggiunge il numero di blocchi utilizzati, infine le sezioni vengono raggruppate in ordine e separate da virgole.
Considerate il seguente elenco di blocchi:
0+50,100+25,200+1 |
Questo esempio di elenco di blocco, specifica un file che inizia sul primo blocco sulla partizione e utilizza i blocchi da 0 a 49, 99 a 124, e 199.
Sapere come scrivere gli elenchi dei blocchi è utile quando si usa GRUB per caricare dei sistemi operativi che utilizzano il caricamento a catena. Potete omettere il numero di blocchi se iniziate dal blocco 0. Per esempio, il file di caricamento a catena nella prima partizione del primo disco fisso avrà il seguente nome:
(hd0,0)+1 |
Potete inoltre utilizzare il comando chainloader con la stessa indicazione nella linea di comando di GRUB dopo aver impostato come root il dispositivo e la partizione corretti:
chainloader +1 |
Alcuni utenti si confondono nell'utilizzare il termine filesystem rootcon GRUB. È importante ricordare che il filesystem root di GRUB non ha nulla a che fare con il filesystem root di Linux.
Il file system root di GRUB è il livello superiore del dispositivo specificato. Per esempio, il file immagine (hd0,0)/grub/splash.xpm.gz è posizionato all'interno della directory /grub/ sul livello superiore (o root) della partizione (hd0,0) (la quale è la partizione /boot/ per il sistema).
Una volta che GRUB ha caricato la partizione root contenente il kernel Linux (la quale è uguale alla partizione /boot e contenente il kernel di Linux), potete eseguire il comando kernel indicando come opzione la posizione del file del kernel. Quando il kernel Linux si avvia, imposta i filesystem root conosciuti dagli utenti Linux. Il filesystem root originale di GRUB e quanto con esso correlato, vengono rimossi, il loro unico scopo è quello di caricare il file del kernel.
Per maggiori informazioni, consultate le note relative ai comandi root e kernel nel la Sezione 2.6.