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."
Huh? (Score:4, Insightful)
That would be...Windows Boot Manager.
Re:Huh? (Score:4, Interesting)
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)
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.
A study about Linux bootloaders maybe? (Score:2)
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.
Re:A study about Linux bootloaders maybe? (Score:3, Informative)
You mean without WinGrub [sourceforge.net]? I use it with Windows XP/Fedora Core 4 and love it.
As for LILO...never tried it.
Re:Huh? (Score:2)
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)
Re:Huh? (Score:3, Informative)
Oh yeah, have fun if you use lilo.
instead of:
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)
Re:Huh? (Score:2)
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)
Also Win2k totally fscked it up (fixed in service
Why couldn't they post this BEFORE the weekend? (Score:3, Interesting)
Re:Why couldn't they post this BEFORE the weekend? (Score:2)
Re:Why couldn't they post this BEFORE the weekend? (Score:4, Informative)
Re:Why couldn't they post this BEFORE the weekend? (Score:3, Funny)
Yo quiero Taco ^G!
Re:Why couldn't they post this BEFORE the weekend? (Score:2)
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.
Re:Why couldn't they post this BEFORE the weekend? (Score:3, Informative)
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.
Re:Why couldn't they post this BEFORE the weekend? (Score:2)
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)
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)
nano
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)
grub-install
nano
reboot
?
Re:Lilo...pros? (Score:3, Interesting)
well, for one, it doesn't result in:
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.
Re:Lilo...pros? (Score:2)
title Windows NT/2000/XP (loader)
root (hd0,0)
makeactive
chainloader +1
title Debian GNU/Linux
root (hd1,0)
kernel
initrd
Re:Lilo...pros? (Score:2)
Re:Lilo...pros? (Score:3, Interesting)
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
Re:Lilo...pros? (Score:2)
I've been a GRUB person for since the beginning, but I recently put together a server with a SCSI array, the entries for which all appeared under
GRUB didn't believe any drives existed, but LILO was fine with it. Differences in design, perhaps?
Re:Lilo...pros? (Score:2)
You're right though, there are some places where grub simply cannot be used, and lilo can, just due to design. Grub (the current version), if you have anything more than a SATA drive or a well supported SCSI array, won't work. It's far too dynamic. Because lilo is physically installed, and static, it can survive in a great number of places where grub can't. It's just how the code is written. Grub's problem is that if grub itself can't find the d
AMD64 (Score:4, Interesting)
Re:AMD64 (Score:3, Informative)
You can try GAG [sourceforge.net] to see if it works with AMD64.
Re:AMD64 (Score:2)
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)
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.
Re:AMD64 (Score:2)
GRUB on AMD64 (Score:3, Informative)
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)
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)
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)
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.
Something is wrong with the article. (Score:3, Funny)
[root@localhost root]#
Then I typed:
#
And nothing happened... The entire line looked like:
root@localhost root]# #
What is wrong here?
don't type # [n/t] (Score:2)
sum.zero
Explaining the joke :-P (Score:3, Informative)
If you type # in a Bash shell, the rest of the line is handled as a comment.
But it is convention to tell users to type a command and start it with a # to denote root login. If you type the # however, Bash interprets it as a comment and doesn't do anything
Don't feel bad (Score:2)
Okay...How do I install these things... (Score:2, Insightful)
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...
Re:Okay...How do I install these things... (Score:2)
Re:Okay...How do I install these things... (Score:2, Informative)
If you have a WinXP installation CD, just boot it and select the repair option and then do a fixmbr and a fixboot on the boot drive. That should re-install the WinXP mbr and boot sector. You would need something like Partition Magic to reclaim the linux partition for WinXP. I am not sure what to do if you don't have a WinXP installation CD. (Some WinXP installations only have a "recovery" CD). You could try to find a Win98 boot floppy or a DOS boot floppy and then do a fdisk
Re:Okay...How do I install these things... (Score:5, Informative)
Boot off of the Windows CD, and go into the recovery console. I always forget which command, so I do both:
fixmbr [microsoft.com]
fixboot [microsoft.com]
It's fixmbr. (Score:5, Informative)
Just for reference. fixboot fixes something else (NTLDR? first sector of booting partition? I forget...).
Re:Okay...How do I install these things... (Score:2)
Re:Okay...How do I install these things... (Score:2, Informative)
Too smart (Score:2, Interesting)
Bootloaders of the past (hell, even I wrote one that was primitive but worked) had the selection and actual loading separated. Yo
Re:Too smart (Score:2)
Basically you format a
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
Re:Too smart (Score:2)
Re:Too smart (Score:2)
Re:Too smart (Score:2)
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)
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.
Re:Too smart (Score:2)
Could a micro-OS bootloader aid security? (Score:5, Interesting)
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.
Re:Could a micro-OS bootloader aid security? (Score:3, Interesting)
Re:Could a micro-OS bootloader aid security? (Score:3, Informative)
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
Re:Could a micro-OS bootloader aid security? (Score:2)
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.
Re:Could a micro-OS bootloader aid security? (Score:2)
Re:Could a micro-OS bootloader aid security? (Score:3, Interesting)
Non-recursive acronym (Score:2)
Shoelace (Score:2)
Reak geeks still use shoelace...
How To Clone a Bootable Drive (Score:2, Offtopic)
Re:How To Clone a Bootable Drive (Score:2)
Won't work for lilo, but IIRC that should work for grub.
LILO vs GRUB (Score:5, Interesting)
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.
What?! No NTLDR?? (Score:2)
What a complete waste of time... (Score:2)
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)
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]
grammar police (Score:2)
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)
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="Micros
C:\linux.mbr = "Linux"
Re:NT Loader (Score:3, Informative)
Re:NT Loader (Score:3, Informative)
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
Funky partition tables (Score:2)
grub-2 all the way (Score:2, Informative)
http://www.gnu.org/software/grub/grub-2.en.html
Let's see some more bootloaders! (Score:5, Informative)
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
- 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
Re:Let's see some more bootloaders! (Score:4, Informative)
It seems locked into a 30 second timeout
Actually the NT bootloader timeout is configurable inside the boot.ini file:
Re:Let's see some more bootloaders! (Score:3, Informative)
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.
Re:Let's see some more bootloaders! (Score:3, Informative)
Re:Let's see some more bootloaders! (Score:3, Informative)
As for what the grandparent was talking about, however... that option in the bootmenu doesn't show up. By commenting out the line "prompt" in the lilo.conf, it skips the menu and automatically boots the default image (2.6.12.3 kernel on the laptop). If, OTOH, I wan
How about booting from USB (Score:3, Insightful)
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... (Score:2)
No Brainer (Score:3, Insightful)
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
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,
The only reason I kept LILO on some headless servers co-located at some distant places was the lilo -R
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
The best thing about GRUB... (Score:5, Informative)
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
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.
Re:Useful tool, but necessary article? (Score:2)
Linux bios (Score:5, Informative)
then microsoft could write a winLoader to load windows if you wanted to dual boot your linux machine :-)
seriosly for anyone who uses linux clusters or is otherwise uninterested in Dual boot, it makes sense to flash you roms and get it over with.
Re:Useful tool, but necessary article? (Score:3, Interesting)
I used to be a Lilo fan, until I ran into trouble with it on my IBM laptop -- it took WAY longer at the part where it loads the kernel to memory than it had any business to, a stage that goes by so fast it's easy to miss on most computers. Yeah, it's got a P4-based Celery in it, but my laptop's not THAT slow. I've seen Pentium I systems go through that stage faster.
Switched to Grub, problem went away. Whatever. Guess I'll just use it from now
Re:Useful tool, but necessary article? (Score:2, Informative)
Re:Useful tool, but necessary article? (Score:2)
Not that any of my other systems ever had a problem with the set of options that I used on there. Just my laptop. So weird.
Anyway, now that I've got Grub figured out, I like it better. No having to remember to run Lilo on every kernel recompile.
Re:Useful tool, but necessary article? (Score:5, Interesting)
Re:Useful tool, but necessary article? (Score:2)
If you want to run another OS on Apple86, you will need to throw yaboot [penguinppc.org] into the discussion.
Re:Useful tool, but necessary article? (Score:2)
Bullshit.
If you have physical access to the machine and can get to the boot prompt, it doesn't matter one whit about the "security" of your loader, you already have root access.
Even with a completely secure bootloader, it's not like you couldn't boot off a CDROM, floppy disk, or thubmdrive. Umm.. so that would mean that the *BIOS* is a bigger "security point of failure".
So you'd need a completely secure bootloader, *AND* a completely secure BIOS. Oh, but the
Re:Useful tool, but necessary article? (Score:2)
Suse 10 beta 2 was the first to get it right.
Re:Get off BIOS (Score:3, Informative)
Get used to it (Score:2)
Re:Get off BIOS (Score:3, Insightful)
That's it, mostly.
Re:The need for a better BIOS (Score:4, Insightful)
My GOD you are unimaginative. It's so upsettingly obvious for everyone outside the x86 world that the lot of us are just plain laughing when this issue is brought up.
For a weekend project, I was planning on rebuilding the OS on a spare PC I have.
I was just about to install a flexible boot loader. Tell me more about your better BIOS. I'm sure I'll be enjoying it this evening instead of the dumb old boot loader I was about to install.
Oh wait, you weren't solving a problem, you were merely suggesting an entirely new platform. Oh, oh ho ho ha ha, silly me. Yes, honestly, why isn't it that all these stupid people don't develop a completely new architecture to deal with every nuanced problem that arises? Surely, sir, you are a genius.
Re:booting from CD with LILO or GRUB (Score:3, Informative)
I have used it several times when installing Linux on older laptops that do not allow CD-booting.
Re:overwhelming majority don't dual boot (Score:2)
I also believe that's been disabled now, even though it claims to be a boot sector.
'News for Nerds' (Score:2)
Re:a name for everything (Score:2)