
Ogni volta che si avvia un sistema Linux si utilizza un programma (genericamente un bootloader, un caricatore dell'avvio) che è costituito da poche righe di codice e serve per avviare in maniera generalmente ottimizzata tutti i processi necessari al sistema per funzionare. Comprendere quindi il funzionamento del bootloader è necessario per configurare un maniera ottimale il proprio sistema operativo.
Per avviare il sistema operativo Linux su una macchina predisposta per Windows (architettura x86), la scelta del programma di avvio è tra Grub e Lilo, se stai utilizzando Linux su una macchina predisposta per Mac allora il bootloader più diffuso è Yaboot. Ma prima ancora di preoccuparsi dell'avvio del pc torniamo alla base: Linux si installa da CD e può essere avviato anche senza installazione da LiveCD. Qualcuno potrebbe incontrare problemi anche nell'avvio da LiveCD o nell'istallazione. Questi problemi però possono essere risolti utilizzando un programma che si chiama Smart Boot Manager.
Io ho esperienza solo con Grub, pertanto non vi parlerò di Lilo né di Yaboot e lascio la parola a chi è più esperto di me (se qualcuno legge e vuole collaborare mi contatti!). In seguito, spenderò due parole sull'avvio dal LiveCD.
Grub
Cos'è nella pratica Grub
In termini semplici e molto riduttivi, adatti solo per chi non mastica Linux o ne sa ben poco (vedere hack successivo), Grub è una schermata nera che appare dopo aver pigiato il tasto di avvio del pc. Questa schermata nera dura alcuni secondi e permette di scegliere cosa avviare. La scelta è tra il sistema operativo Linux, una tool di ripristino qualora servisse o l'altro (o eventualmente, gli altri) sistema operativo di casa Microsoft.
Backup dei dati di avvio
Grub è un bootloader molto flessibile che permette di essere configurato con facilità e senza installazioni aggiuntive e per questo motivo parecchie distribuzioni utilizzano questo bootloader di default. Un'altra caratteristica molto utile ed importante di questo bootloader è la possibilità di recuperare il sistema operativo in caso di problemi. È consigliabile pertanto creare questo piccolo backup con questo comando da terminale:
dd if=/dev/hda of=/root/hda.mbr bs=512 count=1Per fare questo dovete essere l'utente root! Se lavorate su Ubuntu allora dovrete aggiungere, prima della stringa, il comando sudo. Dopo aver digitato la stringa vi sarà richiesta la password dell'utente root.
File di configurazione
Grub ha un file di configurazione generale reperibile da /boot/grub/menu.lst (Debian) o /etc/grub/grub.conf (RedHat). Se apriamo questo file vediamo che contiene tantissime stringhe che ci informano sul nostro kernel, sulla partizione root in cui si trova il kernel... È importante notare cone Grub "vede" le varie partizioni ed i vari dischi presenti nella macchina e come le numera. Al contrario di tutto quello che succede in genere in Linux, Grub inizia la numerazione delle partizioni da 0. Questa partizione 0 di Grub corrisponde a quella che, dopo aver acceso il pc, il sistema riconosce come /dev/hda1. Quindi, rispetto al numero che Linux dà alla partizione, per orientarci in quello che Grub ci dice dobbiamo tener presente questa cosa importante. Altra cosa importante è sapere che alcune lettere che utilizza Linux diventano numeri per Grub, ossia a diventa 0, b diventa 1 e così via. Tornando all'esempio precedente, /dev/hda1 diventa per Grub hd0,0, una partizione /dev/hdb2 diventa hd1,1.
Altri parametri importanti presenti nel file di configurazione di Grub quando Linux convive in una macchina insieme ad un sistema Windows sono il makeactive ed il chainloader. Il makeactive è utilizzato per impostare come principale la partizione in cui si trova Grub, il chainloader invece è un parametro che serve per richiamare l'altro (o gli altri) bootloader presenti e che servono per avviare gli altri sistemi operativi presenti.
Se all'avvio del pc non compare alcuna schermata relativa a Grub può significare due cose:
Nel secondo caso, per modificare questa impostazione basta agire sul file di configurazione, cercando la stringa in cui si trova il parametro hiddenmenu. Non modificate né cancellate la stringa (potrebbe servirvi in futuro...) ma soltanto "commentatela" in modo che nella lettura del file all'avvio di Grub questa non venga eseguita.
Avvio da CD
Praticamente tutte le distribuzioni Linux sono disponibili oggi in CD, dal quale è possibile avviare il sistema senza installare (solo per LiveCD) o affrontare l'installazione vera e propria. Nella pratica, quello che si deve fare è avviare il pc con il CD all'interno del lettore, se il CD è Live allora all'accensione apparirà il desktop per come lo avrete dopo aver effettuato l'installazione.
Per le macchine abbastanza nuove, questo non è un problema, basta impostare correttamente la sequenza di boot del pc dal BIOS, scegliendo come primo dispositivo il lettore CD. Se il BIOS è protetto da password e voi non la conoscete, significa che non siete i padroni del pc e non potete modificare il BIOS o, se siete particolarmente "svaniti", la avete dimenticata. In questo secondo caso (e solo in questo!), vi ricordo il vecchio metodo per resettare la password del BIOS, che consiste nel togliere la pila inserita all'interno della scheda madre (è una pila rotonda generalmente di circa 1 cm di diametro) per pochi secondi. Togliete la pila, contate fino a 5 e poi rimettetela, richiudete il pc e poi avviate il BIOS e la password non ci sarà più. Mi raccomando, se il pc non è vostro non fate questa manovra perché il proprietario potrebbe non gradire!
Sulle macchine più vecchie può succedere che queste non supportino l'avvio dal CD. Questo non significa che non potrete installare Linux sul pc ma che la scelta delle distribuzioni disponibili per il vostro pc potrebbe essere leggermente condizionata. Alcune distribuzioni (le più leggere) contengono nel CD di installazione delle immagini per floppy, utilizzabili per creare dei floppy di avvio, questi floppy di avvio servono per avviare il processo di installazione accedendo magicamente al CD. All'interno del CD, in questi casi è presente un apposito programma che permette di creare il floppy di avvio in maniera corretta.
Se nella distribuzione che hai scelto esiste la possibilità di creare un floppy di avvio il problema è risolto ma sfortunatamente non tutte le distribuzioni non includono questa possibilità.
L'altra soluzione è l'utilizzo di un programma chiamato Smart Boot Manager, disponibile al sito http://btmgr.sourceforge.net. Ve lo dico da subito: questo programma funziona su Linux quindi se volete utilizzarlo dovete trovare un amico che abbia un pc su cui lavora Linux altrimenti non se ne fa nulla. Questo programma permette di creare dei floppy di avvio per qualsiasi distribuzione che lavorano come visto in precedenza. Per utilizzare questo programma dovete scaricarlo, decomprimerlo e poi avviarlo per creare il floppy. Da riga di comando l'istruzione per creare il floppy in italiano è:
sbminst -t it -d /dev/fd0(ovviamente, dovete controllare che fd0 sia il dispositivo corretto).
Esiste anche una interfaccia grafica, costituita da una finestra molto intuitiva, che permette di fare questa operazione senza utilizzare il terminale.