Linux con Grub Legacy in dual boot con Linux con Grub2

14 Agosto, 2011 (21:06) | Linux | By: sargonsei

Linux con Grub Legacy in dual boot con Linux con GRUB2
Spiego come installare una distribuzione di Linux che usa GRUB LEGACY in dual boot con una distribuzione di Linux che usa GRUB2.

PREMESSA

Questa guida è rivolta all’utente che è già in grado di installare separatamente sia una distribuzione di Linux che usa GRUB LEGACY, sia una distribuzione di Linux che usa GRUB2. Per le prove, come distribuzione che usa GRUB2 ho usato Ubuntu 10.10, come distribuzione che usa GRUB LEGACY rilevata da GRUB2 ho usato OpenSUSE 11.4, e come distribuzione che usa GRUB LEGACY non rilevata da GRUB2 ho usato PCLinuxOS. I metodi che indico, suppongono che le distribuzioni di Linux debbano essere installate entrambe; tuttavia ogni metodo è utilizzabile anche se la distribuzione di Linux da installare per prima è già installata sul PC e si deve installare una ulteriore distribuzione di Linux.
Si consiglia di premunirsi di una memoria USB con sopra installato Linux Mint con il GRUB2 collocato nel BootLoader della memoria USB stessa; speriamo di non usarlo, ma sarà utile qualora si rendesse necessario ripristinare il GRUB2. Se non sapete come installare Linux su memoria USB con Grub2 nel MBR della memoria USB, leggete qui:

http://sargonsei.altervista.org/installare-linux-su-memoria-usb/

A) Installare prima Linux con GRUB LEGACY, e poi Linux con GRUB2
Con OpenSUSE ed altre (non tutte) distribuzioni che usano Grub Legacy, è sufficiente installare PRIMA la distribuzione di Linux che usa Grub Legacy, e POI la distribuzione di Linux che usa GRUB2, ed ecco che avremo entrambe le distribuzioni installate in Dual Boot senza alcun problema. A questo punto, spegnete e riaccendete il PC, e vedrete che tutti i SO presenti nel disco fisso sono elencati nella lista che il BootLoader mostra all’accensione del PC, pronte per essere avviate.
Se tutte le distribuzioni di Linux che compaiono nell’elenco del BootLoader di GRUB2 si avviano, abbiamo finito.
Se la distribuzione di Linux che utilizza Grub Legacy non si avvia quando selezionata, andare al punto C)

B) Installare prima Linux con GRUB2 e poi Linux con GRUB LEGACY
Qualora si renda necessario installare una distribuzione di Linux che usa Grub Legacy DOPO avere installato una distribuzione di Linux che usa GRUB2, è opportuno concludere l’installazione dell’ultima distribuzione SENZA installare il BootLoader nel disco fisso.
Non tutte le distribuzioni di Linux permettono di concludere l’installazione senza installare il BootLoader; qualcuna permette esclusivamente di decidere DOVE installarlo, ma non permette di decidere se installarlo o no; in questo caso, installarlo in una memoria di massa che potete rimuovere (fconsiglio di usare una memoria USB, ecc…) e poi rimuovetela.
Ad installazione ultimata, riavviare il PC, accedere alla distribuzione che controlla il BootLoader (nel nostro esempio, Ubuntu 10.10), aprire un terminale ed impartire il comando

sudo update-grub2

in modo da avviare la procedura di riconoscimento della nuova distribuzione di Linux da parte di GRUB2.
A questo punto, spegnete e riaccendete il PC, e vedrete che tutti i SO presenti nel disco fisso sono elencati nella lista che il BootLoader mostra all’accensione del PC, pronte per essere avviate.

Se manca la distribuzione di Linux che usa GRUB2, ripristinare il BootLoader usando Linux Mint contenuto nella memoria USB di cui si è detto all’inizio, e poi andare al punto C).
Le istruzioni per ripristinare GRUB2 le trovate qui:
http://sargonsei.altervista.org/come-ripristinare-il-bootloader-grub2-risiedente-nellmbr-del-disco-fisso/

Se la distribuzione di Linux che utilizza Grub Legacy non si avvia quando selezionata, andare direttamente al punto C)

C) Installare Linux con GRUB2 e Linux con GRUB LEGACY non rilevata da GRUB2
PCLinuxOS ed altre (non tutte) distribuzioni di Linux che usano Grub Legacy, non vengono rilevate correttamente da Grub2, quindi vengono incluse nell’elenco mostrato al boot dal BootLoader ma, se selezionate, la distribuzione di Linux a cui fanno riferimento non si avvia. Per correre ai ripari, DOPO aver usato uno dei due metodi suindicati, occorre compiere anche altre operazioni che sono le stesse indipendentemente dal fatto che la distribuzione di Linux con Grub2 sia stata installata prima o dopo la distribuzione di Linux che usa Grub Legacy.

Dette operazioni, sono le seguenti:
1) Accendere il PC e accedere alla distribuzione di Linux che controlla il BootLoader.
2) Aprire il file-manager in modalità SuperUtente (per farlo, se si usa Linux con GNOME, basta aprire un terminale ed impartire il comando “sudo nautilus”)
3) Navigare fra le cartelle della distribuzione che usa Grub Legacy sino a raggiungere la cartella
/punto_di_mount/boot/grub
4) Aprire il file menu.lst; al suo interno, dovreste trovare qualcosa tipo

title linux

kernel (hd1,7)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=5554c6ca-f432-4656-8af4-80fde24c54d1 quiet vmalloc=256M acpi=on resume=UUID=c93bf47b-a797-401d-9676-ba0eb5e215b1 splash=silent vga=788

initrd (hd1,7)/boot/initrd.img

I numeri messi fra parentesi tonda, corrispondono al disco [hd1] e alla partizione [7] in cui si trova la distribuzione di Linux che usa Grub Legacy della quale stiamo esaminando il file menu.lst
La causa dei nostri problemi, risiede nel fatto che quei numeri, messi in quel modo, non vengono interpretati correttamente da Grub2.
Il problema si risolve aggiungendo, fra le prime due righe, una nuova riga contenente le parentesi tonde con il loro contenuto precedute dall’istruzione root, e togliendo le parentesi tonde ed il loro contenuto presenti in ogni altra riga, ottenendo un risultato pressapoco come questo:

title linux

root (hd1,7)

kernel /boot/vmlinuz BOOT_IMAGE=linux root=UUID=5554c6ca-f432-4656-8af4-80fde24c54d1 quiet vmalloc=256M acpi=on resume=UUID=c93bf47b-a797-401d-9676-ba0eb5e215b1 splash=silent vga=788

initrd /boot/initrd.img

Confrontando i due contenuti del file menu.lst, potrete notare la scomparsa delle parti da me riportate in rosso e la nuova riga qui scritta in blu.
5)
Salvare il file menu.lst modificato come descritto sopra.
6)
Aprire un terminale ed impartire il comando

sudo update-grub2

in modo da avviare la procedura di riconoscimento della nuova distribuzione di Linux da parte di GRUB2.
7) A questo punto, spegnete e riaccendete il PC, e vedrete che tutti i SO presenti nel disco fisso sono elencati nella lista che il BootLoader mostra all’accensione del PC, pronte per essere avviate.

Massimiliano Sargonsei augura a tutti un buon lavoro.