Upgrade da Lilo a Grub: Difference between revisions
Controllare la sezione Dischetto di boot |
mNo edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
== Installazione di Grub == | == Installazione di Grub == | ||
sudo apt-get install grub grub-doc | |||
== Creazione di un floppy di boot == | == Creazione di un floppy di boot == | ||
| Line 48: | Line 48: | ||
Se si ha un solo OS ed un solo disco IDE: | Se si ha un solo OS ed un solo disco IDE: | ||
grub-install /dev/ | sudo grub-install /dev/sda | ||
Se si ottiene l'errore: | |||
/dev/sda does not have any corresponding BIOS drive. | |||
rilanciare grub-install con il parametro --recheck: | |||
grub-install --recheck /dev/sda | |||
Se invece si hanno più os sul disco, e non si vuole che Grub sia il boot manager di default (perchè ad esempio di preferisce [[Gag]] è necessario specificare la partizione dove installarlo: | Se invece si hanno più os sul disco, e non si vuole che Grub sia il boot manager di default (perchè ad esempio di preferisce [[Gag]] è necessario specificare la partizione dove installarlo: | ||
grub-install /dev/ | sudo grub-install /dev/sdb | ||
<B> IMPORTANTE </B> | <B> IMPORTANTE </B> | ||
| Line 58: | Line 64: | ||
<pre> | <pre> | ||
grub-install /dev/hda | sudo grub-install /dev/hda | ||
grub-install /dev/hdc | sudo grub-install /dev/hdc | ||
grub-install /dev/md0 | sudo grub-install /dev/md0 | ||
</pre> | |||
Come indicato in [[Installazione di Grub con RAID Software]] installare gli stage aggiuntivi per i dischi raid: | |||
* Installazione sul primo disco: | |||
<pre> | |||
# sudo grub | |||
grub> device (hd0) /dev/hda | |||
grub> root (hd0,0) | |||
Filesystem type is ext2fs, partition type 0xfd | |||
grub> setup (hd0) | |||
Checking if "/boot/grub/stage1" exists... no | |||
Checking if "/grub/stage1" exists... yes | |||
Checking if "/grub/stage2" exists... yes | |||
Checking if "/grub/e2fs_stage1_5" exists... yes | |||
Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. | |||
succeeded | |||
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded | |||
Done. | |||
</pre> | |||
* Installazione sul secondo disco | |||
Per l'installazione su secondo disco, gli si dice che il device hd0 è il disco hdc. | |||
<pre> | |||
# sudo grub | |||
grub> device (hd0) /dev/hdc | |||
grub> root (hd0,0) | |||
Filesystem type is ext2fs, partition type 0xfd | |||
grub> setup (hd0) | |||
Checking if "/boot/grub/stage1" exists... no | |||
Checking if "/grub/stage1" exists... yes | |||
Checking if "/grub/stage2" exists... yes | |||
Checking if "/grub/e2fs_stage1_5" exists... yes | |||
Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. | |||
succeeded | |||
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded | |||
Done. | |||
</pre> | </pre> | ||
| Line 67: | Line 116: | ||
Occorre generare il file /boot/grub/menu.lst con il comando | Occorre generare il file /boot/grub/menu.lst con il comando | ||
update-grub | sudo update-grub | ||
'''ATTENZIONE !''' | |||
Qualora la partizione di root non sia la prima sull'hard disk, occore editare a mano il file '''/boot/grub/menu.lst''' cambiando la riga di commento SENZA TOGLIERE IL CANCELLETTO | |||
# groot=(hd0,1) | |||
== Rimozione di lilo == | == Rimozione di lilo == | ||
| Line 74: | Line 128: | ||
Rimuovere Lilo lasciando il file di configurazione: | Rimuovere Lilo lasciando il file di configurazione: | ||
apt-get remove lilo | sudo apt-get remove lilo | ||
== Rimozione della configurazione di lilo == | == Rimozione della configurazione di lilo == | ||
dpkg --purge lilo | sudo dpkg --purge lilo | ||
| Line 87: | Line 141: | ||
modificare le seguenti opzioni in /etc/kernel-img.conf: | modificare le seguenti opzioni in /etc/kernel-img.conf: | ||
<pre> | <pre> | ||
sudoedit /etc/kernel-img.conf | |||
... | |||
postinst_hook = /sbin/update-grub | postinst_hook = /sbin/update-grub | ||
postrm_hook = /sbin/update-grub | postrm_hook = /sbin/update-grub | ||
do_bootloader = no | do_bootloader = no | ||
do_initrd = Yes | do_initrd = Yes | ||
... | |||
</pre> | </pre> | ||
| Line 97: | Line 154: | ||
E' probabile che grub continui a elencare dei riferimenti a kernel obsoleti ed addirittura disinstallati. Si può ovviare a tutto ciò rimuovendo i pacchetti kernle-image-* e rimuovendo i rispettivi files /boot/vmlinuz-* e /boot/initrd.img-* e poi rilanciando update-grub. | E' probabile che grub continui a elencare dei riferimenti a kernel obsoleti ed addirittura disinstallati. Si può ovviare a tutto ciò rimuovendo i pacchetti kernle-image-* e rimuovendo i rispettivi files /boot/vmlinuz-* e /boot/initrd.img-* e poi rilanciando update-grub. | ||
== Riferimenti == | |||
*[http://www.cyberciti.biz/faq/error-devhdx-does-not-have-any-corresponding-bios-drive-and-solution/ nxCraft :Error /dev/hdX does not have any corresponding BIOS drive and Solution | Frequently Asked Questions] | |||
Latest revision as of 08:11, 7 May 2007
Il presente articolo preso da http://myrddin.org/howto/debian-grub.php, illustra come sostituire Lilo con Grub.
Il tutto è stato testato con Debian Sarge.
Installazione di Grub
sudo apt-get install grub grub-doc
Creazione di un floppy di boot
Creare un dischetto di boot per testare GRUB:
Formattare e montare il floppy:
fdformat /dev/fd0 mkfs /dev/fd0 mount /floppy/
Creare la cartella per i files di grub e copiarli, smontare il floppy:
mkdir -p /floppy/boot/grub cp /boot/grub/stage1 /boot/grub/stage2 /boot/grub/menu.lst /floppy/boot/grub/ umount /floppy/
Installare Grub sul floppy:
/sbin/grub --batch --device-map=/dev/null <<EOFile device (fd0) /dev/fd0 root (fd0) setup (fd0) quit EOFile
Testare il floppy per vedere se il sistema parte correttamente da Floppy.
In caso positivo proseguire.
Scrittura mbr
Una volta installato il pacchetto, occore installare il boot manager dove voluto.
Se si ha un solo OS ed un solo disco IDE:
sudo grub-install /dev/sda
Se si ottiene l'errore:
/dev/sda does not have any corresponding BIOS drive.
rilanciare grub-install con il parametro --recheck:
grub-install --recheck /dev/sda
Se invece si hanno più os sul disco, e non si vuole che Grub sia il boot manager di default (perchè ad esempio di preferisce Gag è necessario specificare la partizione dove installarlo:
sudo grub-install /dev/sdb
IMPORTANTE Se si utilizza un Raid software, è necessario scrivere l'mbr su tutti i dischi:
sudo grub-install /dev/hda sudo grub-install /dev/hdc sudo grub-install /dev/md0
Come indicato in Installazione di Grub con RAID Software installare gli stage aggiuntivi per i dischi raid:
- Installazione sul primo disco:
# sudo grub grub> device (hd0) /dev/hda grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded Done.
- Installazione sul secondo disco
Per l'installazione su secondo disco, gli si dice che il device hd0 è il disco hdc.
# sudo grub grub> device (hd0) /dev/hdc grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded Done.
Creazione del menu di avvio
Occorre generare il file /boot/grub/menu.lst con il comando
sudo update-grub
ATTENZIONE !
Qualora la partizione di root non sia la prima sull'hard disk, occore editare a mano il file /boot/grub/menu.lst cambiando la riga di commento SENZA TOGLIERE IL CANCELLETTO
# groot=(hd0,1)
Rimozione di lilo
Rimuovere Lilo lasciando il file di configurazione:
sudo apt-get remove lilo
Rimozione della configurazione di lilo
sudo dpkg --purge lilo
Automatizzare l'esecuzione di update-grub all'installazione/rimozione di un kernel
modificare le seguenti opzioni in /etc/kernel-img.conf:
sudoedit /etc/kernel-img.conf ... postinst_hook = /sbin/update-grub postrm_hook = /sbin/update-grub do_bootloader = no do_initrd = Yes ...
Riferimenti a kernel obsoleti
E' probabile che grub continui a elencare dei riferimenti a kernel obsoleti ed addirittura disinstallati. Si può ovviare a tutto ciò rimuovendo i pacchetti kernle-image-* e rimuovendo i rispettivi files /boot/vmlinuz-* e /boot/initrd.img-* e poi rilanciando update-grub.