I decided not to upgrade to grub2 from grub1. I am usually in favor of upgrades and I have always been the "prefer to use the cutting edge" type of guy but grub2 just got it worse on all grounds. The important features that could have tackled new fields are not being implemented, however we have a nice new cumbersome syntax and tool-chain that is only good enough to tackle the same issues we already had a working solution for with grub1. Some points to support that grub2 is no progress:
Grub2 has ugly syntax
- Curly brackets to separate blocks of code are so last decade! It makes me feel like moving back to C from Python. The grub.cfg config file of grub2 contains more junk and is far less readable than the menu.lst of grub1.
- Why do we need the set keyword for God's sake? Is it not just easier to treat root, timeout, default, (...) as methods as we did with grub1? Moving from methods to variables? So last century approach again! In addition, doing so would also save us room and do good for clarity. Keep simple things simple please!
Messy /etc/grub.d automagics
- It is cumbersome to keep track of and debug so many files under various locations of the file system. Grub2 has its automagics stored in a series of files under the /etc/grub.d directory.
- At least designers of grub2 could have put it under /boot/grub2/grub.d directory instead of /etc to keep related things less apart.
- I do realize that it may seem to be a progressive thought to adapt a apache2-like config approach for grub2. But its so wrong. It just makes things more chaotic. Let's say you edit grub.cfg from an other OS (on the same hardware) to add more menu items and options to it. The next time the primer OS updates its kernels it will flush the things you just edited in your grub.cfg.
Still no _real_ ISO chainloading
- ISO file chainloading is fake.
- Grub2 will not boot any OS ISO such as a Windows bootable ISO.
- It will only "save you the small hassle" that is the extraction of the kernel, squashfs and initrd files from the ISO.
- However it will leave you with the hassle to figure out what are the names and paths of these files inside the ISO.
No ntldr loading still
- Ntldr still cannot be loaded from grub2. ( Grub4dos does load it, but grub2 implemetation is still in far far future plans only.
- Only chainloading of a Windows partition's boot sector works. But that was already implemented in grub1. So no progress here.
No dynamic booting of hotplug devices
- There is no dynamic booting of hotplug devices like USB pendrives. It would have been nice to let grub load a hotplug device as: chainload usb(0)+1 or something like that, so that you could differentiate it from all the hd(0), hd(1), ..., hd(6) bunch.
No comments:
Post a Comment