From afe62bf2cf34ca0954a2485e2a4dfd78f74aa86f Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 2 Feb 2012 19:57:13 +0000 Subject: [PATCH] [USETUP] - Write the partition table back after CheckActiveBootPartition() because it could've changed the partition table on a disk with no active partition - Fixes issues installing ROS on new disks and disks with no active partitions (including USB disks) svn path=/branches/usb-bringup-trunk/; revision=55382 --- base/setup/usetup/interface/usetup.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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",