]> code.delx.au - refind/blobdiff - docs/refind/installing.html
Modified install.sh script to include "--usedefault" and "--drivers"
[refind] / docs / refind / installing.html
index 5c71b28c29e7f495ecb0188e84b12c9b8583799d..57dcf0b0210e867940970eb09591a3c53261ef3b 100644 (file)
@@ -15,7 +15,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-8/12/2012, referencing rEFInd 0.4.5</p>
+11/7/2012, referencing rEFInd 0.4.7</p>
 
 
 <p>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!</p>
@@ -159,7 +159,7 @@ Installation has completed successfully.</pre>
     the Terminal window. You'll need to press the Return or Enter key to
     run the script.</li>
 
-<li>Under OS X, passing the "esp" option causes the script to install
+<li>Under OS X, passing the "--esp" option causes the script to install
     rEFInd to the ESP. The script finds the first ESP that's identified by
     the <tt>diskutil</tt> program and, if it's not already mounted, mounts
     it to install rEFInd. Thus, it's conceivable that <tt>install.sh</tt>
@@ -168,7 +168,7 @@ Installation has completed successfully.</pre>
     may need to re-install manually.</li>
 
 <li>If you're using OS X 10.7's Whole Disk Encryption (WDE) feature, you
-    <i>must</i> install rEFInd to the ESP, so the <tt>esp</tt> option to
+    <i>must</i> install rEFInd to the ESP, so the <tt>--esp</tt> option to
     <tt>install.sh</tt> is required. I'm still a little bit foggy about
     what's required to boot the system once this is done; see <a
     href="https://sourceforge.net/p/refind/discussion/general/thread/5c7d0195/">this
@@ -198,6 +198,25 @@ Installation has completed successfully.</pre>
     script's output. (Note that rEFInd can only boot such OSes on Macs at
     the moment.)</li>
 
+<li>Under both Linux and OS X, you can add the <tt>--drivers</tt> option to
+    have <tt>install.sh</tt> install all the filesystem drivers along with
+    the main rEFInd program. (The default is to <i>not</i> install any
+    drivers.)</li>
+
+<li>Under both Linux and OS X, you can add the <tt>--usedefault <tt
+    class="variable">devicepath</tt></tt> option to install rEFInd to the
+    specified device as <tt>EFI/BOOT/bootx64.efi</tt> and
+    <tt>EFI/BOOT/bootia32.efi</tt>. The specified device must be a valid
+    FAT partition. The idea is that you can easily create a bootable USB
+    flash drive with this option: Create a proper FAT-formatted ESP on a
+    disk (say, <tt>/dev/sdd1</tt>) and then type <tt class="userinput">sh
+    ./install --usedefault /dev/sdd1</tt> to turn the disk into an
+    emergency disk. This option can also be used to install rEFInd to an
+    ESP using the <a href="#naming">alternative naming options</a>
+    described later. This latter usage will result in a bootable rEFInd
+    only if no other OS has already created an NVRAM variable pointing to
+    itself.</li>
+
 </ul>
 
 <p>In any event, you should peruse the script's output to ensure that everything looks OK. <tt>install.sh</tt> 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.</p>
@@ -232,6 +251,8 @@ Filesystem     1K-blocks  Used Available Use% Mounted on
 
 <li>Rename the configuration file by typing <tt><b>mv refind.conf-sample refind.conf</b></tt>. Consult the <a href="configfile.html">Editing the rEFInd Configuration File</a> page for information on how to adjust your options.</li>
 
+<p class="sidebar"><b>Weird:</b> I've received one report about a Lenovo computer that works only if rEFInd is installed using the name (<tt>-L</tt> parameter) <tt>Windows Boot Manager</tt> and the existing Windows boot loader, if present, is renamed.</p>
+
 <a name="efibootmgr">
 <li>On a UEFI-based system, type <tt><b>efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd</b></tt> to add rEFInd to your EFI's list of available boot loaders, which it stores in NVRAM. (Adjust the path to the binary as required if you install somewhere else.) You may need to install this program on some systems; it's a standard part of most distributions' repositories.</li>
 </a>
@@ -327,6 +348,12 @@ $ <b>ioreg -l -p IODeviceTree | grep firmware-abi</b>
     unless you're certain you do <i>not</i> have an Advanced Format hard
     disk.</li>
 
+<li>If you don't want to reboot immediately after installing rEFInd, you
+    may optionally unmount the ESP by typing <tt class="userinput">sudo
+    umount /dev/disk0s1</tt> or <tt class="userinput">sudo umount
+    /Volumes/esp</tt>. This step isn't strictly required, but if you want
+    to keep the ESP out of your directory tree, it can be useful.</li>
+
 </ol>
 
 <p>When you reboot, your Mac should bring up the rEFInd menu, and should continue to do so thereafter. If you make changes that break this association, you can re-run the <tt>bless</tt> command (if necessary, restoring the rEFInd files first). This might be necessary after installing system updates from Apple or if you upgrade rEFInd to a newer version.</p>
@@ -401,6 +428,8 @@ $ <b>ioreg -l -p IODeviceTree | grep firmware-abi</b>
 
 <p>When you reboot, rEFInd should come up. With any luck, it will detect your old boot loader as an option, if one was installed before.</p>
 
+<p>If your computer seems to insist on booting an EFI boot loader called <tt>EFI/Microsoft/BOOT/bootmgfw.efi</tt>, be aware that it might not actually be looking for that filename, but for a boot manager with the EFI description <tt>Microsoft Boot Manager</tt>. Changing the description of the "real" <tt>EFI/Microsoft/BOOT/bootmgfw.efi</tt> using <tt>efibootmgr</tt> and then giving rEFInd that description, even when rEFInd is installed in a more conventional location, may work. I've received a report that at least one Lenovo model has this peculiar affliction.</p>
+
 <a name="upgrading">
 <h2>Upgrading rEFInd</h2>
 </a>
@@ -481,6 +510,24 @@ $ <b>ioreg -l -p IODeviceTree | grep firmware-abi</b>
 
 <p>I've seen links to other versions of these tools from time to time on the Web, so if you try one of these programs and it crashes or behaves strangely, try performing a Web search; you may turn up something that works better for you than the one to which I've linked.</p>
 
+<a name="sluggish">
+<h2>Fixing a Sluggish Macintosh Boot</h2>
+</a>
+
+<p>I've received a few reports of a sluggish boot process (a delay of about 30 seconds before starting rEFInd) on some Macs after installing rEFInd. I've been unable to replicate this problem myself, and its true cause remains mysterious to me. I have found <a href="http://ubuntuforums.org/showpost.php?p=12256273&postcount=200">a Web forum post</a> describing a possible fix. Be aware, though, that this procedure involves using the <tt>efibootmgr</tt> utility on Macs, which has been known to damage the firmware on some Macs. Other reports indicate that this problem has been fixed with 3.3.0 and later kernels. Thus, I present this information cautiously and with a strong "use at your own risk" warning. If you care to proceed, I recommend you update your Linux kernel to the latest possible version and then proceed as follows:</p>
+
+<ol>
+
+<li>Boot into Linux.</li>
+
+<li>Type <tt class="userinput">efibootmgr</tt> as <tt>root</tt> to obtain a list of your boot loader entries. Each entry includes a boot number, as in <tt>Boot0003</tt> or <tt>Boot0027</tt>.</li>
+
+<li>Remove all of the boot loader entries <i>except</i> rEFInd's by using <tt>efibootmgr</tt>'s <tt>-b <tt class="variable">bootnum</tt></tt> option to specify the boot entry and <tt>-B</tt> to delete it. For instance, typing <tt class="userinput">efibootmgr -b 0027 -B</tt> as <tt>root</tt> deletes boot entry <tt>Boot0027</tt>. Issue a separate <tt>efibootmgr</tt> command for each boot entry.</li>
+
+<li>Re-install rEFInd using the install script. It's unclear from the original post if this meant installing from Linux or from OS X.</li>
+
+</ol>
+
 <hr />
 
 <p>copyright &copy; 2012 by Roderick W. Smith</p>