[USETUP]
authorCameron Gutman <aicommander@gmail.com>
Thu, 2 Feb 2012 19:57:13 +0000 (19:57 +0000)
committerCameron Gutman <aicommander@gmail.com>
Thu, 2 Feb 2012 19:57:13 +0000 (19:57 +0000)
- 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

index d496294..9b49f89 100644 (file)
@@ -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",