Yesterday I installed Kubuntu 9.10. The process was fairly straight forward and painless. Then I went to my /boot/grub folder, searching for menu.lst to update with all the proper partitions. Much to my surprise there was not a menu.lst in sight. Kubuntu 9.10 uses GRUB2 not GRUB legacy. Especially when you want ext4 partitions that is a good thing. Grub legacy can NOT boot an ext4 partition directly. You have to create an ext3 boot partition for your ext4 root partition.
Next stop GRUB2 documentation. So I can read about how to add all the partitions for the various OSs installed on my system. I visit the GRUB2 Wiki and documentation sites. The results were disconcerting.
GRUB2 uses grub.cfg in the same way that GRUB legacy uses grub.conf The issue I have is that there is not a grub.lst or menu.lst equivalent for GRUB2. One of the major issues I have with most of the younger software programmers these days is egocentricity. They think it’s all about them. My point for this example: GRUB was pretty straightforward to use. It does not have a lot of razzle dazzle, but it is very clean and effective from an end user or system administrator stand point. GRUB2 is NOT well documented. It is much like the difference between the boot.ini and the bcdedit issue for Windows. The old was a bandaid implementation but it worked well. The new, is documented like the audience is programmers, and the new needs near programming levels of expertise to edit well.
My grub.cfg has a HUGE disclaimer at the top of it that reads:
DO NOT EDIT – This file was created by “BLAH, BLAH…..
The documentation at the GRUB2 site says to add additional partitions, edit the stanzas necessary in grub.cfg
It would be very nice if the people that work on the GRUB2 project would document the simple workings better. For now I edit the grub.cfg by hand and get a few errors when it loads, but I can boot to all 3 of my OSs.. When I edit by running install-grub or install-grub2 I get two GRUB boot options I can boot from instead of the requisite 3 OS choices I need.