Boot Methods

From Funtoo
Revision as of 21:49, November 18, 2014 by Drobbins (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 hard drives uses 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.

Pure MBR + GRUB

   Note

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

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.

GPT + GRUB

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:

  • no MBR is installed or required
  • 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

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.

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.