More complicated doesn't mean better
I'm setting up a computer for my parents that will be running Windows and I thought that I'd also throw Linux on there for emergencies. It would give them something that they can plug things into that I can remote into and run diagnostics on. I don't want it to boot Linux unless they choose it from a menu, so after installing Ubuntu 11.10 I needed to change Grub to boot Windows by default.
Normally I would just modify /etc/grub.conf or /boot/grub/grub.lst and shift things around and change the default startup item. On Ubuntu 11.10 when I looked at /boot/grub/grub.cnf it had a warning at the top that I shouldn't modify it directly and instead I need to look in /etc/grub.d. After a quick look in /etc/grub.d all I found was a huge complicated mess. No conf files, just tons of insane shell script files that are somehow run to eventually produce the grub.cnf. Somehow.
Sure I could reverse engineer the mess and figure it out, but that would take time. The real question is, who thought that taking a simple conf file and making it into a big mess was an improvement? This is not better! Instead of being able to quickly make a change and work with a simple format, it's now a complex maze of scripts. If this was done to make it easier for a GUI front-end to parse, that's still not a good reason. The grub.conf file is very simple and is easy to parse.
I did do some searching and found that Ubuntu has some kind of Startup Manager which is not installed by default. The sites I found told me that I needed to install it by going to the command line. This is not user friendly. And then after I got it installed and told it that I wanted Windows to be the default entry, it didn't work. Grub still boots Ubuntu by default.
Now I have an overly complicated configuration and I can't even make it work. How is this an improvement?
Update: Apparently Startup Manager uses one based indexing and grub uses zero based indexing. I gave up and manually edited the grub config file and fixed it and it works the way it should. It will probably get hosed when something runs an update, but it works for now.