• Immutable Page
  • Info
  • Attachments

GUIDA di GABRY79 Gabriele Manfre'
Lo scopo di questa guida e' quello di semplificare la gestione del GRUB a coloro che necessitano di piu' sistemi operativi sulla stessa macchina.
Il GRUB o GRand Unified Bootloader ovvero il programma che si occupa della gestione d'avvio dei sistemi operativi a volte non e' sempre cosi' facile e intuitivo da gestire soprattutto se sul nostro pc vogliamo piu' sistemi operativi magari usando anche hard disk esterni.
Dopo tante installazioni e reinstallazioni anche su piu' macchine di sistemi debian e no ho trovato un metodo abbastanza semplice che funziona.
In pratica si tratta installare Ubuntu o la distro che preferite sovrascrivendo l'MBR e lasciando ad essa il compito di gestire l'avvio di tutte le distro che installleremo dopo.
Ogni volta che installeremo una nuova distro non faremo altro che accedere alla partizione di questa da utenti di root e copiare la cartella di boot nella root di Ubunto (o in quella della distro che avete installato per prima) rinominando tale cartella in modo da distinguerla da quella di Ubuntu (chiamandola ad esempio boot2) ed andremo ad editare il file menu.lst di Ubuntu aggiungendo la voce della nuova distro creata dando come root la partizione di ubuntu e come percorso per il kernel e il wmlinuz la cartella /boot2 che abbiamo precedentemente copiato nella root.
Naturalmente dopo Ubuntu dovremo fare attenzione ad ogni nuova distro installata affinche' il grub non vada a sovrascrivere l'MBR ma invece installeremo il grub nella stessa partizione di root della nuova distribuzione.
Nel caso vogliamo una  o piu' distribuzioni in un harddisk esterno semplicemente cambieremo l'ordine di mappatura alle relative voci...
Il tutto puo' sembrare a prima vista difficile, in realta' dopo gli esempi che seguono si percepira' la semplicita' e l'efficacia della stessa.

Esempio 1:

Nel mio pc ho 2 OS Windows e Ubuntu quest'ultimo sovrascrivendo l'MBR mi permette di avviare entrambi i sistemi operativi
l'uno (Windows) usando in chainloader l'altro Ubuntu dando il collegamento alla relativa cartella di boot in questo modo
title        Ubuntu 9.04, kernel 2.6.28-13-generic
uuid        40b95e6c-31a8-405c-9844-0847c644b411
kernel        /boot/vmlinuz-2.6.28-13-generic root=UUID=40b95e6c-31a8-405c-9844-0847c644b411 ro quiet splash
initrd        /boot/initrd.img-2.6.28-13-generic
quiet
...............................
................................

title Windows Vista (loader)
root (hd0,0)
chainloader +1
savedefault
makeactive

Bene ora la mia intenzione e' quella di installare PclinuxOS in un altra partizione cosa faccio?
Lancio la live avvio l'installazione e quando pclinux mi chiede dove installare il grub semplicemente indico la partizione di ext3 che ho dato a pclinux stesso
di sicuro al riavvio avro' ancora il menu d'avvio di Ubuntu senza la voce di Pclinux quindi avvio normalmente Ubuntu vado in risorse (se gia' non c'e' l'icona della partizione nuova sulla Scrivania) e clicco sul disco che contiene la partizione del sistema operativo appena installato in modo che venga montata e che compaia quindi sul desktop poi entro in tale partizione e col tasto destro copio la sua cartella di boot e la incollo sul desktop rinominandola boot2.
A questo punto apro un terminale e mi loggo come root
sudo -s
grub
find /boot/grub/stage1    e ci segnamo il PRIMO risultato perche' ci servira' piu' avanti (dobbiamo usare il grub di Ubuntu quindi ci interessa sapere dov'e') nel mio caso (hd0,1)     ********
e copio incollo la cartella boot2 nella root di Ubuntu in questo modo
cp -r /home/nomeutente/Scrivania/boot2 /                     (dove / finale e' la root di ubuntu)
Il lavoro maggiore e' fatto, procedo editando il file menu.lst di Ubuntu per aggiungere la voce di pclinuxos
sudo -s
gedit /boot/grub/menu.lst
e aggiungo dando come percorso /boot2

title PClinuxOS
kernel (hd0,x)/boot2/boot/vmlinuz BOOT_IMAGE=linux root=UUID=4fe3acdd-c4c0-4216-affe-d07e7d00ed76  acpi=on resume=UUID=fb11dd60-fac6-4ae6-ae07-577e0add50e4 splash=silent vga=791
initrd (hd0,x)/boot2/boot/initrd.img
NB tutto quello che segue da /boot2 in poi lo copiate dalla prima voce del file menu.lst di pclinuxos

nel mio caso poiche' grub di ubuntu e' in hd0,1 ******   vedi sopra

title PClinuxOS
kernel (hd0,1)/boot2/vmlinuz BOOT_IMAGE=linux root=UUID=4fe3acdd-c4c0-4216-affe-d07e7d00ed76  acpi=on resume=UUID=fb11dd60-fac6-4ae6-ae07-577e0add50e4 splash=silent vga=791
initrd (hd0,1)/boot2/initrd.img
Quindi salviamo e chiudiamo il mio nuovo menu.lst di ubuntu e' il seguente


title        Ubuntu 9.04, kernel 2.6.28-13-generic
uuid        40b95e6c-31a8-405c-9844-0847c644b411
kernel        /boot/vmlinuz-2.6.28-13-generic root=UUID=40b95e6c-31a8-405c-9844-0847c644b411 ro quiet splash
initrd        /boot/initrd.img-2.6.28-13-generic
quiet
....................
.................
.................
title PClinuxOS
kernel (hd0,1)/boot2/vmlinuz BOOT_IMAGE=linux root=UUID=4fe3acdd-c4c0-4216-affe-d07e7d00ed76  acpi=on resume=UUID=fb11dd60-fac6-4ae6-ae07-577e0add50e4 splash=silent vga=791
initrd (hd0,1)/boot2/initrd.img


### END AUTOMAGIC KERNELS LIST

title Windows Vista (loader)
root (hd0,0)
chainloader +1
savedefault
makeactive

Al riavvio il pc mi mostrera' un menu con la aggiunta la nuova voce di PClinuxOS che si avviera' di certo perche' sapra' esattamente (in /boot2) dove trovare i file di boot



ESEMPIO 2

ALLO stesso PC abbiamo attacato un HD esterno usb e su una partizione di questo o sull'intero disco vogliamo installare la distro Hymera in modo che sia avviabile dallo stesso grub di Ubuntu
che contiene gia' gli altri 3 OS installati sul primo disco Cosa facciamo? (Ricordiamoci sempre di installare il grub di Hymera nella stessa partizione ext4 di root di che abbiamo dato a Hymera stessa)
copiamo la cartella di boot di Hymera sul desktop la rinominiamo in boot3 e la copiamo nella root di Ubuntu
Cosi' come abbiamo fatto prima andiamo ad aggiungere la prima voce del menu.lst di hymera nel menu.lst di ubuntu modificata in modo che la root sia quella di ubuntu e il percorso del kernel quello del /boot3...
La differenza stavolta sta nel fatto che la nuova distro e' su un altro disco quindi dobbiamo cambiare nella voce la mappatura
Quindi entriamo in ubuntu, terminale
sudo -s
gedit /boot/grub/menu.lst
ed aggiungiamo la seguente

title      Hymera linux 3D
map        (hd0) (hd1)
map        (hd1) (hd0)
root       (hd0,1)
kernel        /boot3/vmlinuz-2.6.29.3-hymera-686 root=/dev/sdf1 quiet video=uvesafb:1024x768-32 splash=silent,fadein,fadeout,theme:hymera noresume CONSOLE=/dev/tty1 console=tty1 rootflags=data=writeback barrier=off
initrd        /boot3/initrd.img-2.6.29.3-hymera-686

In modo che alla fine il nostro menu.lst di Ubuntu sia

## ## End Default Options ##

title        Ubuntu 9.04, kernel 2.6.28-13-generic
uuid        40b95e6c-31a8-405c-9844-0847c644b411
kernel        /boot/vmlinuz-2.6.28-13-generic root=UUID=40b95e6c-31a8-405c-9844-0847c644b411 ro quiet splash
initrd        /boot/initrd.img-2.6.28-13-generic
quiet

title        Ubuntu 9.04, kernel 2.6.28-13-generic (recovery mode)
uuid        40b95e6c-31a8-405c-9844-0847c644b411
kernel        /boot/vmlinuz-2.6.28-13-generic root=UUID=40b95e6c-31a8-405c-9844-0847c644b411 ro  single
initrd        /boot/initrd.img-2.6.28-13-generic

title      PClinuxOS KDE remix
kernel (hd0,1)/boot2/vmlinuz BOOT_IMAGE=linux root=UUID=4fe3acdd-c4c0-4216-affe-d07e7d00ed76  acpi=on resume=UUID=fb11dd60-fac6-4ae6-ae07-577e0add50e4 splash=silent vga=791
initrd (hd0,1)/boot2/initrd.img

title      Hymera linux 3D
map        (hd0) (hd1)
map        (hd1) (hd0)
root       (hd0,1)
kernel        /boot3/vmlinuz-2.6.29.3-hymera-686 root=/dev/sdf1 quiet video=uvesafb:1024x768-32 splash=silent,fadein,fadeout,theme:hymera noresume CONSOLE=/dev/tty1 console=tty1 rootflags=data=writeback barrier=off
initrd        /boot3/initrd.img-2.6.29.3-hymera-686


title        Ubuntu 9.04, memtest86+
uuid        40b95e6c-31a8-405c-9844-0847c644b411
kernel        /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

title Other operating systems:
root

title Windows Vista (loader)
root (hd0,0)
chainloader +1
savedefault
makeactive

salviamo e chiudiamo
Ora il nostro buon Ubuntu sara' in grado di avviare ben 4 sistemi operativi di cui uno che risiede su un disco esterno.
Le possibilita' sono infinite ma con questo metodo testato da me tantissime volte su piu' pc e con sistemi debian e no spero davvero di riuscire a risolvere i problemi di gestione del grub

Consigli finali :
Non create piu' di 4 partizioni primarie
Usate una sola partizione di swap per disco per ogni sistema linux
Il sistema operativo che usate piu' spesso mettetelo sul disco interno.
Guida di Gabry79


CategoryNuoviDocumenti