]> code.delx.au - refind/blobdiff - docs/refind/using.html
Version 0.9.2 release
[refind] / docs / refind / using.html
index 42b43543462ac75fb245a4cd0c8439486b31a060..a873a15340a445dbe4a134e918a4f6208c73f468 100644 (file)
@@ -8,6 +8,8 @@
   <link href="../Styles/styles.css" rel="stylesheet" type="text/css" />
 </head>
 
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
 <body>
   <h1>The rEFInd Boot Manager:<br />Using rEFInd</h1>
 
@@ -15,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-7/6/2014, referencing rEFInd 0.8.3</p>
+9/19/2015, referencing rEFInd 0.9.2</p>
 
 
 <p>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>
@@ -148,6 +150,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <li class="tight"><a href="#legacy">Booting Legacy OSes</a></li>
 
+<li class="tight"><a href="#delays">Reducing Startup Delays</a></li>
+
 </ul>
 
 </div>
@@ -164,17 +168,21 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     height="552" alt="rEFInd presents a GUI menu for selecting your boot
     OS." border=2 /></center> <br />
 
-<p>If you don't press any key before the timeout (shown below the icons and description line) expires, the default boot loader will launch. This is normally the item that you launched the last time rEFInd ran, but you can adjust the default by editing the configuration file. (In this example, it's the Ubuntu Linux loader, which is further identified by text above the timeout as <i>vmlinuz-3.5.0-27-generic from UBUNTU BOOT</i>.)</p>
+<p>If you don't press a key before the timeout expires, the default boot loader will launch. (The timeout is shown beneath the description line until you press a key&mdash;note that it's absent from the preceding screen shot.) This is normally the item that you launched the last time rEFInd ran, but you can adjust the default by editing the configuration file. (In this example, it's the Ubuntu Linux loader, which is further identified by text as <i>boot\vmlinuz-3.16.0-31-generic.efi.signed from 49 GiB ext4 volume</i>.)</p>
 
-<p>This display is dominated by the central set of OS <i>tags</i> (icons), which in this example includes tags for an unknown boot loader, OS X, Windows, and Ubuntu. All but the first of these are on hard disks, but the unknown boot loader is on an optical disc, as revealed by the small icons (known as <i>badges</i>) in the lower-right corner of the OS icons.</p>
+<p>This display is dominated by the central set of OS <i>tags</i> (icons), which in this example includes tags for Windows, OS X, Ubuntu, and an unknown Linux distribution. All but the last of these are on hard disks, but the unknown Linux boot loader is on an optical disc, as revealed by the small icons (known as <i>badges</i>) in the lower-right corner of the OS icons.</p>
 
-<p>In this example, the Ubuntu tag is selected. You can move the selection left by pressing the left arrow key and right by pressing the right arrow key. If your system has many boot loaders, an arrow icon will appear to the right and/or left of the boot loader list, indicating that the boot loader list will scroll when you move off the edge. (Such arrows are visible to the right and left in the sample screen.) You can scroll the list by one line full of icons by using the Page Up or Page Down keys to move left and right, respectively. Moving past the final selection or using the down arrow key moves the selection to the second row of small tags, which launch ancillary programs or perform special actions. If you've moved the selection cursor to the second row, pressing the up arrow key or scrolling past the left edge of the second row moves the cursor to the top row. In this figure, these five tags are present:</p>
+<p>In this example, the Ubuntu tag is selected. You can move the selection left by pressing the left arrow key and right by pressing the right arrow key. If your system has many boot loaders, an arrow icon will appear to the right and/or left of the boot loader list, indicating that the boot loader list will scroll when you move off the edge. (Such an arrow is visible to the right in the sample screen.) You can scroll the list by one line full of icons by using the Page Up or Page Down keys to move left and right, respectively. Moving past the final selection or using the down arrow key moves the selection to the second row of small tags, which launch ancillary programs or perform special actions. If you've moved the selection cursor to the second row, pressing the up arrow key or scrolling past the left edge of the second row moves the cursor to the top row. In this figure, these six tags are present:</p>
 
 <ul>
 
 <li>Launch the EFI shell</li>
 
-<li>Launch the tool to create a hybrid MBR (<tt>gptsync</tt>)
+<li>Launch the tool to partition a disk (<tt>gptsync</tt> or
+    <tt>gdisk</tt>)</li>
+
+<li>Launch a tool to edit Secure Boot keys (<tt>MokManager</tt>,
+    <tt>HashTool</tt>, or <tt>KeyTool</tt>)
 
 <li>Produce an information page</li>
 
@@ -184,7 +192,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 </ul>
 
-<p>By default, the options to display an information page, shutdown the computer, and reboot the computer are present. Options to launch a shell, launch the Apple recovery utility, and launch the Machine Owner Key (MOK) utility will also appear automatically if these utilities are installed. Options to launch the hybrid MBR tool and to exit from rEFInd are not displayed by default; you must edit the configuration file to enable these features, or to disable those that are displayed by default.</p>
+<p>By default, the options to display an information page, shutdown the computer, and reboot the computer are present. Options to launch a shell, launch <tt>gdisk</tt>, launch a memory test utility, launch the Apple recovery utility, launch the Windows recovery utility, and launch a Secure Boot key management utility will also appear automatically if these utilities are installed. The tag to reboot into the firmware appears if your firmware supports this feature. Options to launch the hybrid MBR tool (<tt>gptsync</tt>) and to exit from rEFInd are not displayed by default; you must edit the configuration file to enable these features, or to disable those that are displayed by default if you don't want them.</p>
 
 <p>To launch an OS or utility, you should select its tag and then press the Enter key or the space bar.</p>
 
@@ -192,7 +200,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Ordinarily, rEFInd displays tags for OSes it finds on internal hard disks, external hard disks (including USB flash drives, CF disks, and so on), and optical discs. Sometimes, though, the firmware hasn't had time to fully examine these devices by the time rEFInd starts; or you might only insert or plug in the media after rEFInd appears. In these cases, you can press the Esc key to have rEFInd re-read its configuration file and re-scan your media for boot loaders. This action can take a few seconds to complete, so be patient. You can also use this feature to detect OSes if you launch a shell and use it to load a driver or edit the <tt>refind.conf</tt> file. If you regularly need to press Esc, you might look into the <tt>scan_delay</tt> configuration file option, described on the <a href="configfile.html">Configuring the Boot Manager</a> page.</p>
 
-<p>On some computers, the firmware doesn't mount external USB media unless you adjust a firmware option or use the EFI's own boot manager prior to launching rEFInd. If you don't see external media appear in rEFInd's list, consult your computer's manual or examine its firmware to locate a relevant option.</p>
+<p>On some computers, the firmware doesn't mount external USB media unless you adjust a firmware option or use the EFI's own boot manager prior to launching rEFInd. If you don't see external media appear in rEFInd's list, consult your computer's manual or examine its firmware to locate a relevant option. This option is often called <i>fast boot</i> or something similar; when enabled, the computer doesn't activate most USB devices because doing so takes a second or two.</p>
 
 <a name="boot_options">
 <h2>Adjusting Boot Options</h2>
@@ -266,7 +274,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 </tr>
 <tr>
    <td><i>F10</i></td>
-   <td>Saves an image of the current screen in the file <tt>screenshot_<tt class="variable">###</tt>.bmp</tt>, where <tt class="variable">###</tt> is a sequence number starting with <tt>001</tt>, in the ESP's root directory</td>
+   <td>Saves an image of the current screen in the file <tt>screenshot_<tt class="variable">###</tt>.bmp</tt>, where <tt class="variable">###</tt> is a sequence number starting with <tt>001</tt>, in the EFI System Partition's (ESP's) root directory</td>
 </tr>
 <tr>
    <td><i>F12</i> or (on some keyboards) <i>Eject</i></td>
@@ -346,9 +354,39 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>On both PCs and Macs, if you see non-functional legacy boot options, you can remove them by using the <tt>dont_scan_volumes</tt> token in <tt>refind.conf</tt>: Add any substring from the description that appears when you highlight the non-functional option to the set of options to have rEFInd ignore that entry. (Note that you must provide a complete volume name when excluding EFI volumes from scanning. The legacy-mode exclusion operation is more flexible in this regard.)</p>
 
+<a name="delays">
+<h2>Reducing Startup Delays</h2>
+</a>
+
+<p>You may discover that rEFInd takes a while to appear on the screen compared to other boot managers and boot loaders. Ultimately, the reason is that rEFInd is doing more&mdash;it's reading more filesystems, scanning for bootable files, and so on. In most cases, rEFInd takes just a second or two longer than other boot loaders, but I've heard of (and seen) much longer delays on computers that are configured sub-optimally. Some things you can do to reduce these delays include:</p>
+
+<ul>
+
+<li><b>Remove unnecessary drivers</b>&mdash;Simply loading a driver takes a certain amount of time, and if a filesystem driver finds a filesystem to read, rEFInd will spend time scanning that filesystem for bootable files. If there are no such files, or if you're not using them, then this is wasted time. Thus, you should check the <tt>drivers</tt>, <tt>drivers_x64</tt>, or other architecture-specific drivers subdirectory to be sure it doesn't hold unnecessary drivers.</li>
+
+<li><b>Use FAT for <tt>/boot</tt></b>&mdash;This tip is a corollary of the preceding one. If you use rEFInd to boot the Linux kernel directly, and if you rely on a driver to read the Linux kernel, then you'll have to live with the time to load the driver and to scan at least one extra filesystem. If you mount your ESP at <tt>/boot</tt>, or even if you create a separate FAT <tt>/boot</tt> partition, you'll save a little time. Note, however, that most Linux distributions don't allow you to install to a system with a FAT <tt>/boot</tt> partition, so you may need to set this up after doing your initial installation. If you see symbolic links in <tt>/boot</tt>, be wary; your distribution may rely upon them, and because FAT doesn't support symbolic links, this action may cause problems when upgrading kernels. On Macs, you can use HFS+ for this purpose, since Apple's EFI implementation includes an HFS+ driver.</li>
+
+<li><b>Minimize the number of scanned filesystems</b>&mdash;There's overhead associated with every additional filesystem rEFInd scans. Thus, if you have, say, separate ext4fs root (<tt>/</tt>), <tt>/boot</tt>, <tt>/usr</tt>, <tt>/home</tt>, and <tt>/var</tt> filesystems, and if you install rEFInd's ext4fs driver, rEFInd will end up scanning at least six filesystems (counting the FAT ESP), although only one of those has Linux kernels. You can use FAT for <tt>/boot</tt> and remove the ext4fs driver to speed up the boot process, as just described; but if you prefer to avoid the downsides of that action, you can switch <tt>/boot</tt> to some other filesystem, such as ext2fs or ReiserFS. This plan will reduce the number of filesystems to be scanned and improve boot time. Alternatively, if you re-install Linux, you can reduce the number of partitions or use LVM (which rEFInd can't read) for all of your filesystems except for <tt>/boot</tt>.</li>
+
+<li><b>Use a speedier filesystem</b>&mdash;In my tests, rEFInd's ReiserFS driver is the fastest and ext2fs is the slowest, with Btrfs and ext4fs falling in-between these two. The difference is trivial on some computers but it's noticeable on others. Filesystem speed differences are more likely to be noticeable in the time it takes to boot the OS; rEFInd's own startup time is less likely to be affected by a filesystem change.</li>
+
+<li><b>Use a speedier driver</b>&mdash;rEFInd 0.7.0 introduced a read-ahead cache in its filesystem drivers, which greatly improved their speed on some systems. If you're using an older driver, try using a newer one. Pete Batard's <a href="https://github.com/pbatard/efifs">efifs drivers</a> are an alternative to rEFInd's drivers. The efifs drivers are still very new and rapidly changing. My initial impression is that some of them are quite speedy, but others are very slow.</li>
+
+<li><b>Delete or move files and directories</b>&mdash;By default, rEFInd scans the root (<tt>/</tt>) directory, <tt>/boot</tt>, and most subdirectories of <tt>/EFI</tt> on every partition that it scans. If these locations exist but contain no bootable files, they'll just slow rEFInd down. Likewise, if you use <tt>dont_scan_files</tt> to keep unused boot loaders out of the menu, rEFInd will still do much of the work of scanning those files. In all of these cases, deleting or moving the directories or files that are being scanned but that don't contain bootable options you want to see can speed things up.</li>
+
+<li><b>Use the <tt>also_scan_dirs</tt> option sparingly</b>&mdash;Using <tt>also_scan_dirs</tt> is useful in some situations, but it does add to rEFInd's task list. Use it only if you must.</li>
+
+<li><b>Reduce the <tt>scanfor</tt> list</b>&mdash;Removing items from the <tt>scanfor</tt> list in <tt>refind.conf</tt> can speed things up a bit. This is especially true on Macs, which scan for BIOS-mode boot loaders by default. If you never boot a Mac in BIOS mode, try uncommending <tt>scanfor</tt> and ensure that the <tt>hdbios</tt>, <tt>biosexternal</tt>, and <tt>cd</tt> options are <i>not</i> present. The <tt>external</tt> and <tt>optical</tt> items won't add delays <i>unless</i> the relevant media are inserted, which brings us to....</li>
+
+<li><b>Don't boot with removable media attached (unless you intend to boot from them)</b>&mdash;If you insert an optical disc into your drive or plug in a removable device like a USB flash drive, rEFInd will attempt to scan it. This will slow down rEFInd's startup process, so you shouldn't make a habit of booting with such media inserted. In fact, there's another reason not to boot with external media attached: If such a medium is infected with malware, and if your firmware is configured to boot from external media first, you'll end up running the malware, possibly infecting your computer.</li>
+
+</ul>
+
+<p>I hope these tips will help you to overcome any speed problems you're experiencing. As I said, rEFInd is reasonably fast on many computers, so you might not run into problems in the first place. If you do, though, reducing rEFInd's workload can help.</p>
+
 <hr />
 
-<p>copyright &copy; 2012&ndash;2014 by Roderick W. Smith</p>
+<p>copyright &copy; 2012&ndash;2015 by Roderick W. Smith</p>
 
 <p>This document is licensed under the terms of the <a href="FDL-1.3.txt">GNU Free Documentation License (FDL), version 1.3.</a></p>