vary among manufacturers, and the diagnosis of problems occurring during
this phase of the boot process is beyond the scope of this book and does not
involve Linux. If you encounter a problem, consult the motherboard manual
or contact the manufacturer of the motherboard. Another good source for
learning about beep codes is www.computerhope.com/beep.htm.
Next, the BIOS looks on the bootable volume for boot code in the partition
boot sector, also known as the master boot record (MBR), of the first hard
disk. The MBR contains the boot loader code and the partition table; you can
think of it as an index for a book, plus a few comments on how to start
reading the book. If the BIOS finds a boot loader, it loads the boot loader
code into memory. At that point, the BIOS’s job is completed, and it passes
control of the system to the boot loader.
As computing evolved, the BIOS began to be a limiting factor because some
of its limitations were not easy to overcome. Intel was the first company to
notice this as it developed its Itanium systems in the late 1990s. That work
eventually became the foundation for the Unified Extensible Firmware
Interface (UEFI).
UEFI serves a similar role to BIOS and has replaced BIOS in most modern
systems. For most end users, the difference is negligible, except that if you
have a UEFI computer, you may need to do some research to install Ubuntu.
UEFI firmware often has a BIOS mode that allows the firmware to work like
a traditional BIOS and that is more easily compatible, especially if you are
installing Ubuntu as the sole operating system on the computer rather than as
a dual-boot. There were some significant problems early on, but they seem to
have lessened as the Linux community has learned more about UEFI and
made things more easily compatible. To learn more, especially if you are
having trouble, see https://help.ubuntu.com/community/UEFI.
One interesting aspect of using UEFI involves hard disk partitioning. When
UEFI is used with Windows 8.x or 10, often the partitioning is set up using
GPT (GUID Partition Table) rather than the existing MBR standard. You can
use GPT with Ubuntu, but if only Ubuntu is to be installed on the drive, it is
often easier to reformat the hard disk to use MBR. As with BIOS and UEFI,
most people do not need to know or care whether they are using MBR or
GPT. To learn more, see http://www.howtogeek.com/193669/whats-the-
difference-between-gpt-and-mbr-when-partitioning-a-drive/.
The boot loader locates the Linux kernel on the disk and loads it into memory.
After that task is completed, the boot loader passes control of the system to
the Linux kernel. You can see how one process builds on another in an
approach that enables many different operating systems to work with the
same hardware.