X-Git-Url: https://code.delx.au/refind/blobdiff_plain/1dde20f5fa424bacf15aa215e7df2be69a2bdd36..ddf4d9b9c4ec448514742816534787de1c07879c:/docs/refind/installing.html diff --git a/docs/refind/installing.html b/docs/refind/installing.html index adaf573..b54a829 100644 --- a/docs/refind/installing.html +++ b/docs/refind/installing.html @@ -17,7 +17,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update: -11/8/2015, referencing rEFInd 0.10.0
+3/4/2017, referencing rEFInd 0.10.5This 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!
@@ -43,8 +43,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -58,8 +57,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -74,8 +72,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -89,8 +86,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -104,8 +100,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -118,8 +113,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com - - + @@ -138,6 +132,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.comImportant: A rEFInd zip file, when uncompressed, creates a directory called refind-version, where version is the version number. This directory includes a subdirectory called refind that holds the rEFInd binary along with another that holds documentation, as well as miscellaneous files in refind-version itself. When I refer to "the refind directory" on this page, I mean the directory with that precise name, not the refind-version directory that is its parent.
+Note: As of version 10.12 ("Sierra"), Apple has renamed its OS X OS to macOS. I continue to use "OS X" to refer to any version of this OS. I've seen reports of rEFInd not working with macOS 10.12; however, my own experience is that it works fine—with the caveat that the upgrade produces a boot coup, as described on this page of the rEFInd documentation,
+I provide RPM and Debian package files for rEFInd; and starting with version 0.8.1, I'm maintaining an Ubuntu PPA for rEFInd. If you have a working RPM-based or Debian-based Linux installation that boots in EFI mode, using one of these files is likely to be the easiest way to install rEFInd: You need only download the file and issue an appropriate installation command. In some cases, double-clicking the package in your file manager will install it. If that doesn't work, a command like the following will install the RPM on an RPM-based system:
-# rpm -Uvh refind-0.10.0-1.x86_64.rpm+
# rpm -Uvh refind-0.10.4-1.x86_64.rpm
On a Debian-based system, the equivalent command is:
-# dpkg -i refind_0.10.0-1_amd64.deb+
# dpkg -i refind_0.10.4-1_amd64.deb+ +
Warning: Ubuntu 16.04's sbsigntool package has a bug that causes the sbsign utility to crash randomly. (See this bug report for details.) When installing Ubuntu with Secure Boot active from the PPA, this bug will be triggered and is likely to prevent successful installation. Therefore, I recommend you disable Secure Boot or install from the Debian package (with the sbsigntool package uninstalled) to avoid this problem. This bug does not exist in Ubuntu 15.10 and earlier.
Either command produces output similar to that described for using the refind-install script, so you can check it for error messages and other signs of trouble. The package file installs rEFInd and registers it with the EFI to be the default boot loader. The script that runs as part of the installation process tries to determine if you're using Secure Boot, and if so it will try to configure rEFInd to launch using shim; however, this won't work correctly on all systems. Ubuntu 12.10 users who are booting with Secure Boot active should be wary, since the resulting installation will probably try to use Ubuntu's version of shim, which won't work correctly with rEFInd. The shim program provided with more recent versions of Ubuntu should work correctly.
@@ -241,7 +231,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com $ sudo apt-get update $ sudo apt-get install refind -The PPA version will update automatically with your other software, which you might or might not want to have happen. It's also built with GNU-EFI rather than with TianoCore. This last detail should have no practical effects, but it might be important if you've got a buggy EFI or if there's some undiscovered rEFInd bug that interacts with the build environment.
+Warning: I know of one bug with the version of rEFInd built with GNU-EFI: On my 32-bit Mac Mini, the filesystem drivers hang when launched. This can render the system unbootable until you bypass rEFInd. This bug does not manifest when running the same binaries under a 32-bit VirtualBox, and I've never run into it on any 64-bit system (including a 64-bit MacBook Air). Debugging suggests that a function is being entered mid-function, which implies a bug in the EFI or in the development tools. In any event, the bottom line is to not use the PPA on a 32-bit Mac.
+ +The PPA version asks if you want to install rEFInd to your ESP. (Chances are you want to respond affirmatively.) The PPA version will update automatically with your other software, which you might or might not want to have happen. It's also built with GNU-EFI rather than with TianoCore. This last detail should have no practical effects, but it might be important if you've got a buggy EFI or if there's some undiscovered rEFInd bug that interacts with the build environment.
Since version 0.6.3, the installation script makes an attempt to install rEFInd in a bootable way even if you run the script from a BIOS-mode boot, and therefore the RPM and Debian packages do the same. I cannot guarantee that this will work, though, and even if it does, some of the tricks that refind-install uses might not persist for long. You might therefore want to use mvrefind to move your rEFInd installation to another name after you boot Linux for the first time from rEFInd.
@@ -252,11 +244,7 @@ $ sudo apt-get install refindNote: If you're using a Macintosh, it's best to install rEFInd from OS X, if possible. In the past, the Mac's firmware was quirky enough that the Linux tools didn't always work reliably. The matter seems to have improved with recent versions of Linux tools, but I can't guarantee success if you use Linux for this task. There is one significant issue with OS X 10.11, though (see the next Warning sidebar).
-If you're using Linux or Mac OS X, the easiest way to install rEFInd is to use the refind-install script. This script automatically copies rEFInd's files to your ESP or other target location and makes changes to your firmware's NVRAM settings so that rEFInd will start the next time you boot. If you've booted to OS X or in non-Secure-Boot EFI mode to Linux on a UEFI-based PC, refind-install will probably do the right thing, so you can get by with the quick instructions. If your setup is unusual, if your computer uses Secure Boot, or if you want to create a USB flash drive with rEFInd on it, you should read the extra instructions for this utility.
- - -If you're using Linux or Mac OS X, the easiest way to install rEFInd is to use the refind-install script. This script automatically copies rEFInd's files to your ESP or other target location and makes changes to your firmware's NVRAM settings so that rEFInd will start the next time you boot. If you've booted to OS X or in non-Secure-Boot EFI mode to Linux on a UEFI-based PC, refind-install will probably do the right thing, so you can get by with the quick instructions. If your setup is unusual, if your computer uses Secure Boot, or if you want to create a USB flash drive with rEFInd on it, you should read the man page for this utility.
Warning: OS X 10.11 ("El Capitan") implements a new feature called System Integrity Protection (SIP; aka "rootless" or "CSR"). When enabled, SIP prevents the final step of rEFInd installation—registering the boot loader with the firmware. Thus, to install rEFInd, you must either disable SIP or perform the installation from something other than your regular OS X installation. The rEFInd and System Integrity Protection page of this document describes the options.
@@ -296,12 +284,6 @@ Copied rEFInd binary files Copying sample configuration file as refind.conf; edit this file to configure rEFInd. - -WARNING: If you have an Advanced Format disk, *DO NOT* attempt to check the -bless status with 'bless --info', since this is known to cause disk corruption -on some systems!! - - Installation has completed successfully. Unmounting install dir @@ -310,167 +292,7 @@ Unmounting install dirNote that the change to an ESP location for rEFInd with version 0.8.4 means that, if you upgrade rEFInd from an earlier version, you may notice a rEFInd boot option in the rEFInd menu. This option will boot the old version of rEFInd (or the new one, if something went wrong and the old version continues to boot). You can rid yourself of the unwanted boot menu by deleting the old files or by using dont_scan_dirs or dont_scan_files in refind.conf. Before you do this, you should use rEFInd to identify the unwanted files—the filename and volume identifier appear under the icons when you highlight the option. You can then locate and delete them from within OS X. Before you delete the old files, though, you may want to copy over any changes you've made to the rEFInd configuration, icons, and other support files.
- -Some details that can affect how the script runs include the following:
- -In addition to these quirks, you should be aware of some options that refind-install supports to enable you to customize your installation in various ways. The syntax for refind-install is as follows:
- --refind-install [--notesp | --usedefault device-file | --root mount-point | \ - --ownhfs device-file ] [--keepname ] \ - [--nodrivers | --alldrivers] [--shim shim-filename] [--localkeys] [--yes] -- -
The details of the options are summarized in Table 1. Broadly speaking, they come in four classes: installation location options (--notesp, --usedefault, and --root), driver options (--nodrivers and --alldrivers), Secure Boot options (--shim and --localkeys), and a user input option (--yes). Using some of these options in unusual conditions can generate warnings and prompts to confirm your actions. In particular, using --shim or --localkeys when you're not booted in Secure Boot mode, or failing to use --shim when you are booted in Secure Boot mode, will generate a query and a request to confirm your installation. Consult the Managing Secure Boot page for more on this topic.
- -Option | -Explanation | -
---|---|
--notesp | -This option, which is valid only under OS X, tells refind-install to install rEFInd to the OS X root partition rather than to the ESP. This behavior was the default in rEFInd 0.8.3 and earlier, so you may want to use it when upgrading installations of that version, unless you used --esp (which is now the default behavior, although the --esp option no longer exists) or --ownhfs. You may also want to use --notesp on new installations if you're sure you're not using whole-disk encryption or logical volumes. | -
--usedefault device-file | -You can install rEFInd to a disk using the default/fallback filename of EFI/BOOT/bootx64.efi (and EFI/BOOT/bootia32.efi, if the 32-bit build is available) using this option. The device-file should be an unmounted ESP, or at least a FAT partition, as in --usedefault /dev/sdc1. Your computer's NVRAM entries will not be modified when installing in this way. The intent is that you can create a bootable USB flash drive or install rEFInd on a computer that tends to "forget" its NVRAM settings with this option. This option is mutually exclusive with --notesp and --root. | -
--ownhfs device-file | -This option should be used only under OS X. It's used to install rEFInd to an HFS+ volume other than a standard Mac boot volume. The result should be that rEFInd will show up in the Mac's own boot manager. More importantly, suspend-to-RAM operations may work correctly. Note that this option requires an HFS+ volume that is not currently an OS X boot volume. This can be a data volume or a dedicated rEFInd partition. The ESP might also work, if it's converted to use HFS+. | -
--root /mount-point | -This option is intended to help install rEFInd from a "live CD" or other emergency system. To use it, you should mount your regular installation at /mount-point, including your /boot directory (if it's separate) at /mount-point/boot and (on Linux) your ESP at that location or at /mount-point/boot/efi. The refind-install script then installs rEFInd to the appropriate location—on Linux, /mount-point/boot/EFI/refind or /mount-point/boot/efi/EFI/refind, depending on where you've mounted your ESP. Under OS X, this option is only useful in conjunction with --notesp, in which case rEFInd will install to /mount-point/EFI/refind. The script also adds an entry to your NVRAM for rEFInd at this location. You cannot use this option with --usedefault. Note that this option is not needed when doing a dual-boot Linux/OS X installation; just install normally in OS X. | -
--nodrivers | -Ordinarily refind-install attempts to install the driver required to read /boot on Linux. This attempt works only if you're using ext2fs, ext3fs, ext4fs, or ReiserFS on the relevant partition. If you want to forego this driver installation, pass the --nodrivers option. This option is the implicit when you use --usedefault. | -
--alldrivers | -When you specify this option, refind-install copies all the driver files for your architecture. You may want to remove unused driver files after you use this option, especially if your computer uses Secure Boot. Note that some computers hang or fail to work with any drivers if you use this option, so use it with caution. | -
--shim shim-filename or --preloader preloader-filename | -If you pass this option to refind-install, the script will copy the specified shim program file to the target directory, copy the MokManager.efi file from the shim program file's directory to the target directory, copy the 64-bit version of rEFInd as grubx64.efi, and register shim with the firmware. (If you also specify --usedefault, the NVRAM registration is skipped. If you also use --keepname, the renaming to grubx64.efi is skipped.) When the target file is identified as PreLoader, much the same thing happens, but refind-install copies HashTool.efi instead of MokManager.efi and copies rEFInd as loader.efi rather than as grubx64.efi. The intent is to simplify rEFInd installation on a computer that uses Secure Boot; when so set up, rEFInd will boot in Secure Boot mode, with one caveat: The first time you boot, MokManager/HashTool will launch, and you must use it to locate and install a public key or register rEFInd as a trusted application. The rEFInd public key file will be located in the rEFInd directory's keys subdirectory under the name refind.cer. Note that I'm not providing a shim binary myself, but you can download one from here. Some distributions also provide their own shim programs, so can point to them—for instance, in /boot/efi/EFI/fedora/shim.efi. | -
--localkeys | -This option tells refind-install to generate a new Machine Owner Key (MOK), store it in /etc/refind.d/keys as refind_local.*, and re-sign all the 64-bit rEFInd binaries with this key before installing them. This is the preferable way to install rEFInd in Secure Boot mode, since it means your binaries will be signed locally rather than with my own key, which is used to sign many other users' binaries; however, this method requires that both the openssl and sbsign binaries be installed. The former is readily available in most distributions' repositories, but the latter is not, so this option is not the default. | -
--keepname | -This option is useful only in conjunction with --shim. It tells refind-install to keep rEFInd's regular filename (typically refind_x64.efi) when used with shim, rather than rename the binary to grubx64.efi. This change cuts down on the chance of confusion because of filename issues; however, this feature requires that shim be launched with a command-line parameter that points to the rEFInd binary under its real name. versions of shim prior to 0.7 do not properly support this feature. (Version 0.4 supports it but with a buggy interpretation of the follow-on loader specification.) If your NVRAM variables become corrupted or are forgotten, this feature may make rEFInd harder to launch. This option is incompatible with --usedefault and is unavailable when run under OS X or without the --shim option. If the script discovers an existing rEFInd installation under EFI/BOOT or EFI/Microsoft/Boot and no other rEFInd installation when this option is used, it will abort. | -
--yes | -This option causes the script to assume a Y input to every yes/no prompt that can be generated under certain conditions, such as if you specify --shim but refind-install detects no evidence of a Secure Boot installation. This option is intended mainly for use by scripts such as those that might be used as part of an installation via an RPM or Debian package. | -
After you run refind-install, you should peruse the script's output to ensure that everything looks OK. refind-install displays error messages when it encounters errors, such as if the ESP is mounted read-only or if you run out of disk space. You may need to correct such problems manually and re-run the script. In some cases you may need to fall back on manual installation, which gives you better control over details such as which partition to use for installation.
+The refind-install script supports a number of options that can affect how it operates. For information on these options, consult the script's man page: Type man refind-install if you installed rEFInd via an RPM or Debian package; or read it in HTML form.
The easiest way to restore the standard OS X boot loader on a Mac is not to uninstall rEFInd; it's to bypass it. This can be accomplished with the Startup Disk item in the System Preferences panel:
-Select your startup disk (Macintosh HD OS X, 10.10.1 in this example) and then click Restart. The computer should reboot into OS X, bypassing rEFInd.
+Select your startup disk (Macintosh HD OS X, 10.11.3 in this example) and then click Restart. The computer should reboot into OS X, bypassing rEFInd.
I recommend stopping here, because the procedure for completely removing rEFInd from a Mac depends on your installation method and tends to be challenging for many Mac users, who are unfamiliar with the necessary command-line tools. Basically, you must reverse the steps described earlier, in Installing rEFInd Manually Using Mac OS X:
@@ -1266,7 +1094,7 @@ may work, although I've not attempted this.copyright © 2012–2015 by Roderick W. Smith
+copyright © 2012–2017 by Roderick W. Smith
This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.
@@ -1274,7 +1102,7 @@ may work, although I've not attempted this. -Comments on rEFInd and OS X 10.10 (Yosemite)
+Preventing and Repairing Boot Coups
Return to my main Web page.