The Boot Loader Showdown
An anonymous reader 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.""
For anyone getting ready to load a Linux instance on a VMWare virtual machine, save yourself some time and use LILO. GRUB does not work as best I can tell. Boots to a fun error message after initial install. LILO works like a charm.
You can specify a boot sector in boot.ini. It needs this so it can boot Win98, Dos and so on. You can use it to load pretty much any OS though.
http://www.highlandsun.com/hyc/linuxboot.html
Or you could turn off boot sector checks in the virus protection.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
> Install Grub on the Linux partition, and use Lilo to load it.
/mbr), which will silently boot the active partition, that you will set to the one containing the secondary boot loader you're using.
Why use LILO at all, then ? You can use mbr (http://packages.debian.org/stable/base/mbr), or even the dos / windows one (fdisk
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
No 'showdown' is needed. Aren't there enough flamewars around the Web as it is? Technically, both bootloaders are good. Use the one that works best for you.
Politically, if you must use only GPL software, then go with GRUB. LILO has a _very_ open license, but it does not meet RMS's strict and unyeilding requirements.
GAG (graphical)
Gujin
Syslinux
Meh.
.. because, an OS has one of two choices. Either it uses it's own boot loader, or it requires a third party one.
I don't know anything about ReactOS, but Windows ships with it's own, and always has since 95. If you installed "real" Windows on this computer, it would overwrite the MBR and get rid of Grub. But if installing RactOS does *not* do this, then it likely does not ship with it's own boot loader, so you would *have* to use Grub or some other tool to load it.
Unless it uses the old DOS boot loader but does not ship with it, which would be very weird.
In any case, you can download DOS boot disk images from bootdisk.com and fdisk /mbr, no problem. (if you don't have a flyppy drive, just use the image to make a bootable CD.)
Try enable "USB Legacy support" or similiar in BIOS. Has helped me every time.
I'm a diehard LILO user, it works for chuff's sake so don't muck with it, but the issue you are seeing is not the fault of the bootstrap loader.
Any bootstrap loader, be it GRUB, LILO or NTLDR.EXE, must necessarily use the BIOS to interact with the hardware, because no drivers are loaded yet.
Your BIOS setup should have an option something like "legacy USB keyboard" which takes the keystrokes from the USB keyboard and makes them appear to have come from the "old style" keyboard instead. Enable this and GRUB should work.
Je fume. Tu fumes. Nous fûmes!
This article explains how to write your own boot sector. The tutorial includes assembly language code to demonstrate loading and executing a binary image from a FAT filesystem. It's also an interesting read if you want to understand the fundamentals of the X86 boot process.
-Brandon "How much you wanna make a bet I can throw a football over them mountains?"
What do you use that to do? Grub booted my raid1 flawlessly, just map (hd0) and (hd0,0) to the /dev nodes and install normally.
I am trolling
LILO is still actively developed and handles things like RAID disks and special hardware much better than GRUB (which is why it still ships with all the various distributions).
It's all about what you're familiar with. I used to be a LILO affectionado and moaned when Redhat moved to GRUB. But once I learned GRUB, I found it to be much more powerful and easier to use than LILO. That's just me though. I'm the same guy who tells everyone I know, "If there's a hard way to do something, I'm there before anyone else". ;P
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
Why isn't the PC bios responsible for loading O/Ses? because the PC bios is a relic, a leftover from the days of 8086. Why aren't bioses 32-bit? why PCs still have to boot in real mode?
Bootloaders are very clever pieces of coding, but their presence makes it difficult for PC bioses to be replaced.
Grub can do it too.
e
Check this out: http://gentoo-wiki.com/HOWTO_Remote_Kernel_Upgrad
isomerica.net | Foonetic IRC
How about this?
grub> savedefault --default=1 --once
Use it in a script, type it by hand, put it in grub.conf, etc. Works for me.
With this approach, there's no need to put drivers needed at boot time in the kernel. (Drivers are user programs under QNX.) The kernel doesn't need to know about disks. If you want a GUI during boot, you can have it. For embedded systems, the entire "OS file system" can be put in ROM, eliminating any need for a disk. For desktop x86 systems, there's a standard bootable "OS file system" which has all the usual disk and display drivers, the bus enumerators and plug-and-play handler, and the rest of the stuff needed to start an x86 PC. But all that startup stuff isn't in the kernel.
This is especially useful when your target is something that doesn't have a keyboard and screen. That's why QNX does this. Doing it this way cleans much startup-only junk out of the kernel.
The Minix 3 people, unfortunately, didn't get this, so their "microkernel" has more stuff in it than it really needs.
>There's one feature that's been sorely missing: the equivalent of lilo's -R option (boot another OS once).
You can probably do what you need using Grub's 'savedefault' command, eg
grub> help savedefault
savedefault: savedefault [--stage2=STAGE2_FILE] [--default=DEFAULT] [--once]
Save DEFAULT as the default boot entry in STAGE2_FILE. If
'--once' is specified, the default is reset after the next reboot.
grub> savedefault --default=1 --once
iirc some distro's come with a 'grub-default' (or similar) command for performing this direct from a shell prompt.