Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
GNU is Not Unix Operating Systems Software Linux

The Boot Loader Showdown 349

Francesca writes "What utility do practically all Linux users use, regardless of their job or expertise? A boot loader. In this article from IBM, see how a boot loader works, meet two popular loaders -- LILO (LInux LOader) and GNU GRUB (GRand Unified Boot loader) -- and review the pros and cons of each." From the article: "Most simply, a boot loader loads the operating system. When your machine loads its operating system, the BIOS reads the first 512 bytes of your bootable media (which is known as the master boot record, or MBR). You can store the boot record of only one operating system in a single MBR, so a problem becomes apparent when you require multiple operating systems. Hence the need for more flexible boot loaders."
This discussion has been archived. No new comments can be posted.

The Boot Loader Showdown

Comments Filter:
  • Huh? (Score:4, Insightful)

    by Anonymous Coward on Sunday August 28, 2005 @02:30PM (#13421917)
    What kind of study would fail to include THE single most popular and widespread bootloader in the world?

    That would be...Windows Boot Manager.
    • Re:Huh? (Score:4, Interesting)

      by NutscrapeSucks ( 446616 ) on Sunday August 28, 2005 @02:38PM (#13421978)
      Unlike LILO and GRUB, I've never had a single problem configuring the Windows Boot Manager -- and I've installed NT on some pretty weird systems over the years.

      Sure, sometimes you have to enter the "ARC Path", but the Win Boot Loader ALWAYS seems to have the same view of your hardware that the OS does, which can't be said for Linux boot manglers.
      • Re:Huh? (Score:3, Insightful)

        by Nailer ( 69468 )
        Unlike LILO and GRUB, I've never had a single problem configuring the Windows Boot Manager

        Indeed. There's clearly a problem. I'll submit a feature request so Fedora wipes the parts of disk where NTLDR resides whenever it installs.
    • Just a thought.

      Hope this helps.

      P.S.: Yes, I know you can use the Windows Boot Manager to boot Linux, but frankly not many people do, because its a major pita to say the least.
    • ...most popular and widespread bootloader ... That would be...Windows Boot Manager.

      But it also has the dubious honor of almost always being used only in booting one version of a specific vendors OS. GRUB and LILO routinely boot multiple OSes from multiple sources and does so without a fuss.

      • Re:Huh? (Score:5, Informative)

        by TheRaven64 ( 641858 ) on Sunday August 28, 2005 @03:31PM (#13422238) Journal
        The windows bootloader can boot other OSes as well. Just dd the first 512 bytes of a partition to a file and add that file as a valid target in C:\boot.ini (or use the bootpart utility to do it for you).
        • Re:Huh? (Score:3, Informative)

          by TetryonX ( 830121 )
          It is not booting other OSes. It is booting a bootloader. If you lack a bootloader in that 512byte section, you will not boot at all.
          Oh yeah, have fun if you use lilo.

          /sbin/lilo && dd if=/dev/hdXX of=/windows/lilo.bs count=512 bs=1

          instead of:

          /sbin/lilo

          And that is assuming the windows partition is a FAT32 partition. (No, most people STILL don't use NTFS-write support)

        • Re:Huh? (Score:3, Insightful)

          by bcmm ( 768152 )
          And when you start to do interesting stuff like that, you discover that configuration problems are as much of a problem with ntldr as with grub or lilo.
    • It's an article, not a study; and for that matter, it's an article concerning Linux, not windows. Contrary to what you might think, not everyone dual-boots, even those that do use boot managers.

      That being said, whatever happened to OS/2's Boot Manager? I recall using that one back in the ol' days (starting with OS/2 2.0; I don't know if earlier versions also had it), and I still think it's better than LILO or GRUB in terms of its user interface. Granted, you needed an extra partition for it (1 MB only, thou
      • Re:Huh? (Score:3, Interesting)

        by dryeo ( 100693 )
        I still use OS/2 bootmanager, works great to boot most everything I've tried. Nowadays it uses closer to 8 MB partition (one cylinder). For Linux it is just a matter of installing LILO or Grub in the Linux Partition. Windows of course wants to use ntloader in C: to finish the boot. It does have some occasional problems nowadays with losing the INT13x extensions to boot a partition past the 8.4 GB mark or whatever it is. Also does not support booting a cdrom.
        Also Win2k totally fscked it up (fixed in service
  • *Bangs head on table* Now I wish I had this page when I tried to install Gentoo over the weekend. Call me dumb but I couldn't get it to dual boot with Grub. Worked great with Lilo tho :) Its just a shame you have to rewrite Lilo stage 1 when you change stuff. Though I've never really got the hang of the Grub command line (why -1 for partitions, eh?!) so I'll stick with Lilo - its easy enough with a boot or livecd to fix anyhow. Grub's quicker though isn't it? Dug
    • Don't worry, I still use lilo too. Well, except on my portable, the new Debian-installer seems to install grub by default. But anyway, the configuration is so different that I prefer the good ol' lilo. I don't need those fancy Grub features anyway.
    • by Homology ( 639438 ) on Sunday August 28, 2005 @02:48PM (#13422033)
      If you use i386, then ditch Lilo and GRUB, and use something that works out of the box : GAG [sourceforge.net]
      • The software sounds good, but it seems that la reproducción total o parcial is prohibida -- at least sin autorización del autor. And I don't speak enough Spanish to get the autor's autorizacion to reproduccion it.

        Yo quiero Taco ^G!
        • The software sounds good, but it seems that la reproducción total o parcial is prohibida -- at least sin autorización del autor. And I don't speak enough Spanish to get the autor's autorizacion to reproduccion it.

          GAG is GPL software, and the software has several translations. But the homepage itself is copyrighed by the author, of course, and you need his permission to reproduce it.

        • by Anonymous Coward
          Hello:

          I'm the author of GAG. The copyright is only for the web page itself, since GAG is 100% GPL. I put the copyright note after a problem with a spanish magazine, who published my personal photo (adding some abusive comments) without my permission.
    • why -1 for partitions, eh?!

      ..because programmers know a proper array starts at 0.

      I'd never dealt with grub until the first time I installed gentoo. I didn't think it was the overwhelming, especially when following the intstructions in the gentoo installation guide. Didn't have much trouble with windows loading either, except the time I tried installing windows on the slave drive. Keep windows in a primary partition on your master drive and it's no big deal. Lilo works too, so it's just a preference thin

  • Lilo...pros? (Score:2, Informative)

    by Anonymous Coward
    There are pros to Lilo?
    It's such a heap of crap. The only reason it's still used is because people were brought up on it.
    • Re:Lilo...pros? (Score:3, Interesting)

      by duguk ( 589689 )
      What about because its far easier to use?

      nano /etc/lilo.conf
      lilo
      reboot

      Grub has just been a pain for dualbooting in my experience. Lilo, no trouble, though you're right, they're very few pros.

      Dug
      • Re:Lilo...pros? (Score:3, Interesting)

        by grumbel ( 592662 )
        How is that easier than:

        grub-install /dev/hda
        nano /boot/grub/menu.lst
        reboot

        ?
        • Re:Lilo...pros? (Score:3, Interesting)

          well, for one, it doesn't result in:

          # grub-install /dev/hda
          # nano /boot/grub/menu.lst
          # reboot
          # ls -Af /boot
          /boot:
          boot@
          #

          oh, joy of joys.

          every time i've used grub, i've lost the contents of my /boot partition on reboot. don't even suggest that it might not be mounted! upon next reboot, it doesn't boot.

          that one bad experience is all i need to stop using grub.

      • And how many of those steps do you have to repeat when you change something in the config file? All of them. With grub there is only the "edit config file" step and not this often forgotten second step (call "lilo") that leads to an unbootable system. When the kernel filename stays the same you don't even need to edit the file (though I wouldn't recommend it for new versions, only for really small changes), just replace the kernel image and it works, with lilo you need that stupid call to "lilo" anyway.
      • Re:Lilo...pros? (Score:3, Interesting)

        by doorbot.com ( 184378 )

        What about because its far easier to use?

        My understanding of how LILO works is that it hardcodes the location of your kernel image when you run "lilo". Then when it boots it just starts loading the kernel from that point. If I upgrade the kernel I have to rerun "lilo", and I better hope that kernel will boot and I had a backup boot entry or I will be digging out my boot CDs.

        Now I'm using GRUB because at least if I goof up/corrupt my config file it will still boot. It boots into a very simple shell from whic

  • AMD64 (Score:4, Interesting)

    by Snoolas ( 910809 ) on Sunday August 28, 2005 @02:35PM (#13421954)
    I use AMD64 Gentoo, dual booting with Windows XP Pro. Of course, LILO doesn't work with AMD64, so I have to use Grub. The bad part here is that Grub hangs whenever I try to get it to load Windows. I don't think it likes a 32 bit kernel image. So.... I have to go into the BIOS and change primary boot drives everytime I want to switch. I want a bootloader that can do that for me, or at least a way to make Grub do it. (Of course, I never really boot into Windows...)
    • Re:AMD64 (Score:3, Informative)

      by Homology ( 639438 )
      The bad part here is that Grub hangs whenever I try to get it to load Windows. I don't think it likes a 32 bit kernel image. So.... I have to go into the BIOS and change primary boot drives everytime I want to switch

      You can try GAG [sourceforge.net] to see if it works with AMD64.

    • GRUB has all sorts of problems. It wasn't ready for "primetime" when SuSE switched to it about 3 years ago, and as far as I can tell, the problems it had then have yet to be fixed.

      If we're making a list, I'll add: the inability to "Reboot to Windows" from Linux; and the failure of some USB keyboards to work in the GRUB boot menu, even though they work perfectly fine everywhere else, including Win9x and in the BIOS.

    • Re:AMD64 (Score:5, Informative)

      by Svenne ( 117693 ) on Sunday August 28, 2005 @02:50PM (#13422041) Homepage
      Of course, LILO doesn't work with AMD64

      Yes it does. It's working just fine for me, thank you very much. I'm using Ubuntu AMD64 with LILO, since I couldn't quite get the hang on GRUB which was installed by default.
    • OS/2 Bootmanager can do that :-)
    • GRUB on AMD64 (Score:3, Informative)

      To load Windows, GRUB just chain-loads the bootloader on the primary Windows partition (what Windows will use as C: drive). That's actually 16 bit code, even on AMD64.

      WinXP 64 bit ed may be different, but your post suggests you're using the basic XP.

      If I recall correctly a definition like:

      root (hd0,0)
      chainload +1

      should do the trick (adjusting root to match your win32 c: ). I use Fedora, so to be honest it "just works".

      *HOWEVER* it sounds like you're trying to boot XP off a secondary disk. If XP thinks that
      • Re:GRUB on AMD64 (Score:3, Informative)

        by spleentor ( 873802 )

        if windows is on a secondary hard drive, but it thinks its on a primary drive, you need to edit grubs menu.lst as such:

        title Windows

        root (hd1,0)

        map (hd0) (hd1)

        map (hd1) (hd0)

        chainloader +1

    • Re:AMD64 (Score:3, Informative)

      by kuzb ( 724081 )

      I've been using grub for ages to dual boot without problems. Your bootloader is obviously misconfigured. My only question here is, how did this get modded up to informative? There is nothing informative about it. All this is, is a user who can't figure out how to configure his bootloader.

    • Re:AMD64 (Score:4, Informative)

      by JBMesserly ( 747365 ) on Sunday August 28, 2005 @04:09PM (#13422447)
      Is your Windows XP on a secondary drive? If so, you may need to add these two lines to your Windows XP entry in your menu.lst/grub.conf file:

      map (hd0) (hd1)
      map (hd1) (hd0)

      With those lines added, your Windows entry will look something like this:

      title Windows XP
              map (hd0) (hd1)
              map (hd1) (hd0)
              rootnoverify (hd1,0)
              makeactive
              chainloader +1

      Those two lines do some magic that makes Windows think it's on the primary drive, allowing it to boot up.
  • I logged in as root and got:
    [root@localhost root]#

    Then I typed:
    # /sbin/lilo -v -v

    And nothing happened... The entire line looked like:

    root@localhost root]# # /sbin/lilo -v -v

    What is wrong here? ;-)
    • this text is not here.

      sum.zero
  • I've played around with Ubuntu and now want to get all my disk space back. I'm running Windows XP. How do I uninstall grub safely so that the computer just boots into WinXP?

    Sounds like a stupid thing, since no one would ever want to uninstall linux, but why is this information so hard to find?

    Personally, this makes it hard for me to tell friends to try out linux. Because trying it out may mean having grub (or lilo) installed forever...
  • Too smart (Score:2, Interesting)

    by KiloByte ( 825081 )
    A problem I see is that GRUB has too much brains for its own good. It needs to understand all filesystems it can possibly boot. If you upgrade your foofs to a new version that can be misunderstood by GRUB, use an exotic fs or even the newest donation of IBM/SGI/whoever, you run into deep shit if GRUB tries to read the files in a way even minutely different from the newest spec.

    Bootloaders of the past (hell, even I wrote one that was primitive but worked) had the selection and actual loading separated. Yo
    • No it doesn't. It only needs one filesystem type it uses. GRUB can chainload 2000/XP off of NTFS partitions without any knowledge of the filesystem layout.

      Basically you format a /boot partition with all your GRUB setup. I personally throw my kernel bzImages in there as well. I use ext2 since it doesn't need anything advanced. Then adjust grub.conf accordingly.

      It really isn't bad, especially when I upgrade kernels. I just move bzImage to a bzImage.old and move a existing bzImage.old to bzImage.DDMMYY. (it is
    • For elegance, I still haven't seen anything that beets the first stage bootloader for FreeBSD. Hand-crafted (and very will commented) assembly they outputs a 512 byte file capable of displaying a menu and assigning a name to each bootable partition based on its type. Oh, and it remembers your last choice and uses that as a default for the next boot.
    • you run into deep shit
      Yeah, because reading something that is not a kernel image and executing it at boot time kills your whole harddrive and all your data...

      Bootloaders of the past require an external bootdisk every other time you install a new kernel because you forgot to run the program that writes config file changes to the bootsector. Grub doesn't have this problem. You can even specify a different image not even in the config from the boot prompt.
    • Re:Too smart (Score:4, Informative)

      by Trevelyan ( 535381 ) on Sunday August 28, 2005 @03:49PM (#13422342)
      It does not need to understand the fs of all systems it is to boot.

      At minimum it needs to understand the fs that the stage2 files are stored.

      You can then use the chainloader to boot the boot loader on an individual partition. eg the windows bootloader on your c: ntfs partition. ie the way you suggested

      Of course if grub knows something about your kernel and the fs it is n, then it can do a lot more for you.

      For me the main thing about grub is that it does not need to be configured in advanced, so it make a good rescue disk.
    • The best approach, probably, is to write mini-filesystem drivers and store them in a well-known section of each filesystem (like the boot sector). The loader will load the drivers into memory and can use them to find the kernel, modules to preload, and so on. The drivers can be "installed" as part of mkfs/newfs/format, so you don't have to touch the boot loader even if you're showing it a filesystem that didn't exist when it was written. This is the way OS/2 worked (and might be the way Windows works now
  • by G4from128k ( 686170 ) on Sunday August 28, 2005 @02:47PM (#13422026)
    Given all the concern with rootkits, backdoors, worms, spyware, et al, it would seem that a nonflash-ROM bootloader could provide a secure micro-OS that in turn checks and helps maintain the integrity of the main OS. A boot-time diagnostic and some key read-only API code segments (encompassing access to crucial functions such as encryption, hash calculation, memory access, disk access, UI access, network access, etc.) would help ensure that the main OS was not compromised and was less susceptible to malware.

    A small OS, even one with a GUI, can fit in less than a MB. Perhaps a heavily secured, stripped-down copy of some stable version of *nix could provide a high-integrity read-only core underlying a more sophisticated, extensible, and flexible full-featured OS.
    • The Macintosh Classic had this. For some reason, during graduate school the night before a paper was due, my HD wouldn't boot. I accessed three keys on the keyboard while turning the machine on. The Mac booted from a ROM OS and presto - my Mac was up and running and the HD, though unbootable, still worked so I could access my word processor and documents.
    • You've just described the basic architecture proposed by the TCG. Microsoft is planning to use this architecture in order to implement Palladium (Palladium and the TCG are two different things).

      Anyway, this concept can be traced back to the seventies. It's coming alive only now because:
        -- security is much more of an issue,
        -- it's just damn hard to get it right,
        -- it's just damn hard to get everyone to agree on a common spec.

      Regards
      • -- security is much more of an issue,

        And what I don't like about palladium or whatever it's called nowadays, is that their so-called security is protecting parties outside the PC from the PC owner. In other words, the PC owner is the adversary in these 'security' features. Great thought, isn't it.

    • You mean, the whole TCPA, Palladium thing?
    • Perhaps a heavily secured, stripped-down copy of some stable version of *nix could provide a high-integrity read-only core underlying a more sophisticated, extensible, and flexible full-featured OS.
      Take a look at LinuxBIOS [linuxbios.org].
  • Hey, it just occurred to me: shouldn't GRUB be the "GRub Unified Bootloader," to keep with the tradition of recursive/redundant acronyms?
  • Reak geeks still use shoelace...

  • How about distilling this article into a HOWTO for a "bootable Linux factory"? I keep a "reference Linux", with just the basic (Debian) system installed on its boot HD (EIDE /dev/hda[1]). When I want a new one, I attach a second HD to the seconde EIDE bus (EIDE /dev/hdc), so data is transferred across the full bandwidth of both buses. I fdisk /dev/hdc into boot and swap partitions, then tar /dev/hda1 over to /dev/hdc1 . So I've cloned my drive. But I still have to config LILO or GRUB to install into the MBR
  • LILO vs GRUB (Score:5, Interesting)

    by 93 Escort Wagon ( 326346 ) on Sunday August 28, 2005 @03:12PM (#13422154)
    GRUB rocks. Its just too easy to render a computer unbootable with LILO (not permanently, of course; but it's still annoying). Why should I have to rewrite the boot sector just because I want to change what I call a particular boot option?

    Interesting to hear of people's GRUB problems with Windows - I've never had an issue with this. My dual boot machines have been 98SE or XP Pro alongside Red Hat or Fedora. GRUB setup works out of the box. I've got to admit I've only used multiple partitions on one disk though - never done it with different OSes on different disks.
  • ...not even for comic relief?
  • Once upon a time computer hardware was rather expensive. Spending as much as a decent used car would cost on a 2nd or 3rd box to run another OS wasn't a practical reality for a great many.

    But today? A rather high powered machine can be had new for a couple hundred. Add to this fact that 99.9999% of users who want/need multiple OSes have gone through a few upgrade cycles already and thus have hardware otherwise doing nothing...and it quickly becomes apparent that optimizing a system to handle booting mult
  • XOSL (Score:2, Informative)

    by crache ( 654516 )
    Anyone remember XOSL? I thought it was great.
    Unfortunately the Open Source model didn't work
    out so great for it:
    http://xosl.sourceforge.net/manifesto.html [sourceforge.net]
    No longer active..

    Mirror of the Original Site:
    http://www2.arnes.si/~fkomar/xosl.org/ [arnes.si]
  • Primary boot loaders are where the first stage of the boot loader is installed on the MBR (per the previous description). Secondary boot loaders are where the first stage of the boot loader is installed onto a bootable partition.

    Primary boot loaders are where?
    Secondary boot loaders are where?

    The author's usage of "where" here is very odd. I had to read these sentences several times to figure out that the author wasn't telling me that both of these loaders are where the first stage of the boot loader is inst
  • NT Loader (Score:5, Informative)

    by teslatug ( 543527 ) on Sunday August 28, 2005 @03:40PM (#13422290)
    The author says "Unlike the Linux boot loaders, the majority of Windows boot loaders will not allow you to load Linux."

    I don't know what he calls a majority, but the NT loader (used by Windows NT, 2K, XP, 2003) can boot Linux. It's just that Microsoft is being a pain about it. You have to first dd the first 512 bytes of your partition, save those to a file, and create an entry in boot.ini which points to that file.
    For example:
    dd if=/dev/hda1 of=/mnt/cpart/linux.mbr bs=512 count=1

    [Boot Loader]
    Timeout=5
    Default=multi(0)disk(0)rdisk(0)partition(4)\WINNT
    [Operating Systems]
    multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microso ft Windows 2000 Professional" /fastdetect
    C:\linux.mbr = "Linux"
    • Re:NT Loader (Score:3, Informative)

      by bobbozzo ( 622815 )
      If you install lilo or grub into the boot sector of the partition linux which is installed, then you can point the NT loader at that partition without having to copy anything.
    • Re:NT Loader (Score:3, Informative)

      by allan_q ( 561224 )
      I don't know what he calls a majority, but the NT loader (used by Windows NT, 2K, XP, 2003) can boot Linux. It's just that Microsoft is being a pain about it. You have to first dd the first 512 bytes of your partition, save those to a file, and create an entry in boot.ini which points to that file.

      An easier way is to use BootPart [winimage.com] to automate the whole process. It will even add an entry in boot.ini.

      From the site:
      BOOTPART creates a 512 byte file which contains an image of the boot sector that loads the

  • I think most of my bootloader issues stem not from the inadequacy of bootloaders themselves but from the myriad different slightly incompatible partitioning tools, none of which seems to get everything quite right. To this day only LILO can load linux for me (GRUB installs just fine and then can't find the right drive to read the menu.lst from) and I can't complete a windows install because it can't understand the partition scheme -- eh, who needs it anyway. Both bootloaders work great as long as the disk
  • grub-2 all the way (Score:2, Informative)

    by Meeuw ( 552270 )
    Grub *seems* to be undeveloped but some brave guys are developing grub-2, which looks much nicer...

    http://www.gnu.org/software/grub/grub-2.en.html
  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Sunday August 28, 2005 @03:52PM (#13422357) Journal
    I don't have the links, but Google is your friend:

    XOSL -- Xtended Operating System Loader

    Pros:
    - an actual GUI in a bootloader
    - support for loading keystrokes into the keybuffer, which gives it indirect support for simpler keystroke-based bootloaders like Lilo -- it can "type" in a kernel name for Lilo to load.
    - relatively easy to install from Win98 -- I believe it can even use a FAT partition to store its stuff on.
    - Password protection, can boot a default entry after a timeout.
    - Entirely configurable from inside the bootloader -- and it's user-friendly, due to the built-in windowing system.

    Cons:
    - Not much direct support for anything. While it can load Linux through Grub or Lilo, and it can boot CDs through SmartBootManager, it's really a very simplistic x86 bootloader with a very advanced GUI.
    - Support for booting a default requires a timeout, meaning that 90% of the time, when you're just booting the default OS, you have to wait an extra few seconds or press a keystroke -- and if you don't want to boot the default OS, you have to hit a key at just the right time to select a different one.
    - Doesn't seem to be configurable outside the bootloader, meaning if you download a howto on configuring XOSL, you have to print it out and reboot in order to configure.

    GRUB: Grand Unified Bootloader

    Pros:
    - Only bootloader I know of that supports the Multiboot spec, which unfortunately is a "standard" supported by only one bootloader (Grub) and one OS (Hurd) -- but it's still pretty cool that Grub could, in theory, insert kernel modules on boot, eliminating most initrds.
    - Contains a built-in commandline and actual FS support, so a mistyped or forgotten menu entry is no problem -- type it in manually to boot, then fix the menu entry from your main OS, not a rescue disk.
    - Powerful menu system -- the "configfile" command allows for multiple nested menus. Password protection.
    - Config file is readable an Unix-ey, and is a plain Unix text file parsed directly by Grub -- no need to type a command after each kernel update.
    - Supports booting from PXE (giving multiple netbooted images as a menu)
    - Supports booting from CD, allowing an easy menu to access multiple kernels and tools like memtest86.

    Cons:
    - Like XOSL, it lacks actual support for booting from CDs or net. You can install it to a CD or Net, in which case you can probably also boot stuff from the hard drive, but if it's run from the hard drive, it can't boot CD or net.
    - Lacks XOSL's keybuffer feature (which is probabyl unique), meaning if you want to use SmartBootManager to boot a CD, you will see the Grub menu, and then the SBM menu.
    - Since it groks FSes, you may need a separate /boot partition if it doesn't natively support your / partition.
    - Commandline, while useful, really only protects you from typos in grub.conf. It doesn't protect you from forgetting to install Grub to the MBR in the first place, or reinstalling if the stage 1.5 files got physically moved around.
    - Like XOSL, booting a default requires a timeout.

    NTLDR -- NT Loader

    Pros:
    - Already installed on Windows NT based OSes.
    - Supports NTFS, and can boot most x86 boot images if they are available on the boot NTFS partition.
    - Plain-text config file.

    Cons:
    - No native support for anything but NT and chainloading (x86 boot images)
    - Menu system is bad. It seems locked into a 30 second timeout, and like XOSL and GRUB, you have to have the timeout to have a default.
    - No native support for booting other partitions -- this can be accomplished by putting Grub or another bootloader into an image file, but it's not a trivial process, especially considering you have to redo it often.
    - Not open source. It has limitations, and you can't do a damn thing about it.

    Lilo -- Linux Loader

    Pros:
    - Dirt simple. No flashy menus or windows or FS support -- it just loads a kernel and goes.
    - Plain text config file, with a simple command t
    • by Gallvs ( 784291 ) on Sunday August 28, 2005 @04:47PM (#13422637)

      It seems locked into a 30 second timeout

      Actually the NT bootloader timeout is configurable inside the boot.ini file:

      [boot loader]
      timeout=n
    • - kexec probably isn't very well documented, and possibly not entirely stable

      I've never had any problems.

      - I don't think kexec supports Linux-specific or Multiboot-specific stuff like setting the kernel commandline or loading a module/ramdisk.

      Of course it does!

      - No UI implemented yet at all, not even a kexec binary -- there's only a kexec system call, and most of us don't speak system calls directly, especially to boot our OS.

      kexec-tools.
    • Great post, one addition: grub supports NTFS too.
  • by Mustang Matt ( 133426 ) on Sunday August 28, 2005 @04:03PM (#13422413)
    How have things changed over the last year when it comes to booting from usb pendisk or hard disk whatever?

    Every time I try it, it's still not quite there. For instance, I can boot knoppix 3.9 from my usb cdrom but once it loads far enough it can't find the usb cdrom and loses track of it's filesystem consequently. That always bugged me considering it can boot from it just fine. I'd love to have a rescue usb pen drive that had both windows and linux bootable rescue installations available. I've never been able to pull it off.
  • Seems like a college Freshman's first essay on anything computer related. Seriously. Its well put together, simple, and consise, without actually doing anything.
  • No Brainer (Score:3, Insightful)

    by kmsz ( 910874 ) on Sunday August 28, 2005 @05:05PM (#13422723) Homepage
    Having rebuilt a multitude of x86 hardware and fought several times with the oddities of the PC legacy, the choice between LILO and GRUB is a no-brainer to me.

    Every now and then, after changing/reordering hard drives (from on-board to off-board etc.), changing the controller etc. LILO might stuck somewhere like LI or 0101010101 or ... and you need to get into a running Linux system to fix the boot loader "settings". If the hardware is unsupported by the live CD you have at your fingertips (e.g. MegaRAID) you are royally screwed up.

    With GRUB, as long as the stage 2 gets loaded, you can always change the settings manually from within a minimalistic command line. If you do not know which drive gets which number from the BIOS (0x80, 0x81, ...), you can just try around like root(hd0,0) ... root(hd1,0) ... etc. until you find your partition.

    The only reason I kept LILO on some headless servers co-located at some distant places was the lilo -R ... functionality with which one can select an image to boot into just once. If this fails and you remotely reset the server, it boots back into a known good state. Very handy to try dangerous changes to a remote server.

    Now that GRUB also provides this option with grub-reboot and GRUB can also be set up with a nice graphical splash screen, there is no reason why I would ever want to install LILO.

    Mark
  • by ceswiedler ( 165311 ) * <chris@swiedler.org> on Monday August 29, 2005 @12:23AM (#13424854)
    The best thing about grub is that as long as it's correctly loaded onto your MBR (not particularly difficult) you don't really need a config file at all. Anything which can go in the config file can be typed at the command-line. That's really useful in a bootloader, which otherwise can be particularly difficult to fix when you make a boneheaded mistake. GRUB has saved me several times with this feature. It's also handy when you want to boot into a different runlevel or whatever, it's easy to edit the kernel parameters before booting.

    The other best thing is that you don't need to do much when you do something like install a new kernel or initrd; just update the config file (and you really don't even need to do that, see above). With Lilo you have to remember to run /sbin/lilo to update the MBR.

    The worst thing about GRUB is that it was written for the Hurd, and has a Hurd-centric view of disks which can be difficult to work with in other operating systems.

"Imitation is the sincerest form of television." -- The New Mighty Mouse

Working...