<td><tt>internal</tt>, <tt>external</tt>, <tt>optical</tt>, <tt>hdbios</tt>, <tt>biosexternal</tt>, <tt>cd</tt>, and <tt>manual</tt></td>
<td>Tells rEFInd what methods to use to locate boot loaders. The <tt>internal</tt>, <tt>external</tt>, and <tt>optical</tt> parameters tell rEFInd to scan for EFI boot loaders on internal, external, and optical (CD, DVD, and Blu-ray) devices, respectively. The <tt>hdbios</tt>, <tt>biosexternal</tt>, and <tt>cd</tt> parameters are similar, but scan for BIOS boot loaders. (Note that the BIOS options are likely to be useless on UEFI PCs.) The <tt>manual</tt> parameter tells rEFInd to scan the configuration file for manual settings. You can specify multiple parameters to have the program scan for multiple boot loader types. When you do so, the order determines the order in which the boot loaders appear in the menu. The default is <tt>internal, external, optical</tt>.</td>
</tr>
+<tr>
+ <td><tt>scan_delay</tt></td>
+ <td>Numeric (integer) value</td>
+ <td>Imposes a delay before rEFInd scans for disk devices. Ordinarily this is not necessary, but on some systems, some disks (particularly external drives and optical discs) can take a few seconds to become available. If some of your disks don't appear when rEFInd starts but they <i>do</i> appear when you press the Esc key to re-scan, try uncommenting this option and setting it to a modest value, such as <tt>2</tt>, <tt>5</tt>, or even <tt>10</tt>. The default is <tt>0</tt>.</td>
+</tr>
<tr>
<td><tt>also_scan_dirs</tt></td>
<td>directory path(s)</td>
<li>The ability to re-scan boot loaders, to assist when changing removable media or after making a change to the configuration file with an EFI shell (as of version 0.3.5).</li>
+<li>A configurable delay before scanning for boot loaders, for systems on which there's a delay before disks become available (as of version 0.4.6).</li>
+
<li>The ability to specify an additional icon storage directory, to assist in efforts to customize rEFInd's appearance (as of version 0.3.4).</li>
<li>The ability to set the screen's resolution, within limits imposed by the EFI (as of rEFInd 0.3.0).</li>
#
#scanfor internal,external,optical,manual
+# Delay for the specified number of seconds before scanning disks.
+# This can help some users who find that some of their disks
+# (usually external or optical discs) aren't detected initially,
+# but are detected after pressing Esc.
+#
+#scan_delay 5
+
# When scanning volumes for EFI boot loaders, rEFInd always looks for
# Mac OS X's and Microsoft Windows' boot loaders in their normal locations,
# and scans the root directory and every subdirectory of the /EFI directory
GlobalConfig.ScanFor[i] = ' ';
}
+ } else if ((StriCmp(TokenList[0], L"scan_delay") == 0) && (TokenCount == 2)) {
+ HandleInt(TokenList, TokenCount, &(GlobalConfig.ScanDelay));
+
} else if (StriCmp(TokenList[0], L"also_scan_dirs") == 0) {
HandleStrings(TokenList, TokenCount, &(GlobalConfig.AlsoScan));
UINTN MaxTags; // max. number of OS entries to show simultaneously in graphics mode
UINTN GraphicsFor;
UINTN LegacyType;
+ UINTN ScanDelay;
CHAR16 *BannerFileName;
CHAR16 *SelectionSmallFileName;
CHAR16 *SelectionBigFileName;
static REFIT_MENU_SCREEN MainMenu = { L"Main Menu", NULL, 0, NULL, 0, NULL, 0, L"Automatic boot" };
static REFIT_MENU_SCREEN AboutMenu = { L"About", NULL, 0, NULL, 0, NULL, 0, NULL };
-REFIT_CONFIG GlobalConfig = { FALSE, FALSE, 0, 0, 20, 0, 0, GRAPHICS_FOR_OSX, LEGACY_TYPE_MAC,
+REFIT_CONFIG GlobalConfig = { FALSE, FALSE, 0, 0, 20, 0, 0, GRAPHICS_FOR_OSX, LEGACY_TYPE_MAC, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
{TAG_SHELL, TAG_ABOUT, TAG_SHUTDOWN, TAG_REBOOT, 0, 0, 0, 0, 0 }};
if (AboutMenu.EntryCount == 0) {
AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
- AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.4.5.3");
+ AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.4.5.4");
AddMenuInfoLine(&AboutMenu, L"");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");
case 'o': case 'O':
ScanOptical();
break;
-// case 'l': case 'L':
-// ScanLegacyNonMac();
-// break;
} // switch()
} // for
EFI_STATUS Status;
BOOLEAN MainLoopRunning = TRUE;
REFIT_MENU_ENTRY *ChosenEntry;
- UINTN MenuExit;
+ UINTN MenuExit, i;
CHAR16 *Selection;
+ EG_PIXEL BGColor;
// bootstrap
InitializeLib(ImageHandle, SystemTable);
// further bootstrap (now with config available)
SetupScreen();
+ if (GlobalConfig.ScanDelay > 0) {
+ BGColor.b = 255;
+ BGColor.g = 175;
+ BGColor.r = 100;
+ BGColor.a = 0;
+ egDisplayMessage(L"Pausing before disk scan; please wait....", &BGColor);
+ for (i = 0; i < GlobalConfig.ScanDelay; i++)
+ refit_call1_wrapper(BS->Stall, 1000000);
+ } // if
LoadDrivers();
ScanForBootloaders();
ScanForTools();