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.
Il primo disco fisso di un sistema è definito da GRUB (hd0). La prima partizione in questa unità disco si chiama (hd0,0) e la quinta partizione sul secondo disco fisso viene definita (hd1,4). In generale, la convenzione di denominazione utilizzata da GRUB per i filesystem è la seguente:
(<type-of-device><bios-device-number>,<partition-number>) |
Le parentesi e la virgola sono molto importanti nel nome. Il <tipo-di-dispositivo> indica l'unità specificata, disco fisso (hd) o disco floppy (fd).
Il <bios-numero-dispositivo> è il numero del dispositivo in base al BIOS del vostro sistema che inizia con 0. All'unità disco primaria IDE viene assegnato il numero 0, mentre all'unità disco secondaria IDE viene assegnato il numero 1. L'assegnazione sequenziale dei numeri equivale all'incirca al modo in cui il kernel Linux ordina i dispositivi per lettera, quindi la lettera a in hda equivale al numero 0, la lettera b in hdb al numero 1 e così via.
![]() | Note Bene |
|---|---|
Il sistema di numerazione di GRUB parte da 0 e non da 1. Questo è uno degli errori più comuni commessi dai nuovi utenti di GRUB. |
Il <numero-partizione> indica il numero di una partizione specifica del dispositivo. Come per il <bios-numero-dispositivo>, la numerazione delle partizioni inizia da 0. Nonostante la maggior parte delle partizioni sia contraddistinta da numeri, le partizioni BSD sono invece rappresentate da lettere come a o c.
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 unità floppy iniziano con fd.
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'unità particolare. Per esempio (hd0) indica il primo dispositivo mentre (hd3) indica il quarto.
Se possedete diversi dischi fissi, è importante conoscere il loro ordine in base al BIOS. Non è difficile scoprirlo se i dischi sono o solo IDE o solo SCSI, se invece sono misti, diventa tutto più complesso.
Quando digitate comandi che comprendono un file, come un elenco di menu da utilizzare per permettere l'avvio di più sistemi operativi, è necessario includere il file subito dopo aver specificato il dispositivo e la partizione. Ecco un esempio di come viene indicato il file in un percorso assoluto:
(<type-of-device><bios-device-number>,<partition-number>)/path/to/file |
La maggior parte delle volte i file vengono specificati mediante il percorso nella partizione e il nome del file.
Potete inoltre indicare a GRUB dei file che non compaiono nel filesystem, come per esempio un loader a catena (chainloader) contenuto nei primissimi blocchi di una partizione. Per specificare 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 |
L'elenco sopra descritto indica a GRUB di utilizzare un file che inizia nel primo blocco della partizione e utilizza dal blocco 0 al blocco 49, dal 99 al 124 e il blocco 199.
Sapere come scrivere gli elenchi dei blocchi è utile quando si usa GRUB per caricare dei sistemi operativi che utilizzano il caricamento a catena, come Microsoft Windows. 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 root" con GRUB. È importante ricordare che il filesystem root di GRUB non ha nulla a che fare con il filesystem root di Linux.
Il filesystem root di GRUB è la partizione di root per un dispositivo particolare. GRUB utilizza queste informazioni anche per montare il dispositivo e caricarne i file.
Con Red Hat Linux, una volta che GRUB ha caricato la partizione di root contenente il kernel Linux ed è uguale alla partizione /boot, potete eseguire il comando kernel indicando come opzione la posizione del file del kernel. Quando il kernel Linux si avvia, installa i propri filesystem root. 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.