5. Un po' di teoria

Grazie a Fips è possibile creare una nuova partizione a partire dallo spazio libero presente su disco. Per definizione si tratta di un'operazione estremamente delicata, per cui è consigliato fare il backup di tutti i dati di una certa importanza, nel caso in cui qualcosa dovesse andare storto. Detto ciò, è anche vero che Fips è stato usato con successo da molte persone nelle condizioni più disparate e non c'è motivo di dubitare che l'operazione vada a buon fine, a meno che non ci sia già qualcosa che non va nel disco, nella tabella di allocazione file [NdT: FAT, dall'inglese File Allocation Table] o nella tabella delle partizioni. Si rimanda comunque a una lettura della documentazione di Fips.

Prima di iniziare con il partizionamento del disco, bisogna però decidere in che modo si vuole avviare Linux. La scelta predefinita e più diffusa prevede l'uso di Lilo, un bootloader semplice ed elementare che sovrascriverà, dopo averlo salvato, l'MBR (Master Boot Record) del disco rigido e al momento del boot permetterà di scegliere se avviare Windows oppure Linux. Scegliendo Windows verrà avviato Windows e ci si troverà di fronte la consueta schermata di avvio del sistema di casa Redmond, viceversa scegliendo Linux verrà avviato Linux. Se entro un intervallo di tempo – dai 5 secondi in su, a seconda di quanto stabilito in fase di configurazione – non verrà effettuata alcuna scelta, verrà avviato il sistema operativo predefinito, sia esso Windows o Linux, ancora una volta a seconda di quanto stabilito in fase di configurazione. È possibile ripristinare l'MBR originale in qualsiasi momento, ad esempio se si disinstalla Linux, con il comando /sbin/lilo -u da Linux o con il comando fdisk /MBR da DOS: l'MBR attuale verrà sovrascritto dall'MBR di Windows. Va da sé che in seguito non sarà più possibile scegliere di avviare Linux né tanto meno avere accesso alla partizione Linux.

Il problema che l'uso di Lilo implica, soprattutto per chi ha un disco di grandi dimensioni, è che bisognerà dedicare a Linux una porzione non indifferente dello spazio disponibile su disco. Non si tratta di una soluzione flessibile, perché se da un lato è possibile accedere alla partizione Windows da Linux – i file MPEG di grandi dimensioni possono essere salvati in essa rendendoli così accessibili a entrambi i sistemi operativi – non è altrettanto possibile fare il contrario.

Ciò è dovuto a un'astrusa limitazione del BIOS che obbliga Lilo a risiedere entro e non oltre i primi 1024 cilindri del disco rigido. Windows e Linux non sono soggetti a limitazioni di questo tipo, evidentemente si tratta di qualcosa legato alla traduzione degli indirizzi e all'LBA, la cui comprensione è a dir poco ostica. Per ora è sufficiente sapere che il BIOS non è in grado di avere accesso ai dati posti oltre il limite dei 1024 cilindri e, dal momento che Lilo si affida al BIOS per avviare i SO, è soggetto alla stessa limitazione. Ragion per cui, volendo usare Lilo per avviare Linux, è necessario assicurarsi che la partizione Linux si trovi al di sotto del limite dei 1024 cilindri. Il mio disco rigido, così come tutti i dischi rigidi più recenti, ha una dimensione superiore ai 1024 cilindri (1650 cilindri, per la precisione). Usando Lilo dovrei creare la partizione Linux più o meno all'altezza del cilindro 1000 o 1010, il che equivarrebbe a dedicare a Linux la bellezza di 5,2GB su 12,9GB, cosa impossibile dal momento che, per l'uso che ne faccio io, a Linux sono più che sufficienti 2GB mentre per Windows (tra file audio MP3 e video MPEG) 7GB sono ben lungi dall'essere sufficienti.

La soluzione, perché in Linux c'è sempre una soluzione, è Loadlin: un'alternativa a Lilo troppo spesso sottovalutata che è inspiegabilmente meno diffusa e conosciuta, nonostante garantisca una flessibilità molto maggiore. Usando Loadlin, una validissima alternativa per i possessori di dischi di grandi dimensioni, non ci si dovrà più preoccupare del limite dei 1024 cilindri. E non è tutto: diventa possibile avviare Linux con un collegamento sulla scrivania di Windows e modificare il file autoexec.bat in modo che all'avvio venga data la possibilità di avviare un SO o l'altro, come accade con Lilo. Non si ha più alcun vincolo, dunque, per la dimensione delle partizioni. Nel mio caso, ho optato per una partizione estesa di 2,2GB contenente 3 partizioni logiche. Sì, 3 partizioni. È normale creare tre partizioni, una per i file di avvio del kernel, una partizione di root e una partizione di swap (ma su questo si ritornerà più avanti).

Anche dovendo usare a tutti i costi Lilo, è comunque disponibile una soluzione per non essere costretti a rinunciare a tutto quello spazio: creare la partizione Linux a metà del disco. Per fare ciò, è necessario dividere in 2 la partizione appena creata con Fips (usando a tal fine nuovamente Fips): la prima partizione, che ricadrà all'interno del limite dei 1024 cilindri, può essere usata per Linux mentre la seconda per Windows. Il disco rigido ospiterà così 3 partizioni, di cui la prima e la terza saranno dedicate a Windows e quella centrale a Linux. Personalmente, eviterei questa disposizione, ma ognuno è libero di fare le proprie scelte. (Per il momento, si fa riferimento alla partizione Linux come se fosse una sola ma in fase di installazione la si dividerà in 3 con gli strumenti messi a disposizione da Linux.) In alternativa, è possibile creare una piccola partizione /boot di 15-20MB prima del cilindro 1024 e installare il resto del sistema dove si vuole ma, ancora una volta, personalmente lo eviterei.