From: Andrey Borzenkov Date: Wed, 25 Dec 2013 18:36:28 +0000 (+0400) Subject: fix EFI detection on Windows X-Git-Tag: 2.02-beta3~720 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6e7719bbe05993613a8de69dba14fa092144925;p=thirdparty%2Fgrub.git fix EFI detection on Windows We are on legacy BIOS if GetFirmwareEnvironmentVariable fails (returns zero) *and* extended error information is ERROR_INVALID_FUNCTION. Cf. http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325%28v=vs.85%29.aspx --- diff --git a/ChangeLog b/ChangeLog index 41bcebfb3..21ec1c77c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-12-25 Andrey Borzenkov + + * grub-core/osdep/windows/platform.c (get_platform): Fix EFI + detection. + 2013-12-24 Vladimir Serbinenko * configure.ac: Set version to 2.02~beta2. diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c index f2b9d7143..d217efe17 100644 --- a/grub-core/osdep/windows/platform.c +++ b/grub-core/osdep/windows/platform.c @@ -100,7 +100,7 @@ get_platform (void) if (!func_GetFirmwareEnvironmentVariableW (L"BootOrder", GRUB_EFI_GLOBAL_VARIABLE_GUID_WINDOWS_STR, buffer, sizeof (buffer)) - && GetLastError () != ERROR_INVALID_FUNCTION) + && GetLastError () == ERROR_INVALID_FUNCTION) { platform = PLAT_BIOS; return;