diff --git a/base/setup/usetup/interface/usetup.c b/base/setup/usetup/interface/usetup.c index d4962949d11..9b49f89d328 100644 --- a/base/setup/usetup/interface/usetup.c +++ b/base/setup/usetup/interface/usetup.c @@ -3350,8 +3350,17 @@ BootLoaderPage(PINPUT_RECORD Ir) CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); + /* Find or set the active partition */ CheckActiveBootPartition(PartitionList); + /* Update the partition table because we may have changed the active partition */ + if (WritePartitionsToDisk(PartitionList) == FALSE) + { + DPRINT("WritePartitionsToDisk() failed\n"); + MUIDisplayError(ERROR_WRITE_PTABLE, Ir, POPUP_WAIT_ENTER); + return QUIT_PAGE; + } + RtlFreeUnicodeString(&SystemRootPath); swprintf(PathBuffer, L"\\Device\\Harddisk%lu\\Partition%lu",