} // if
} // VOID SetPartGuid()
+// Return TRUE if NTFS boot files are found, FALSE otherwise.
+// Assumes Volume is already mounted.
+static BOOLEAN HasWindowsBiosBootFiles(REFIT_VOLUME *Volume) {
+ BOOLEAN FilesFound = TRUE;
+
+ if (Volume->RootDir != NULL) {
+ FilesFound = (FileExists(Volume->RootDir, L"NTLDR") && // Windows XP boot files
+ FileExists(Volume->RootDir, L"ntdetect.com") &&
+ FileExists(Volume->RootDir, L"boot.ini")) ||
+ FileExists(Volume->RootDir, L"Windows"); // Windows 7 ID (imperfect; TODO: Improve)
+ } // if
+ return FilesFound;
+} // static VOID HasWindowsBiosBootFiles()
+
VOID ScanVolume(REFIT_VOLUME *Volume)
{
EFI_STATUS Status;
return;
} else {
Volume->IsReadable = TRUE;
- }
+ if ((Volume->FSType == FS_TYPE_NTFS) && Volume->HasBootCode)
+ Volume->HasBootCode = HasWindowsBiosBootFiles(Volume);
+ } // if/else
// get custom volume icons if present
if (!Volume->VolIconImage)
if (AboutMenu.EntryCount == 0) {
AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
- AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5.5");
+ AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5.6");
AddMenuInfoLine(&AboutMenu, L"");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012-2015 Roderick W. Smith");