Difference between pages "EFI Stub Guide" and "Boot Methods"

(Difference between pages)
(Drobbins moved page EFI Stub Guide to Pure UEFI Boot Guide)
 
 
Line 1: Line 1:
#REDIRECT [[Pure UEFI Boot Guide]]
+
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 "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, <tt>/dev/sda1</tt> is the <tt>/boot</tt> filesystem (typically ext2)
 +
* MBR partition 2, <tt>/dev/sda2</tt> is ''swap''.
 +
* MBR partition 3, <tt>/dev/sda3</tt> is the <tt>/</tt> (root) filesystem.
 +
 
 +
Here's how the boot process works:
 +
 
 +
# The system BIOS loads the MBR from your boot disk (containing stage1 of the GRUB boot loader) and runs it.
 +
# Extra boot-related code is loaded by the GRUB stage1 from the <tt>/boot</tt> 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, <tt>/dev/sda1</tt> is the <tt>/boot</tt> filesystem (typically ext2)
 +
* GPT partition 2 type 0xEF02, <tt>/dev/sda2</tt> is the ''boot loader partition'' (this contains a fake MBR).
 +
* GPT partition 3, <tt>/dev/sda3</tt> is ''swap''.
 +
* GPT partition 4, <tt>/dev/sda4</tt> is the <tt>/</tt> (root) filesystem.
 +
 
 +
Here's how this hybrid scheme works:
 +
 
 +
# The system BIOS loads the fake MBR from your boot disk(/dev/sda2) (containing stage1 of the GRUB boot loader) and runs it.
 +
# 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, <tt>/dev/sda1</tt> is the <tt>/boot</tt> filesystem (<tt>vfat</tt> aka "FAT32").
 +
* GPT partition 2, <tt>/dev/sda2</tt> is ''swap''.
 +
* GPT partition 3, <tt>/dev/sda3</tt> is the <tt>/</tt> (root) filesystem.
 +
 
 +
Here's how this boot scheme works:
 +
 
 +
# UEFI (contained in your motherboard's firmware) loads the Bootmanager entry from the RW NVRAM inside your motherboard.
 +
# If there's a valid entry that contains Grub, then the GRUB boot loader code from your <tt>/boot</tt> filesystem will be loaded.
 +
# UEFI can read from <tt>vfat</tt> partitions directly, which is why we use <tt>vfat</tt> instead of the normal <tt>ext2</tt> for <tt>/boot</tt>.
 +
 
 +
Now, the boot loader is able to run and load the Linux kernel and initramfs from the <tt>vfat</tt> <tt>/boot</tt> 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:
 +
 
 +
# UEFI (contained in your motherboard's firmware) loads the Bootmanager entry from the RW NVRAM inside your motherboard.
 +
#  UEFI loads the Linux kernel STUB and initramfs directly, and runs the Linux kernel to start Funtoo Linux.

Latest revision as of 21:53, November 18, 2014

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 "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.

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

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.