LILO was the de-facto standard for booting Linux on PCs before Grub, from a very early stage (MCC, one of the first Linux distributions, used it). Various other bootloaders were used contemporaneously. Loadlin was quite common; it booted Linux from DOS, and was even used in some configurations with umsdos to host a Linux environment in a DOS file system... Another common configuration didn’t involve a bootloader at all: the kernel could boot itself from a floppy, and most Linux users kept a known-good pair of “boot and root” floppies, one containing the kernel, the other a basic root file system for rescue purposes.
There were a number of ways of using other operating systems’ bootloaders to boot Linux too; for example, OS/2’s boot manager, or Windows NT’s NTLDR.
Other systems had their own bootloaders:
- SILO on SPARC (Sun workstations and others);
- PALO on PA-RISC (HP workstations);
- YaBoot and Quik on PowerPC;
- aBoot and MILO on Alpha...
Even nowadays Grub isn’t the only bootloader you’ll see. While having the kernel boot directly from floppy is no longer very useful (I haven’t checked whether it’s still possible, assuming you can build a kernel small enough to fit on a floppy), it can boot directly from EFI (which is effectively its own small operating system designed to load other operating systems, as is Grub). On many smaller systems (embedded systems, single-board computers...) you’ll find U-Boot. (And there’s also an EFI layer for U-Boot.)