What's the difference between GRUB and LILO and why should I care?
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
In my opinion Grub just has a lot of features that a normal user/computer doesn't need. Who needs to edit his bootmenu on-the-fly?
Lilo just needs to be setup once correctly, then it'll just work...
Of course someone who changes drives/distros/os' frequently things could change. Still I find Lilo to be more functional than Grub which, imo is just bloated (for me atleast).
Grub offers a small environment for editing the boot information such as kernel location or parameters on-the-fly, so in some cases where LILO would be unable to boot, Grub configuration can be altered easily to allow booting. For example if you forget to edit the configuration file, or if you forget to add some kernel parameters without which your machine won't boot properly. Grub Legacy is becoming older every day, and a successor is being written for it - check the website for more information. Grub is, and it's new version will hopefully be even more flexible than LILO - the latter one does work, and it's advantage is that it fits into MBR along with it's configuration which makes it good for small systems, but if you ever want to upgrade kernels easily or even automatically, Grub just makes a strong point.
Then there's this problem about configuration files. LILO needs to be rerun after changing the configuration file for the changes to be written ("applied"). Grub doesn't need this, as it reads its configuration file from disk. Both have good sides. I just don't like to write to MBR (where I usually install the bootloader - that's what the space is reserved for), because too many times it happens that after the distribution initial setup rerunning lilo reports problems, and either I can't write = change boot configuration, or if I force it, it makes the machine unable to boot - trasher partition table information, for example. This is a major drawback with LILO, because there's a danger every time the configuration is changed. With Grub you only have to install it once, and then it works.
Neither of the two is perfect, but overall I think Grub is better. It just works better. Learning it's configuration file syntax after knowing LILO's takes some time (about 10-15 minutes), but after that it's a lot easier, and has not caused me headache. LILO tends to cause me headache every now and then, and the situation I hate the most is when I install a Linux distribution like Slackware that is good except that it wants to install LILO by default, and after that the machine refuses to boot because LILO failed to install correctly.
I just hope Grub 2 will get rid of the problems Grub Legacy has at the moment, and make a better bootloader for us all.
Personally, I would prefer everything lying in an MBR, just because it is supposed to hold bootloader.
Originally Posted by b0uncer
Grub offers a small environment for editing the boot information such as kernel location or parameters on-the-fly, so in some cases where LILO would be unable to boot, Grub configuration can be altered easily to allow booting. For example if you forget to edit the configuration file, or if you forget to add some kernel parameters without which your machine won't boot properly.
That's not right. Lilo lets you add kernel parameters on the fly. And don't use force, but use root=/dev/sdax and then after boot rerun lilo.
Last edited by Alien_Hominid; 12-12-2007 at 06:25 AM.
...For example if you forget to edit the configuration file, or if you forget to add some kernel parameters without which your machine won't boot properly...
This is like forgetting something from a kernel config. Nothing saves you there either
About having to run it after changes: is writing 'lilo' in a command prompt so hard?
If it runs okay, at least you know it'll work after the reboot.
If not, you can fix it.
For me Lilo always worked properly, no MBR write errors, no nothing.
(Of course I've heard all sorts of problems ppl get with Lilo)
Personally, I use Lilo. It works and I only need to set it up once after each installation.
BUT, Grub is a good boot loader, no doubt about it. In Slackware 12.2, Grub 0.97 (legacy) is available in the /extra folder. If you're a slacker and want to use Grub, go ahead. The distribution provides it.
In many scenarios Grub is more flexible or more comfortable or more error-tolerant than Lilo. If something goes wrong, Grub drops you back to a command line where you can try out other options or correct configuration errors. Lilo requires a reboot and a chroot procedure for this.
On the other hand, in a few scenarios, Lilo is more advance. One example are RAID-1 installations. LILO automatically copies itself to all disks of the array, if you run lilo, whereas for Grub you need to specify precisely and in detail what you want.
For standard scenarios, both work well.
In the future I think we'll see one of the newer contenders become the standard, such as syslinux.