Forced by a project@work I had to install GRUB2 in Fedora 14. Here is a simple description of what I have done to got it running:
1. install the new „grand unified bootloader package“ by
#>yum install grub2 gettext
Attention: at this time, Fedora uses multislot – GRUB Legacy (0.9x) and GRUB2 could be installed parallel.
2. edit/create the new /boot/grub2/grub.cfg
2.1 My old /boot/grub/grub.conf looks like:
default=1 timeout=0 title GNU GRUB 2, (1.98) kernel /grub2/core.img title Fedora (188.8.131.52-45.fc14.i686) root (hd0,0) kernel /vmlinuz-2.6.35-45.fc14.i686 ro root=UUID=<25d8da7f-a-realy-big-uid-e20c61d3f977 initrd /initramfs-2.6.35-45.fc14.i686.img
In the snipped above you could see that GRUB2 is allready inserted into the grub.conf of your old GRUB. You could use it for boot into the GRUB command-line.
2.2. create a new grub.cfg
Important: in GRUB Legacy (the old GRUB) the partition-numbering starts with 0. In GRUB2 the numbering starts with 1. So hd0,0 from above becomes hd0,1 eg.
Check/note on witch device/partition your /boot and root is located and witch UUID it has assigned (mount gives you the device /dev/sd…, blkid the associated UUID), sample:
#>mount ... /dev/sda2 on / type ext4 /dev/sda1 on /boot type ext4 #>blkid ... /dev/sda1: UUID="b3d32...733b" TYPE="ext4" /dev/sda2: UUID="25d8d...f977" TYPE="ext4" ...
3. Now run
#>grub2-mkconfig -o /boot/grub2/grub.cfg
The output is placed into /boot/grub2/grub.cfg.new – do a cat on it and compare the UUID for /boot and root with the ones from above (and maybe compare against your old grub.conf) … and yes, hd0,0 is now hd0,1 .
4. The final step: install the new GRUB on the disc…
First only test that everything is fine… (without writing to MBR assuming the target drive is /dev/sda):
#>grub2-install --grub-setup=/bin/true /dev/sda Installation finished. No error reported.
Now lets use the real bullet:
#>grub2-install /dev/sda Installition finished. No error reported.
And it works. For me. Now.
GRUB2 offers 1000nds new possibilities (ohh, it has a LUA-shell, there is module-support, submenus, theming, …)
For learning: boot the core.img, load kernel and ramdisk by hand. boot. check console commads ls & cat.
Have a look at: