X-Git-Url: https://code.delx.au/refind/blobdiff_plain/8b9e6b44d9e996a65cc4b81a71e8e6fdc054ea27..bda402d8bb74587c5a813c94a0c8626e0e4f18fe:/docs/refind/index.html diff --git a/docs/refind/index.html b/docs/refind/index.html index 5fc4abd..f40d33a 100644 --- a/docs/refind/index.html +++ b/docs/refind/index.html @@ -8,16 +8,19 @@ + +

The rEFInd Boot Manager

by Roderick W. Smith, rodsmith@rodsbooks.com

-

Originally written: 3/14/2012; last Web page update: 5/4/2012, referencing rEFInd 0.3.2

+

Originally written: 3/14/2012; last Web page update: +10/9/2016, referencing rEFInd 0.10.4

-

I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!

+

This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!

@@ -25,49 +28,82 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

+ - - - - + + -
Donate $2.50 Donate $5.00 Donate $10.00Donate $20.00 Donate another value
- + +
+ + - + + - + + + -
- + +
+ + - + + - + + + -
- + + +
+ + - + + - + + + -
- + +
+ + - + + - + + + + +
+ + + + + + + + + +
@@ -77,59 +113,90 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

- -Donate with PayPal +
+

Introduction

-

This page describes rEFInd, my fork of the rEFIt boot manager for computers based on the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Like rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below. rEFInd is not a boot loader, which is a program that loads an OS kernel and hands off control to it. Many popular boot managers, such as the Grand Unified Bootloader (GRUB), are also boot loaders, which can blur the distinction in many users' minds. rEFInd, though, relies on a separate boot loader to finish the handoff to an OS; it just presents a pretty menu and gives you options for how to proceed prior to booting an OS. All EFI-capable OSes include boot loaders, so this limitation isn't a problem. If you're using Linux, you should be aware that several EFI boot loaders are available, so choosing between them can be a challenge. See my Web page on this topic for more information.

+

This page describes rEFInd, my fork of the rEFIt boot manager for computers based on the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Like rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below. rEFInd is not a boot loader, which is a program that loads an OS kernel and hands off control to it. (Since version 3.3.0, the Linux kernel has included a built-in boot loader, though, so this distinction is rather artificial these days, at least for Linux.) Many popular boot managers, such as the Grand Unified Bootloader (GRUB), are also boot loaders, which can blur the distinction in many users' minds. All EFI-capable OSes include boot loaders, so this limitation isn't a problem. If you're using Linux, you should be aware that several EFI boot loaders are available, so choosing between them can be a challenge. In fact, the Linux kernel can function as an EFI boot loader for itself, which gives rEFInd characteristics similar to a boot loader for Linux. See my Web page on this topic for more information.

+ +
rEFInd presents a graphical menu for selecting your
+    boot OS.

+ +
-
rEFInd presents a GUI menu for selecting your boot
-    OS.

+

In theory, EFI implementations should provide boot managers. Unfortunately, in practice these boot managers are often so poor as to be useless. The worst I've personally encountered is on Gigabyte's Hybrid EFI, which provides you with no boot options whatsoever, beyond choosing the boot device (hard disk vs. optical disc, for instance). I've heard of others that are just as bad. For this reason, a good EFI boot manager—either standalone or as part of a boot loader—is a practical necessity for multi-booting on an EFI computer. That's where rEFInd comes into play.

-

In theory, EFI implementations should provide boot managers. Unfortunately, in practice these boot managers are often so poor as to be useless. The worst I've personally encountered is on Gigabyte's Hybrid EFI, which provides you with no boot options whatsoever, beyond choosing the boot device (hard disk vs. optical disc, for instance). I've heard of others that are just as bad. For this reason, a good EFI boot manager—either standalone or as part of a boot loader—is a practical necessity for multi-booting on an EFI computer. That's where rEFIt and rEFInd come into play.

+

I decided to fork the earlier rEFIt project because, although rEFIt is a useful program, it's got several important limitations, such as poor control over the boot loader detection process and an ability to display at most a handful of boot loader entries on its main screen. Christoph Pfisterer, rEFIt's author, stopped updating rEFIt with version 0.14, which was released in March of 2010. Since I forked rEFIt to rEFInd, Christoph has begun pointing rEFIt users to rEFInd as a successor project.

-

I decided to fork the earlier rEFIt project because, although rEFIt is a useful program, it's got several important limitations, such as poor control over the boot loader detection process and an ability to display at most a handful of boot loader entries on its main screen. I fixed a few of these bugs and released a patched version here; however, rEFIt's author, Christoph Pfisterer, didn't respond to my e-mails, and the latest official version of rEFIt, 0.14, was released in March of 2010. Thus, it appears that rEFIt has been abandoned. Forking the project to give rEFIt new features seemed like the thing to do.

+

As already noted, rEFInd is a boot manager for EFI and UEFI computers. (I use "EFI" to refer to either version unless the distinction is important.) You're likely to benefit from it on computers that boot multiple OSes, such as two or more of Linux, Mac OS X, and Windows. You will not find rEFInd useful on older BIOS-based computers or on systems with other types of firmware, such as older PowerPC-based Macs. Prior to mid-2011, few computers outside of Intel-based Macs used EFI; but starting in 2011, computer manufacturers began adopting UEFI in droves, so most computers bought since then use EFI. Even so, many modern PCs support both EFI-style booting and BIOS-style booting, the latter via a BIOS compatibility mode that's known as the Compatibility Support Module (CSM). Thus, you may be using BIOS-style booting on an EFI-based computer. If you're unsure which boot method your computer uses, check the first of the subsections, What's Your Boot Mode.

-

The rEFIt Web page has a distinct Mac bias, and the provided binaries work only on Macs because they're 32-/64-bit "fat" binaries, which Macs can handle but UEFI-based PCs can't. rEFIt can be recompiled to work on UEFI-based PCs, but prebuilt binaries for such systems are relatively rare. Although I do own a Mac Mini, my interest lies more on the side of standard PC hardware, and hence with UEFI. My development platform is Linux, and my installation instructions and binaries are much more platform-neutral. I'm aware that many Mac users will consider this a step backward, but I ask their indulgence; I only have so many hours a day to work on this project, and I prefer to devote my efforts to improvements that will benefit all rEFInd users, at least initially.

+

Subsequent sections of this document are on separate pages. Be aware that you probably don't need to read them all; just skip to the sections that interest you:

-

As already noted, rEFInd is a boot manager for EFI and UEFI computers. (I use "EFI" to refer to either version unless the distinction is important.) You're likely to benefit from it on computers that boot multiple OSes, such as two or more of Linux, Mac OS X, and Windows. You will not find rEFInd useful on older BIOS-based computers. Prior to mid-2011, few computers outside of Intel-based Macs used EFI; but starting in 2011, computer manufacturers began adopting UEFI in droves, so most computers bought since then use EFI. Even so, many modern PCs support both EFI-style booting and BIOS-style booting, the latter via a BIOS compatibility mode that's known as the Compatibility Support Module (CSM). Thus, you may be using BIOS-style booting on an EFI-based computer. If you're unsure which boot method your computer uses, check the first of the below subsections.

+

Note: I consider rEFInd to be beta-quality software! That said, rEFInd is a usable program in its current form on many systems. If you have problems, feel free to drop me a line.

-

Subsequent sections of this document are on separate pages:

+
+ +

References and Additional Information

@@ -143,14 +210,28 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

  • The EFI Boot Process describes, in broad strokes, how EFI systems boot.
  • -
  • A Linux kernel mailing list thread describing the new EFI stub loader that's appearing in the Linux 3.3 kernel series.
  • +
  • A Linux kernel mailing list thread describing the new EFI stub loader that was introduced in the Linux 3.3 kernel series.
  • The Arch Linux UEFI wiki page has a great deal of information on UEFI and Linux.
  • My own EFI Boot Loaders for Linux page provides information on installing and configuring several common Linux EFI boot loaders and boot managers.
  • +
  • My Linux on UEFI: A Quick Installation Guide page provides helpful tips on how to install Linux on EFI-based systems.
  • +
  • Phoenix Technologies maintains a wiki on EFI topics, including information on many EFI system calls useful to programmers.
  • +
  • Matthew J. Garrett, the developer of the shim boot loader to manage Secure Boot, maintains a blog in which he often writes about EFI issues.
  • + +
  • Adam Williamson has written a good summary of what EFI is and how it works.
  • + +
  • J. A. Watson has a review of rEFInd on an HP laptop on ZDNet. He had serious problems because of the HP's UEFI bugs, but finally got it to work.
  • + +
  • James Jesudason has a tutorial on installing Ubuntu 13.04 beta on a Macbook Retina Pro on this blog page. I'd recommend using a Linux filesystem driver to read the kernel directly from a Linux filesystem rather than copy the kernel to the OS X partition as in the tutorial, but either method will work.
  • + +
  • This blog post describes how to convert Windows from BIOS-mode to EFI-mode booting. This task is rarely necessary, but when you need it, you really need it.
  • + +
  • If you're interested in developing EFI software yourself, my Programming for EFI can help you get started.
  • +
  • Additional programs @@ -159,6 +240,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

  • The official rEFIt Web page
  • +
  • The official gummiboot Web page
  • +
  • The official ELILO Web page
  • The official GRUB Web page
  • @@ -167,6 +250,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

  • The Clover boot loader is a Hackintosh boot loader that incorporates, among other things, its own unique forks of rEFIt and of DUET (a TianoCore tool to boot UEFI on BIOS-based computers).
  • +
  • Pete Batard's efifs project aims to port GRUB's filesystem drivers to function as standalone EFI filesystem drivers. It's currently a work in progress but shows great promise, and several drivers are usable for limited purposes today.
  • +
  • Communications @@ -185,7 +270,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com


    -

    copyright © 2012 by Roderick W. Smith

    +

    copyright © 2012–2016 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.