Boot Methods

From Funtoo
Revision as of 15:31, January 22, 2017 by Juanan83 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

It used to be that booting a PC-compatible system didn't involve very many choices -- there was only one way to do it. All of our desktops and servers had a standard BIOS, all our hard drives used Master Boot Records, and were partitioned using the MBR partition scheme. Then, along came EFI and UEFI, which are new-style firmware designed to boot systems, along with GPT partition tables to support disks larger than 2.2TB. All of the sudden, we then had a variety of options to boot Linux systems, turning what once was a one-method-fits-all approach into something a lot more complex.

BIOS + GRUB (MBR)

   Note

This option is the "old school" way to boot Funtoo Linux, as documented in our Install Guide. This method uses traditional MBR partitions, which have existed since the origin of the PC.

Here is the typical disk layout:

  • MBR (master boot record) at beginning of boot disk
  • MBR partition 1, /dev/sda1 is the /boot filesystem (typically ext2)
  • MBR partition 2, /dev/sda2 is swap.
  • MBR partition 3, /dev/sda3 is the / (root) filesystem.

Here's how the boot process works:

  1. The system BIOS loads the MBR from your boot disk (containing stage1 of the GRUB boot loader) and runs it.
  2. Extra boot-related code is loaded by the GRUB stage1 from the /boot filesystem on the disk.

Now, the boot loader is able to run and load the Linux kernel and initramfs, and start Funtoo Linux.

BIOS + GRUB (GPT)

This is a more modern way to boot Linux. It uses MBR for booting but uses the more modern GPT partition scheme. Here's the disk layout:

  • The protective MBR is used for booting.
  • GPT partition 1, /dev/sda1 is the /boot filesystem (typically ext2)
  • GPT partition 2 type 0xEF02, /dev/sda2 is the boot loader partition (this contains a fake MBR).
  • GPT partition 3, /dev/sda3 is swap.
  • GPT partition 4, /dev/sda4 is the / (root) filesystem.

Here's how this hybrid scheme works:

  1. The system BIOS loads the fake MBR from your boot disk(/dev/sda2) (containing stage1 of the GRUB boot loader) and runs it.
  2. Extra boot-related code is loaded by the GRUB stage1 from a small (a few MB) GPT partition on the disk.

Now, the boot loader is able to run and load the Linux kernel and initramfs, and start Funtoo Linux.

UEFI + GRUB

   Note

This method is documented in our Install Guide as the "new school" UEFI boot method.

UEFI is a new-style firmware that is used for booting. It is generally available on all new PCs (2012 and newer) and may be available on older systems as well. Here's the disk layout:

  • no MBR is installed or required
  • GPT partition 1, /dev/sda1 is the /boot filesystem (vfat aka "FAT32").
  • GPT partition 2, /dev/sda2 is swap.
  • GPT partition 3, /dev/sda3 is the / (root) filesystem.

Here's how this boot scheme works:

  1. UEFI (contained in your motherboard's firmware) loads the Bootmanager entry from the RW NVRAM inside your motherboard.
  2. If there's a valid entry that contains Grub, then the GRUB boot loader code from your /boot filesystem will be loaded.
  3. UEFI can read from vfat partitions directly, which is why we use vfat instead of the normal ext2 for /boot.

Now, the boot loader is able to run and load the Linux kernel and initramfs from the vfat /boot filesystem, and start Funtoo Linux.

Pure UEFI

A Pure UEFI boot is also possible. The partitioning scheme is the same as the UEFI + GRUB scheme, above. This boot method is documented in detail in our Pure UEFI Boot Guide.

Here's how this boot scheme works:

  1. UEFI (contained in your motherboard's firmware) loads the Bootmanager entry from the RW NVRAM inside your motherboard.
  2. UEFI loads the Linux kernel STUB and initramfs directly, and runs the Linux kernel to start Funtoo Linux.