Windows: for system encryption case, also perform automatic fix of boot configuration if MBR boot used and not only EFI.

This commit is contained in:
Mounir IDRASSI 2019-10-25 13:06:14 +02:00
parent 318b00b6a2
commit faa541f613
No known key found for this signature in database
GPG Key ID: 02C30AE90FAE4A6F

View File

@ -9422,25 +9422,21 @@ static DWORD WINAPI SystemFavoritesServiceCtrlHandler ( DWORD dwControl,
case SERVICE_CONTROL_STOP:
SystemFavoritesServiceSetStatus (SERVICE_STOP_PENDING);
if (bSystemIsGPT)
if (!(BootEncObj->ReadServiceConfigurationFlags () & VC_SYSTEM_FAVORITES_SERVICE_CONFIG_DONT_UPDATE_LOADER))
{
uint32 serviceFlags = BootEncObj->ReadServiceConfigurationFlags ();
if (!(serviceFlags & VC_SYSTEM_FAVORITES_SERVICE_CONFIG_DONT_UPDATE_LOADER))
try
{
try
{
BootEncryption::UpdateSetupConfigFile (true);
if (!BootEncStatus.HiddenSystem)
{
// re-install our bootloader again in case the update process has removed it.
BootEncryption bootEnc (NULL, true);
bootEnc.InstallBootLoader (true);
}
}
catch (...)
BootEncryption::UpdateSetupConfigFile (true);
if (!BootEncStatus.HiddenSystem)
{
// re-install our bootloader again in case the update process has removed it.
BootEncryption bootEnc (NULL, true);
bootEnc.InstallBootLoader (true);
}
}
catch (...)
{
}
}
/* clear VC_DRIVER_CONFIG_CLEAR_KEYS_ON_NEW_DEVICE_INSERTION flag */