diff --git a/base/setup/lib/utils/partlist.c b/base/setup/lib/utils/partlist.c index 19b49a6a9b0..5c094e31123 100644 --- a/base/setup/lib/utils/partlist.c +++ b/base/setup/lib/utils/partlist.c @@ -1883,10 +1883,147 @@ AddDiskToList( ScanForUnpartitionedDiskSpace(DiskEntry); } +/* + * Retrieve the system disk, i.e. the fixed disk that is accessible by the + * firmware during boot time and where the system partition resides. + * If no system partition has been determined, we retrieve the first disk + * that verifies the mentioned criteria above. + */ +static +PDISKENTRY +GetSystemDisk( + IN PPARTLIST List) +{ + PLIST_ENTRY Entry; + PDISKENTRY DiskEntry; + + /* Check for empty disk list */ + if (IsListEmpty(&List->DiskListHead)) + return NULL; + + /* + * If we already have a system partition, the system disk + * is the one on which the system partition resides. + */ + if (List->SystemPartition) + return List->SystemPartition->DiskEntry; + + /* Loop over the disks and find the correct one */ + for (Entry = List->DiskListHead.Flink; + Entry != &List->DiskListHead; + Entry = Entry->Flink) + { + DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry); + + /* The disk must be a fixed disk and be found by the firmware */ + if (DiskEntry->MediaType == FixedMedia && DiskEntry->BiosFound) + { + break; + } + } + if (Entry == &List->DiskListHead) + { + /* We haven't encountered any suitable disk */ + return NULL; + } + + if (DiskEntry->DiskStyle == PARTITION_STYLE_GPT) + { + DPRINT1("System disk -- GPT-partitioned disk detected, not currently supported by SETUP!\n"); + } + + return DiskEntry; +} + +/* + * Retrieve the actual "active" partition of the given disk. + * On MBR disks, partition with the Active/Boot flag set; + * on GPT disks, partition with the correct GUID. + */ +BOOLEAN +IsPartitionActive( + IN PPARTENTRY PartEntry) +{ + // TODO: Support for GPT disks! + + if (IsContainerPartition(PartEntry->PartitionType)) + return FALSE; + + /* Check if the partition is partitioned, used and active */ + if (PartEntry->IsPartitioned && + // !IsContainerPartition(PartEntry->PartitionType) && + PartEntry->BootIndicator) + { + /* Yes it is */ + ASSERT(PartEntry->PartitionType != PARTITION_ENTRY_UNUSED); + return TRUE; + } + + return FALSE; +} + +static +PPARTENTRY +GetActiveDiskPartition( + IN PDISKENTRY DiskEntry) +{ + PLIST_ENTRY ListEntry; + PPARTENTRY PartEntry; + PPARTENTRY ActivePartition = NULL; + + /* Check for empty disk list */ + // ASSERT(DiskEntry); + if (!DiskEntry) + return NULL; + + /* Check for empty partition list */ + if (IsListEmpty(&DiskEntry->PrimaryPartListHead)) + return NULL; + + if (DiskEntry->DiskStyle == PARTITION_STYLE_GPT) + { + DPRINT1("GPT-partitioned disk detected, not currently supported by SETUP!\n"); + return NULL; + } + + /* Scan all (primary) partitions to find the active disk partition */ + for (ListEntry = DiskEntry->PrimaryPartListHead.Flink; + ListEntry != &DiskEntry->PrimaryPartListHead; + ListEntry = ListEntry->Flink) + { + /* Retrieve the partition */ + PartEntry = CONTAINING_RECORD(ListEntry, PARTENTRY, ListEntry); + if (IsPartitionActive(PartEntry)) + { + /* Yes, we've found it */ + ASSERT(DiskEntry == PartEntry->DiskEntry); + ASSERT(PartEntry->IsPartitioned); + + ActivePartition = PartEntry; + + DPRINT1("Found active system partition %lu in disk %lu, drive letter %C\n", + PartEntry->PartitionNumber, DiskEntry->DiskNumber, + (PartEntry->DriveLetter == 0) ? L'-' : PartEntry->DriveLetter); + break; + } + } + + /* Check if the disk is new and if so, use its first partition as the active system partition */ + if (DiskEntry->NewDisk && ActivePartition != NULL) + { + // FIXME: What to do?? + DPRINT1("NewDisk TRUE but already existing active partition?\n"); + } + + /* Return the active partition found (or none) */ + return ActivePartition; +} + PPARTLIST CreatePartitionList(VOID) { PPARTLIST List; + PDISKENTRY SystemDisk; OBJECT_ATTRIBUTES ObjectAttributes; SYSTEM_DEVICE_INFORMATION Sdi; IO_STATUS_BLOCK Iosb; @@ -1904,7 +2041,6 @@ CreatePartitionList(VOID) return NULL; List->SystemPartition = NULL; - List->OriginalSystemPartition = NULL; InitializeListHead(&List->DiskListHead); InitializeListHead(&List->BiosDiskListHead); @@ -1957,6 +2093,13 @@ CreatePartitionList(VOID) UpdateHwDiskNumbers(List); AssignDriveLetters(List); + /* + * Retrieve the system partition: the active partition on the system + * disk (the one that will be booted by default by the hardware). + */ + SystemDisk = GetSystemDisk(List); + List->SystemPartition = (SystemDisk ? GetActiveDiskPartition(SystemDisk) : NULL); + return List; } @@ -3093,14 +3236,10 @@ DeletePartition( ASSERT(PartEntry->PartitionType != PARTITION_ENTRY_UNUSED); - /* Clear the system partition pointers if it is being deleted */ + /* Clear the system partition if it is being deleted */ if (List->SystemPartition == PartEntry) { ASSERT(List->SystemPartition); - ASSERT(List->SystemPartition->DiskEntry->MediaType != RemovableMedia); - - if (List->SystemPartition == List->OriginalSystemPartition) - List->OriginalSystemPartition = NULL; List->SystemPartition = NULL; } @@ -3209,90 +3348,6 @@ DeletePartition( return TRUE; } -/* - * Retrieve the actual "active" partition of the given disk. - * On MBR disks, partition with the Active/Boot flag set; - * on GPT disks, partition with the correct GUID. - */ -BOOLEAN -IsPartitionActive( - IN PPARTENTRY PartEntry) -{ - // TODO: Support for GPT disks! - - if (IsContainerPartition(PartEntry->PartitionType)) - return FALSE; - - /* Check if the partition is partitioned, used and active */ - if (PartEntry->IsPartitioned && - // !IsContainerPartition(PartEntry->PartitionType) && - PartEntry->BootIndicator) - { - /* Yes it is */ - ASSERT(PartEntry->PartitionType != PARTITION_ENTRY_UNUSED); - return TRUE; - } - - return FALSE; -} - -static -PPARTENTRY -GetActiveDiskPartition( - IN PDISKENTRY DiskEntry) -{ - PLIST_ENTRY ListEntry; - PPARTENTRY PartEntry; - PPARTENTRY ActivePartition = NULL; - - /* Check for empty disk list */ - // ASSERT(DiskEntry); - if (!DiskEntry) - return NULL; - - /* Check for empty partition list */ - if (IsListEmpty(&DiskEntry->PrimaryPartListHead)) - return NULL; - - if (DiskEntry->DiskStyle == PARTITION_STYLE_GPT) - { - DPRINT1("GPT-partitioned disk detected, not currently supported by SETUP!\n"); - return NULL; - } - - /* Scan all (primary) partitions to find the active disk partition */ - for (ListEntry = DiskEntry->PrimaryPartListHead.Flink; - ListEntry != &DiskEntry->PrimaryPartListHead; - ListEntry = ListEntry->Flink) - { - /* Retrieve the partition */ - PartEntry = CONTAINING_RECORD(ListEntry, PARTENTRY, ListEntry); - if (IsPartitionActive(PartEntry)) - { - /* Yes, we've found it */ - ASSERT(DiskEntry == PartEntry->DiskEntry); - ASSERT(PartEntry->IsPartitioned); - - ActivePartition = PartEntry; - - DPRINT1("Found active system partition %lu in disk %lu, drive letter %C\n", - PartEntry->PartitionNumber, DiskEntry->DiskNumber, - (PartEntry->DriveLetter == 0) ? L'-' : PartEntry->DriveLetter); - break; - } - } - - /* Check if the disk is new and if so, use its first partition as the active system partition */ - if (DiskEntry->NewDisk && ActivePartition != NULL) - { - // FIXME: What to do?? - DPRINT1("NewDisk TRUE but already existing active partition?\n"); - } - - /* Return the active partition found (or none) */ - return ActivePartition; -} - static BOOLEAN IsSupportedActivePartition( @@ -3374,12 +3429,12 @@ IsSupportedActivePartition( return TRUE; } -VOID -CheckActiveSystemPartition( +PPARTENTRY +FindSupportedSystemPartition( IN PPARTLIST List, IN BOOLEAN ForceSelect, - IN PDISKENTRY AlternateDisk OPTIONAL, - IN PPARTENTRY AlternatePart OPTIONAL) + IN PDISKENTRY AlternativeDisk OPTIONAL, + IN PPARTENTRY AlternativePart OPTIONAL) { PLIST_ENTRY ListEntry; PDISKENTRY DiskEntry; @@ -3391,75 +3446,63 @@ CheckActiveSystemPartition( if (IsListEmpty(&List->DiskListHead)) { /* No system partition! */ - List->SystemPartition = NULL; - List->OriginalSystemPartition = NULL; + ASSERT(List->SystemPartition == NULL); goto NoSystemPartition; } - if (List->SystemPartition != NULL) - { - /* We already have an active system partition */ - DPRINT1("Use the current system partition %lu in disk %lu, drive letter %C\n", - List->SystemPartition->PartitionNumber, - List->SystemPartition->DiskEntry->DiskNumber, - (List->SystemPartition->DriveLetter == 0) ? L'-' : List->SystemPartition->DriveLetter); - return; - } + /* Adjust the optional alternative disk if needed */ + if (!AlternativeDisk && AlternativePart) + AlternativeDisk = AlternativePart->DiskEntry; + + /* Ensure that the alternative partition is on the alternative disk */ + if (AlternativePart) + ASSERT(AlternativeDisk && (AlternativePart->DiskEntry == AlternativeDisk)); + + /* Ensure that the alternative disk is in the list */ + if (AlternativeDisk) + ASSERT(AlternativeDisk->PartList == List); /* Start fresh */ - List->SystemPartition = NULL; - List->OriginalSystemPartition = NULL; - - /* Adjust the optional alternate disk if needed */ - if (!AlternateDisk && AlternatePart) - AlternateDisk = AlternatePart->DiskEntry; - - /* Ensure that the alternate partition is on the alternate disk */ - if (AlternatePart) - ASSERT(AlternateDisk && (AlternatePart->DiskEntry == AlternateDisk)); - - /* Ensure that the alternate disk is in the list */ - if (AlternateDisk) - ASSERT(AlternateDisk->PartList == List); + CandidatePartition = NULL; // -// Pass == 1 : Check the first (system) disk. +// Step 1 : Check the system disk. // /* - * First, check whether the first disk (the one that will be booted - * by default by the hardware) contains an active partition. If so - * this should be our system partition. + * First, check whether the system disk, i.e. the one that will be booted + * by default by the hardware, contains an active partition. If so this + * should be our system partition. */ - DiskEntry = CONTAINING_RECORD(List->DiskListHead.Flink, - DISKENTRY, ListEntry); + DiskEntry = GetSystemDisk(List); if (DiskEntry->DiskStyle == PARTITION_STYLE_GPT) { - DPRINT1("First (system) disk -- GPT-partitioned disk detected, not currently supported by SETUP!\n"); - goto UseAlternateDisk; + DPRINT1("System disk -- GPT-partitioned disk detected, not currently supported by SETUP!\n"); + goto UseAlternativeDisk; } - ActivePartition = GetActiveDiskPartition(DiskEntry); - if (ActivePartition) + /* If we have a system partition (in the system disk), validate it */ + ActivePartition = List->SystemPartition; + if (ActivePartition && IsSupportedActivePartition(ActivePartition)) { - /* Save the actual system partition */ - List->OriginalSystemPartition = ActivePartition; + CandidatePartition = ActivePartition; - /* If we get a candidate active partition in the first disk, validate it */ - if (IsSupportedActivePartition(ActivePartition)) - { - CandidatePartition = ActivePartition; - goto SystemPartitionFound; - } + DPRINT1("Use the current system partition %lu in disk %lu, drive letter %C\n", + CandidatePartition->PartitionNumber, + CandidatePartition->DiskEntry->DiskNumber, + (CandidatePartition->DriveLetter == 0) ? L'-' : CandidatePartition->DriveLetter); + + /* Return the candidate system partition */ + return CandidatePartition; } - /* If this first disk is not the optional alternate disk, perform the minimal checks */ - if (DiskEntry != AlternateDisk) + /* If the system disk is not the optional alternative disk, perform the minimal checks */ + if (DiskEntry != AlternativeDisk) { /* * No active partition has been recognized. Enumerate all the (primary) - * partitions in the first disk, excluding the possible current active + * partitions in the system disk, excluding the possible current active * partition, to find a new candidate. */ for (ListEntry = DiskEntry->PrimaryPartListHead.Flink; @@ -3470,7 +3513,7 @@ CheckActiveSystemPartition( PartEntry = CONTAINING_RECORD(ListEntry, PARTENTRY, ListEntry); /* Skip the current active partition */ - if (/* ActivePartition != NULL && */ PartEntry == ActivePartition) + if (PartEntry == ActivePartition) continue; /* Check if the partition is partitioned and used */ @@ -3479,11 +3522,11 @@ CheckActiveSystemPartition( { ASSERT(PartEntry->PartitionType != PARTITION_ENTRY_UNUSED); - /* If we get a candidate active partition in the first disk, validate it */ + /* If we get a candidate active partition in the disk, validate it */ if (IsSupportedActivePartition(PartEntry)) { CandidatePartition = PartEntry; - goto FindAndUseAlternativeSystemPartition; + goto UseAlternativePartition; } } @@ -3495,7 +3538,7 @@ CheckActiveSystemPartition( // TODO: Check for minimal size!! CandidatePartition = PartEntry; - goto FindAndUseAlternativeSystemPartition; + goto UseAlternativePartition; } #endif } @@ -3520,7 +3563,7 @@ CheckActiveSystemPartition( PartEntry = CONTAINING_RECORD(ListEntry, PARTENTRY, ListEntry); /* Skip the current active partition */ - if (/* ActivePartition != NULL && */ PartEntry == ActivePartition) + if (PartEntry == ActivePartition) continue; /* Check for unpartitioned space */ @@ -3530,7 +3573,7 @@ CheckActiveSystemPartition( // TODO: Check for minimal size!! CandidatePartition = PartEntry; - goto FindAndUseAlternativeSystemPartition; + goto UseAlternativePartition; } } } @@ -3538,33 +3581,30 @@ CheckActiveSystemPartition( // -// Pass == 2 : No active partition found: Check the alternate disk if specified. +// Step 2 : No active partition found: Check the alternative disk if specified. // -UseAlternateDisk: - if (!AlternateDisk || (!ForceSelect && (DiskEntry != AlternateDisk))) +UseAlternativeDisk: + if (!AlternativeDisk || (!ForceSelect && (DiskEntry != AlternativeDisk))) goto NoSystemPartition; - if (AlternateDisk->DiskStyle == PARTITION_STYLE_GPT) + if (AlternativeDisk->DiskStyle == PARTITION_STYLE_GPT) { - DPRINT1("Alternate disk -- GPT-partitioned disk detected, not currently supported by SETUP!\n"); + DPRINT1("Alternative disk -- GPT-partitioned disk detected, not currently supported by SETUP!\n"); goto NoSystemPartition; } - if (DiskEntry != AlternateDisk) + if (DiskEntry != AlternativeDisk) { - /* Choose the alternate disk */ - DiskEntry = AlternateDisk; + /* Choose the alternative disk */ + DiskEntry = AlternativeDisk; + /* If we get a candidate active partition, validate it */ ActivePartition = GetActiveDiskPartition(DiskEntry); - if (ActivePartition) + if (ActivePartition && IsSupportedActivePartition(ActivePartition)) { - /* If we get a candidate active partition, validate it */ - if (IsSupportedActivePartition(ActivePartition)) - { - CandidatePartition = ActivePartition; - goto FindAndUseAlternativeSystemPartition; - } + CandidatePartition = ActivePartition; + goto UseAlternativePartition; } } @@ -3575,7 +3615,7 @@ UseAlternateDisk: *** - If we want a really separate system partition from the partition where *** we install, do something similar to what's done below in the code. *** - Otherwise if we allow for the system partition to be also the partition - *** where we install, just directly fall down to using AlternatePart. + *** where we install, just directly fall down to using AlternativePart. ***/ /* Retrieve the first partition of the disk */ @@ -3597,15 +3637,13 @@ UseAlternateDisk: { ASSERT(DiskEntry == CandidatePartition->DiskEntry); - List->SystemPartition = CandidatePartition; - List->OriginalSystemPartition = List->SystemPartition; - DPRINT1("Use new first active system partition %lu in disk %lu, drive letter %C\n", - List->SystemPartition->PartitionNumber, - List->SystemPartition->DiskEntry->DiskNumber, - (List->SystemPartition->DriveLetter == 0) ? L'-' : List->SystemPartition->DriveLetter); + CandidatePartition->PartitionNumber, + CandidatePartition->DiskEntry->DiskNumber, + (CandidatePartition->DriveLetter == 0) ? L'-' : CandidatePartition->DriveLetter); - goto SetSystemPartition; + /* Return the candidate system partition */ + return CandidatePartition; } // FIXME: What to do?? @@ -3638,81 +3676,116 @@ UseAlternateDisk: * so use the first one as the system partition. */ ASSERT(DiskEntry == CandidatePartition->DiskEntry); - List->SystemPartition = CandidatePartition; // The first PartEntry - List->OriginalSystemPartition = List->SystemPartition; DPRINT1("Use first active system partition %lu in disk %lu, drive letter %C\n", - List->SystemPartition->PartitionNumber, - List->SystemPartition->DiskEntry->DiskNumber, - (List->SystemPartition->DriveLetter == 0) ? L'-' : List->SystemPartition->DriveLetter); + CandidatePartition->PartitionNumber, + CandidatePartition->DiskEntry->DiskNumber, + (CandidatePartition->DriveLetter == 0) ? L'-' : CandidatePartition->DriveLetter); - goto SetSystemPartition; + /* Return the candidate system partition */ + return CandidatePartition; } /* * The disk is not new, we did not find any actual active partition, - * or the one we found was not supported, or any possible other canditate - * is not supported. We then use the alternate partition if specified. + * or the one we found was not supported, or any possible other candidate + * is not supported. We then use the alternative partition if specified. */ - if (AlternatePart) + if (AlternativePart) { - DPRINT1("No system partition found, use the alternative partition!\n"); - CandidatePartition = AlternatePart; - goto UseAlternativeSystemPartition; + DPRINT1("No valid or supported system partition has been found, use the alternative partition!\n"); + CandidatePartition = AlternativePart; + goto UseAlternativePartition; } else { NoSystemPartition: DPRINT1("No valid or supported system partition has been found on this system!\n"); - return; + return NULL; } - -SystemPartitionFound: - ASSERT(CandidatePartition); - List->SystemPartition = CandidatePartition; - - DPRINT1("Use existing active system partition %lu in disk %lu, drive letter %C\n", - List->SystemPartition->PartitionNumber, - List->SystemPartition->DiskEntry->DiskNumber, - (List->SystemPartition->DriveLetter == 0) ? L'-' : List->SystemPartition->DriveLetter); - - return; - -FindAndUseAlternativeSystemPartition: +UseAlternativePartition: /* - * We are here because we have not found any (active) candidate - * system partition that we know how to support. What we are going - * to do is to change the existing system partition and use the - * partition on which we install ReactOS as the new system partition, - * and then we will need to add in FreeLdr's entry a boot entry to boot + * We are here because we did not find any (active) candidate system + * partition that we know how to support. What we are going to do is + * to change the existing system partition and use the alternative partition + * (e.g. on which we install ReactOS) as the new system partition. + * Then we will need to add in FreeLdr's boot menu an entry for booting * from the original system partition. */ - - /* Unset the old system partition */ - if (List->OriginalSystemPartition) - { - List->OriginalSystemPartition->BootIndicator = FALSE; - List->OriginalSystemPartition->DiskEntry->LayoutBuffer->PartitionEntry[List->OriginalSystemPartition->PartitionIndex].BootIndicator = FALSE; - List->OriginalSystemPartition->DiskEntry->LayoutBuffer->PartitionEntry[List->OriginalSystemPartition->PartitionIndex].RewritePartition = TRUE; - List->OriginalSystemPartition->DiskEntry->Dirty = TRUE; - } - -UseAlternativeSystemPartition: ASSERT(CandidatePartition); - List->SystemPartition = CandidatePartition; DPRINT1("Use alternative active system partition %lu in disk %lu, drive letter %C\n", - List->SystemPartition->PartitionNumber, - List->SystemPartition->DiskEntry->DiskNumber, - (List->SystemPartition->DriveLetter == 0) ? L'-' : List->SystemPartition->DriveLetter); + CandidatePartition->PartitionNumber, + CandidatePartition->DiskEntry->DiskNumber, + (CandidatePartition->DriveLetter == 0) ? L'-' : CandidatePartition->DriveLetter); -SetSystemPartition: - /* Set the new active system partition */ - List->SystemPartition->BootIndicator = TRUE; - List->SystemPartition->DiskEntry->LayoutBuffer->PartitionEntry[List->SystemPartition->PartitionIndex].BootIndicator = TRUE; - List->SystemPartition->DiskEntry->LayoutBuffer->PartitionEntry[List->SystemPartition->PartitionIndex].RewritePartition = TRUE; - List->SystemPartition->DiskEntry->Dirty = TRUE; + /* Return the candidate system partition */ + return CandidatePartition; +} + +BOOLEAN +SetActivePartition( + IN PPARTLIST List, + IN PPARTENTRY PartEntry, + IN PPARTENTRY OldActivePart OPTIONAL) +{ + /* Check for empty disk list */ + if (IsListEmpty(&List->DiskListHead)) + return FALSE; + + /* Validate the partition entry */ + if (!PartEntry) + return FALSE; + + /* + * If the partition entry is already the system partition, or if it is + * the same as the old active partition hint the user provided (and if + * it is already active), just return success. + */ + if ((PartEntry == List->SystemPartition) || + ((PartEntry == OldActivePart) && IsPartitionActive(OldActivePart))) + { + return TRUE; + } + + ASSERT(PartEntry->DiskEntry); + + /* Ensure that the partition's disk is in the list */ + ASSERT(PartEntry->DiskEntry->PartList == List); + + /* + * If the user provided an old active partition hint, verify that it is + * indeeed active and belongs to the same disk where the new partition + * belongs. Otherwise determine the current active partition on the disk + * where the new partition belongs. + */ + if (!(OldActivePart && IsPartitionActive(OldActivePart) && (OldActivePart->DiskEntry == PartEntry->DiskEntry))) + { + /* It's not, determine the current active partition for the disk */ + OldActivePart = GetActiveDiskPartition(PartEntry->DiskEntry); + } + + /* Unset the old active partition if it exists */ + if (OldActivePart) + { + OldActivePart->BootIndicator = FALSE; + OldActivePart->DiskEntry->LayoutBuffer->PartitionEntry[OldActivePart->PartitionIndex].BootIndicator = FALSE; + OldActivePart->DiskEntry->LayoutBuffer->PartitionEntry[OldActivePart->PartitionIndex].RewritePartition = TRUE; + OldActivePart->DiskEntry->Dirty = TRUE; + } + + /* Modify the system partition if the new partition is on the system disk */ + if (PartEntry->DiskEntry == GetSystemDisk(List)) + List->SystemPartition = PartEntry; + + /* Set the new active partition */ + PartEntry->BootIndicator = TRUE; + PartEntry->DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].BootIndicator = TRUE; + PartEntry->DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].RewritePartition = TRUE; + PartEntry->DiskEntry->Dirty = TRUE; + + return TRUE; } NTSTATUS diff --git a/base/setup/lib/utils/partlist.h b/base/setup/lib/utils/partlist.h index 19c24e1224e..fb548b0e2ed 100644 --- a/base/setup/lib/utils/partlist.h +++ b/base/setup/lib/utils/partlist.h @@ -42,7 +42,7 @@ typedef struct _PARTENTRY ULARGE_INTEGER StartSector; ULARGE_INTEGER SectorCount; - BOOLEAN BootIndicator; + BOOLEAN BootIndicator; // NOTE: See comment for the PARTLIST::SystemPartition member. UCHAR PartitionType; ULONG OnDiskPartitionNumber; /* Enumerated partition number (primary partitions first, excluding the extended partition container, then the logical partitions) */ ULONG PartitionNumber; /* Current partition number, only valid for the currently running NTOS instance */ @@ -149,17 +149,11 @@ typedef struct _PARTLIST * The corresponding system disk is obtained via: * SystemPartition->DiskEntry. */ + // NOTE: It seems to appear that the specifications of ARC and (u)EFI + // actually allow for multiple system partitions to exist on the system. + // If so we should instead rely on the BootIndicator bit of the PARTENTRY + // structure in order to find these. PPARTENTRY SystemPartition; - /* - * The original system partition in case we are redefining it because - * we do not have write support on it. - * Please note that this is partly a HACK and MUST NEVER happen on - * architectures where real system partitions are mandatory (because then - * they are formatted in FAT FS and we support write operation on them). - * The corresponding original system disk is obtained via: - * OriginalSystemPartition->DiskEntry. - */ - PPARTENTRY OriginalSystemPartition; LIST_ENTRY DiskListHead; LIST_ENTRY BiosDiskListHead; @@ -323,12 +317,18 @@ DeletePartition( IN PPARTENTRY PartEntry, OUT PPARTENTRY* FreeRegion OPTIONAL); -VOID -CheckActiveSystemPartition( +PPARTENTRY +FindSupportedSystemPartition( IN PPARTLIST List, IN BOOLEAN ForceSelect, - IN PDISKENTRY AlternateDisk OPTIONAL, - IN PPARTENTRY AlternatePart OPTIONAL); + IN PDISKENTRY AlternativeDisk OPTIONAL, + IN PPARTENTRY AlternativePart OPTIONAL); + +BOOLEAN +SetActivePartition( + IN PPARTLIST List, + IN PPARTENTRY PartEntry, + IN PPARTENTRY OldActivePart OPTIONAL); NTSTATUS WritePartitions( diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index 244d2d3c740..2b92b5f71ef 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -127,7 +127,7 @@ static MUI_ENTRY bgBGWelcomePageEntries[] = "\x07 \215\240\342\250\341\255\245\342\245 L, \247\240 \244\240 \242\250\244\250\342\245 \340\240\247\340\245\350\250\342\245\253\255\250\342\245 (\253\250\346\245\255\247\255\250\342\245)", TEXT_STYLE_NORMAL }, - { + { 8, 20, " \250\247\250\341\252\242\240\255\250\357 \250 \343\341\253\256\242\250\357 \255\240 \220\245\240\252\342\216\221", @@ -738,7 +738,8 @@ static MUI_ENTRY bgBGDisplayPageEntries[] = "\220\245\350\250\253\250 \341\342\245 \244\240 \341\254\245\255\250\342\245 \242\250\244\240 \255\240 \245\252\340\240\255\240.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 \210\247\241\245\340\245\342\245 \242\250\244\240 \255\240 \245\252\340\240\255\240 \341\352\341 \341\342\340\245\253\252\250\342\245 \255\240\243\256\340\245 \250 \255\240\244\256\253\343 \250 ", TEXT_STYLE_NORMAL @@ -939,6 +940,112 @@ static MUI_ENTRY bgBGSelectPartitionEntries[] = } }; +static MUI_ENTRY bgBGChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY bgBGConfirmDeleteSystemPartitionEntries[] = { { @@ -1384,7 +1491,6 @@ static MUI_ENTRY bgBGSelectFSEntries[] = " ENTER = \217\340\256\244\352\253\246\240\242\240\255\245 ESC = \216\342\252\240\247 F3 = \210\247\345\256\244", TEXT_TYPE_STATUS }, - { 0, 0, @@ -1705,14 +1811,14 @@ MUI_ERROR bgBGErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1779,6 +1885,10 @@ MUI_PAGE bgBGPages[] = SELECT_PARTITION_PAGE, bgBGSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + bgBGChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, bgBGConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/bn-BD.h b/base/setup/usetup/lang/bn-BD.h index 03746a6c4c0..08552cc0d1b 100644 --- a/base/setup/usetup/lang/bn-BD.h +++ b/base/setup/usetup/lang/bn-BD.h @@ -729,7 +729,8 @@ static MUI_ENTRY bnBDDisplayPageEntries[] = "You want to change the type of display to be installed.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Press the UP or DOWN key to select the desired display type.", TEXT_STYLE_NORMAL @@ -929,6 +930,112 @@ static MUI_ENTRY bnBDSelectPartitionEntries[] = } }; +static MUI_ENTRY bnBDChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY bnBDConfirmDeleteSystemPartitionEntries[] = { { @@ -1373,7 +1480,6 @@ static MUI_ENTRY bnBDSelectFSEntries[] = "ENTER = Continue ESC = Cancel F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1546,7 +1652,7 @@ MUI_ERROR bnBDErrorEntries[] = { // ERROR_WARN_PARTITION, "Setup found that at least one harddisk contains an incompatible\n" - "partition table that can not be handled properly!\n" + "partition table that cannot be handled properly!\n" "\n" "Creating or deleting partitions can destroy the partition table.\n" "\n" @@ -1556,15 +1662,15 @@ MUI_ERROR bnBDErrorEntries[] = }, { // ERROR_NEW_PARTITION, - "You can not create a new Partition inside\n" - "of an already existing Partition!\n" + "You cannot create a new partition inside\n" + "of an already existing partition!\n" "\n" " * Press any key to continue.", NULL }, { // ERROR_DELETE_SPACE, - "You can not delete unpartitioned disk space!\n" + "You cannot delete unpartitioned disk space!\n" "\n" " * Press any key to continue.", NULL @@ -1692,14 +1798,14 @@ MUI_ERROR bnBDErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1766,6 +1872,10 @@ MUI_PAGE bnBDPages[] = SELECT_PARTITION_PAGE, bnBDSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + bnBDChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, bnBDConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/cs-CZ.h b/base/setup/usetup/lang/cs-CZ.h index 4d3a719129f..83fd41c742b 100644 --- a/base/setup/usetup/lang/cs-CZ.h +++ b/base/setup/usetup/lang/cs-CZ.h @@ -738,7 +738,8 @@ static MUI_ENTRY csCZDisplayPageEntries[] = "Chcete zm\330nit typ obrazovky, kter\240 bude nainstalov\240na.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Po\247adovan\354 typ obrazovky zvolte pomoc\241 \347ipek nahoru a dol\205.", TEXT_STYLE_NORMAL @@ -938,6 +939,112 @@ static MUI_ENTRY csCZSelectPartitionEntries[] = } }; +static MUI_ENTRY csCZChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY csCZConfirmDeleteSystemPartitionEntries[] = { { @@ -1382,7 +1489,6 @@ static MUI_ENTRY csCZSelectFSEntries[] = "ENTER = Pokra\237ovat ESC = Zru\347it F3 = Ukon\237it", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1775,6 +1881,10 @@ MUI_PAGE csCZPages[] = SELECT_PARTITION_PAGE, csCZSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + csCZChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, csCZConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/da-DK.h b/base/setup/usetup/lang/da-DK.h index e33dad89cf4..fb0ef679270 100644 --- a/base/setup/usetup/lang/da-DK.h +++ b/base/setup/usetup/lang/da-DK.h @@ -466,7 +466,7 @@ static MUI_ENTRY daDKRepairPageEntries[] = "underst\233tter den ikke alle funtionerne i et fult brugbart", TEXT_STYLE_NORMAL }, - { + { 6, 10, "installationsprogram.", @@ -945,6 +945,112 @@ static MUI_ENTRY daDKSelectPartitionEntries[] = } }; +static MUI_ENTRY daDKChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY daDKConfirmDeleteSystemPartitionEntries[] = { { @@ -1389,7 +1495,6 @@ static MUI_ENTRY daDKSelectFSEntries[] = "ENTER = Forts\221t ESC = Annuller F3 = Afslut", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1783,6 +1888,10 @@ MUI_PAGE daDKPages[] = SELECT_PARTITION_PAGE, daDKSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + daDKChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, daDKConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index 08f8a3dd4ea..31157330d1e 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -732,7 +732,8 @@ static MUI_ENTRY deDEDisplayPageEntries[] = "Sie wollen den zu installierenden Bildschirmtyp \204ndern.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Benutzen Sie die PFEILTASTEN, um den gew\201nschten", TEXT_STYLE_NORMAL @@ -926,6 +927,112 @@ static MUI_ENTRY deDESelectPartitionEntries[] = } }; +static MUI_ENTRY deDEChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY deDEConfirmDeleteSystemPartitionEntries[] = { { @@ -1376,7 +1483,6 @@ static MUI_ENTRY deDESelectFSEntries[] = "EINGABETASTE = Fortfahren ESC = Zur\201ck F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1772,6 +1878,10 @@ MUI_PAGE deDEPages[] = SELECT_PARTITION_PAGE, deDESelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + deDEChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, deDEConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/el-GR.h b/base/setup/usetup/lang/el-GR.h index 69e5baaf6bc..890232f5f6f 100644 --- a/base/setup/usetup/lang/el-GR.h +++ b/base/setup/usetup/lang/el-GR.h @@ -738,12 +738,14 @@ static MUI_ENTRY elGRDisplayPageEntries[] = "\207\342\242\234\253\234 \244\230 \230\242\242\341\245\234\253\234 \253\246\244 \253\347\247\246 \253\236\252 \234\243\255\341\244\240\251\236\252 \247\246\254 \237\230 \234\232\241\230\253\230\251\253\230\237\234\345.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 \217\230\253\343\251\253\234 \253\246 \247\242\343\241\253\250\246 \217\200\214\227 \343 \211\200\222\227 \232\240\230 \244\230 \234\247\240\242\342\245\234\253\234 \253\246\244 \234\247\240\237\254\243\236\253\346.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 11, " \253\347\247\246 \234\243\255\341\244\240\251\236\252.", TEXT_STYLE_NORMAL @@ -944,6 +946,112 @@ static MUI_ENTRY elGRSelectPartitionEntries[] = } }; +static MUI_ENTRY elGRChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY elGRConfirmDeleteSystemPartitionEntries[] = { { @@ -1400,7 +1508,6 @@ static MUI_ENTRY elGRSelectFSEntries[] = " ENTER = \221\254\244\342\256\234\240\230 ESC = \200\241\347\250\340\251\236 F3 = \200\247\246\256\351\250\236\251\236", TEXT_TYPE_STATUS }, - { 0, 0, @@ -1711,14 +1818,14 @@ MUI_ERROR elGRErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1785,6 +1892,10 @@ MUI_PAGE elGRPages[] = SELECT_PARTITION_PAGE, elGRSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + elGRChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, elGRConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/en-US.h b/base/setup/usetup/lang/en-US.h index 1ddbbad1582..aedc8f94420 100644 --- a/base/setup/usetup/lang/en-US.h +++ b/base/setup/usetup/lang/en-US.h @@ -730,7 +730,8 @@ static MUI_ENTRY enUSDisplayPageEntries[] = "You want to change the type of display to be installed.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Press the UP or DOWN key to select the desired display type.", TEXT_STYLE_NORMAL @@ -930,6 +931,112 @@ static MUI_ENTRY enUSSelectPartitionEntries[] = } }; +static MUI_ENTRY enUSChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY enUSConfirmDeleteSystemPartitionEntries[] = { { @@ -1374,7 +1481,6 @@ static MUI_ENTRY enUSSelectFSEntries[] = "ENTER = Continue ESC = Cancel F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1547,7 +1653,7 @@ MUI_ERROR enUSErrorEntries[] = { // ERROR_WARN_PARTITION, "Setup found that at least one harddisk contains an incompatible\n" - "partition table that can not be handled properly!\n" + "partition table that cannot be handled properly!\n" "\n" "Creating or deleting partitions can destroy the partition table.\n" "\n" @@ -1557,15 +1663,15 @@ MUI_ERROR enUSErrorEntries[] = }, { // ERROR_NEW_PARTITION, - "You can not create a new Partition inside\n" - "of an already existing Partition!\n" + "You cannot create a new partition inside\n" + "of an already existing partition!\n" "\n" " * Press any key to continue.", NULL }, { // ERROR_DELETE_SPACE, - "You can not delete unpartitioned disk space!\n" + "You cannot delete unpartitioned disk space!\n" "\n" " * Press any key to continue.", NULL @@ -1693,14 +1799,14 @@ MUI_ERROR enUSErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1767,6 +1873,10 @@ MUI_PAGE enUSPages[] = SELECT_PARTITION_PAGE, enUSSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + enUSChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, enUSConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/es-ES.h b/base/setup/usetup/lang/es-ES.h index 57cb10c5f7c..05e827501c7 100644 --- a/base/setup/usetup/lang/es-ES.h +++ b/base/setup/usetup/lang/es-ES.h @@ -734,7 +734,8 @@ static MUI_ENTRY esESDisplayPageEntries[] = "Desea modificar el tipo de pantalla a instalar.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Presione ARRIBA y ABAJO para modificar el tipo.", TEXT_STYLE_NORMAL @@ -935,6 +936,112 @@ static MUI_ENTRY esESSelectPartitionEntries[] = } }; +static MUI_ENTRY esESChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY esESConfirmDeleteSystemPartitionEntries[] = { { @@ -1379,7 +1486,6 @@ static MUI_ENTRY esESSelectFSEntries[] = " INTRO = Continuar ESC = Cancelar F3 = Salir", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1772,6 +1878,10 @@ MUI_PAGE esESPages[] = SELECT_PARTITION_PAGE, esESSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + esESChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, esESConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/et-EE.h b/base/setup/usetup/lang/et-EE.h index 9173c6a8847..4dba511c70f 100644 --- a/base/setup/usetup/lang/et-EE.h +++ b/base/setup/usetup/lang/et-EE.h @@ -732,7 +732,8 @@ static MUI_ENTRY etEEDisplayPageEntries[] = "Ekraani t\201\201bi muutmine.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Liigu \201les-alla, et ekraani t\201\201pi muuta.", TEXT_STYLE_NORMAL @@ -933,6 +934,112 @@ static MUI_ENTRY etEESelectPartitionEntries[] = } }; +static MUI_ENTRY etEEChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY etEEConfirmDeleteSystemPartitionEntries[] = { { @@ -1377,7 +1484,6 @@ static MUI_ENTRY etEESelectFSEntries[] = "ENTER = J\204tka ESC = Katkesta F3 = V\204lju", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1694,7 +1800,7 @@ MUI_ERROR etEEErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Vajuta mis tahes klahvi, et j\204tkata." @@ -1768,6 +1874,10 @@ MUI_PAGE etEEPages[] = SELECT_PARTITION_PAGE, etEESelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + etEEChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, etEEConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/fr-FR.h b/base/setup/usetup/lang/fr-FR.h index 3c5b2bf6d51..5fd6a1430bd 100644 --- a/base/setup/usetup/lang/fr-FR.h +++ b/base/setup/usetup/lang/fr-FR.h @@ -738,7 +738,8 @@ static MUI_ENTRY frFRDisplayPageEntries[] = "Vous voulez changer le type d'\202cran \205 installer.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Appuyer sur HAUT ou BAS pour s\202lectionner le type d'\202cran.", TEXT_STYLE_NORMAL @@ -938,6 +939,112 @@ static MUI_ENTRY frFRSelectPartitionEntries[] = } }; +static MUI_ENTRY frFRChangeSystemPartition[] = +{ + { + 4, + 3, + " Installation de ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "La partition syst\212me actuelle de votre ordinateur", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "sur le disque syst\212me", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "emploie un format qui n'est pas support\202 par ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "Afin de pouvoir installer ReactOS avec succ\212s, ReactOS Setup doit changer", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "la partition syst\212me actuelle par une nouvelle.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "La nouvelle partition syst\212me candidate est :", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 Pour accepter ce choix, appuyez sur ENTR\220E.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 Pour changer manuellement la partition syst\212me, appuyez sur \220CHAP", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " afin de revenir dans la liste des partitions, puis s\202lectionnez ou", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " cr\202ez une nouvelle partition syst\212me sur le disque syst\212me.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "S'il existe d'autres syst\212mes d'exploitation qui d\202pendent de la partition", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "syst\212me d'origine, vous devrez peut-\210tre les reconfigurer pour la nouvelle", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "partition syst\212me, ou bien changer la partition syst\212me vers celle", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "d'origine apr\212s la fin de l'installation de ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTR\220E = Continuer \220CHAP = Annuler", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY frFRConfirmDeleteSystemPartitionEntries[] = { { @@ -1394,7 +1501,6 @@ static MUI_ENTRY frFRSelectFSEntries[] = "ENTR\220E = Continuer \220CHAP = Annuler F3 = Quitter", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1438,7 +1544,7 @@ static MUI_ENTRY frFRDeletePartitionEntries[] = { 0, 0, - "L = Supprimer la Partition \220CHAP = Annuler F3 = Quitter", + "L = Supprimer la partition \220CHAP = Annuler F3 = Quitter", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1577,8 +1683,8 @@ MUI_ERROR frFRErrorEntries[] = }, { // ERROR_NEW_PARTITION, - "Vous ne pouvez cr\202er une nouvelle Partition \205 l'int\202rieur\n" - "d'une Partition d\202j\205 existante!\n" + "Vous ne pouvez cr\202er une nouvelle partition \205 l'int\202rieur\n" + "d'une partition d\202j\205 existante!\n" "\n" " * Appuyer sur une touche pour continuer.", NULL @@ -1787,6 +1893,10 @@ MUI_PAGE frFRPages[] = SELECT_PARTITION_PAGE, frFRSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + frFRChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, frFRConfirmDeleteSystemPartitionEntries @@ -1854,13 +1964,13 @@ MUI_STRING frFRStrings[] = {STRING_PLEASEWAIT, " Veuillez patienter..."}, {STRING_INSTALLCREATEPARTITION, - " ENTR\220E = Installer P/E = Cr\202er Partition Primaire/\220tendue F3 = Quitter"}, + " ENTR\220E = Installer P/E = Cr\202er partition Primaire/\220tendue F3 = Quitter"}, {STRING_INSTALLCREATELOGICAL, - " ENTR\220E = Installer L = Cr\202er Partition Logique F3 = Quitter"}, + " ENTR\220E = Installer L = Cr\202er partition Logique F3 = Quitter"}, {STRING_INSTALLDELETEPARTITION, - " ENTR\220E = Installer D = Supprimer Partition F3 = Quitter"}, + " ENTR\220E = Installer D = Supprimer partition F3 = Quitter"}, {STRING_DELETEPARTITION, - " D = Supprimer Partition F3 = Quitter"}, + " D = Supprimer partition F3 = Quitter"}, {STRING_PARTITIONSIZE, "Taille de la nouvelle partition :"}, {STRING_CHOOSENEWPARTITION, @@ -1872,15 +1982,15 @@ MUI_STRING frFRStrings[] = {STRING_HDDSIZE, "Veuillez entrer la taille de la nouvelle partition en m\202gaoctets."}, {STRING_CREATEPARTITION, - " ENTR\220E = Cr\202er Partition \220CHAP = Annuler F3 = Quitter"}, + " ENTR\220E = Cr\202er partition \220CHAP = Annuler F3 = Quitter"}, {STRING_PARTFORMAT, - "Cette Partition sera ensuite format\202e."}, + "Cette partition sera ensuite format\202e."}, {STRING_NONFORMATTEDPART, "Vous avez choisi d'installer ReactOS sur une nouvelle partition."}, {STRING_NONFORMATTEDSYSTEMPART, - "The system partition is not formatted yet."}, + "La partition syst\212me n'est pas encore format\202e."}, {STRING_NONFORMATTEDOTHERPART, - "The new partition is not formatted yet."}, + "La nouvelle partition n'est pas encore format\202e."}, {STRING_INSTALLONPART, "Setup installe ReactOS sur la partition"}, {STRING_CHECKINGPART, diff --git a/base/setup/usetup/lang/he-IL.h b/base/setup/usetup/lang/he-IL.h index a6550708c56..6a1bb1f7558 100644 --- a/base/setup/usetup/lang/he-IL.h +++ b/base/setup/usetup/lang/he-IL.h @@ -734,7 +734,8 @@ static MUI_ENTRY heILDisplayPageEntries[] = ".\217\227\232\205\216\204 \204\202\205\226\232\204 \202\205\221 \232\200 \232\205\220\231\214 \212\220\205\226\230\201", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 .\211\205\226\230\204 \204\202\205\226\232\204 \202\205\221 \232\200 \230\205\207\201\214 \211\203\213 \204\210\216\214 \205\200 \204\214\222\216\214 \214\222 \225\207\214", TEXT_STYLE_NORMAL @@ -934,6 +935,112 @@ static MUI_ENTRY heILSelectPartitionEntries[] = } }; +static MUI_ENTRY heILChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY heILConfirmDeleteSystemPartitionEntries[] = { { @@ -1378,7 +1485,6 @@ static MUI_ENTRY heILSelectFSEntries[] = "\204\220\227\232\204 \214\205\210\211\201 = F3 \214\205\210\211\201 = ESC \212\231\216\204 = ENTER", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1769,6 +1875,10 @@ MUI_PAGE heILPages[] = SELECT_PARTITION_PAGE, heILSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + heILChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, heILConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/it-IT.h b/base/setup/usetup/lang/it-IT.h index 15e369997b5..88a22312d6d 100644 --- a/base/setup/usetup/lang/it-IT.h +++ b/base/setup/usetup/lang/it-IT.h @@ -729,7 +729,8 @@ static MUI_ENTRY itITDisplayPageEntries[] = "Desidera modificare il tipo di schermo.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Premere i tasti SU e GI\xEB per modificare il tipo.", TEXT_STYLE_NORMAL @@ -929,6 +930,112 @@ static MUI_ENTRY itITSelectPartitionEntries[] = } }; +static MUI_ENTRY itITChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY itITConfirmDeleteSystemPartitionEntries[] = { { @@ -1379,7 +1486,6 @@ static MUI_ENTRY itITSelectFSEntries[] = " INVIO = Continua ESC = Annulla F3 = Termina", TEXT_TYPE_STATUS }, - { 0, 0, @@ -1772,6 +1878,10 @@ MUI_PAGE itITPages[] = SELECT_PARTITION_PAGE, itITSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + itITChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, itITConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/ja-JP.h b/base/setup/usetup/lang/ja-JP.h index c1408ad5b65..35e2584e691 100644 --- a/base/setup/usetup/lang/ja-JP.h +++ b/base/setup/usetup/lang/ja-JP.h @@ -732,7 +732,8 @@ static MUI_ENTRY jaJPDisplayPageEntries[] = "\262\335\275\304\260\331 \273\332\331 \303\336\250\275\314\337\332\262\311 \274\255\331\262\246 \315\335\272\263 \275\331 \272\304\266\336 \276\335\300\270 \273\332\317\274\300\241", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 UP \323\274\270\312 DOWN \267\260\246 \265\274\303 \303\267\275\331 \303\336\250\275\314\337\332\262\311 \274\255\331\262\246 \276\335\300\270 \274\303 \270\300\336\273\262\241", TEXT_STYLE_NORMAL @@ -933,6 +934,112 @@ static MUI_ENTRY jaJPSelectPartitionEntries[] = } }; +static MUI_ENTRY jaJPChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY jaJPConfirmDeleteSystemPartitionEntries[] = { { @@ -1377,7 +1484,6 @@ static MUI_ENTRY jaJPSelectFSEntries[] = "ENTER = \277\336\257\272\263 ESC = \267\254\335\276\331 F3 = \301\255\263\274", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1696,14 +1802,14 @@ MUI_ERROR jaJPErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1770,6 +1876,10 @@ MUI_PAGE jaJPPages[] = SELECT_PARTITION_PAGE, jaJPSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + jaJPChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, jaJPConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/lt-LT.h b/base/setup/usetup/lang/lt-LT.h index f3c3bdf4e74..4590770fe97 100644 --- a/base/setup/usetup/lang/lt-LT.h +++ b/base/setup/usetup/lang/lt-LT.h @@ -741,7 +741,8 @@ static MUI_ENTRY ltLTDisplayPageEntries[] = "You want to change the type of display to be installed.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Press the UP or DOWN key to select the desired display type.", TEXT_STYLE_NORMAL @@ -941,6 +942,112 @@ static MUI_ENTRY ltLTSelectPartitionEntries[] = } }; +static MUI_ENTRY ltLTChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY ltLTConfirmDeleteSystemPartitionEntries[] = { { @@ -1385,7 +1492,6 @@ static MUI_ENTRY ltLTSelectFSEntries[] = "ENTER = T\322sti ESC = At\325aukti F3 = Baigti", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1558,7 +1664,7 @@ MUI_ERROR ltLTErrorEntries[] = { // ERROR_WARN_PARTITION, "Setup found that at least one harddisk contains an incompatible\n" - "partition table that can not be handled properly!\n" + "partition table that cannot be handled properly!\n" "\n" "Creating or deleting partitions can destroy the partition table.\n" "\n" @@ -1568,15 +1674,15 @@ MUI_ERROR ltLTErrorEntries[] = }, { // ERROR_NEW_PARTITION, - "You can not create a new Partition inside\n" - "of an already existing Partition!\n" + "You cannot create a new partition inside\n" + "of an already existing partition!\n" "\n" " * Press any key to continue.", NULL }, { // ERROR_DELETE_SPACE, - "You can not delete unpartitioned disk space!\n" + "You cannot delete unpartitioned disk space!\n" "\n" " * Press any key to continue.", NULL @@ -1704,14 +1810,14 @@ MUI_ERROR ltLTErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1778,6 +1884,10 @@ MUI_PAGE ltLTPages[] = SELECT_PARTITION_PAGE, ltLTSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + ltLTChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, ltLTConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/ms-MY.h b/base/setup/usetup/lang/ms-MY.h index 67ac883ae42..9b4ea9a90dc 100644 --- a/base/setup/usetup/lang/ms-MY.h +++ b/base/setup/usetup/lang/ms-MY.h @@ -729,7 +729,8 @@ static MUI_ENTRY msMYDisplayPageEntries[] = "Anda ingin tukar jenis paparan untuk dipasang.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Tekan kekunci UP atau DOWN untuk memilih", TEXT_STYLE_NORMAL @@ -923,6 +924,206 @@ static MUI_ENTRY msMYSelectPartitionEntries[] = } }; +static MUI_ENTRY msMYChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY msMYConfirmDeleteSystemPartitionEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "You have chosen to delete the system partition.", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "System partitions can contain diagnostic programs, hardware configuration", + TEXT_STYLE_NORMAL + }, + { + 6, + 11, + "programs, programs to start an operating system (like ReactOS) or other", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "programs provided by the hardware manufacturer.", + TEXT_STYLE_NORMAL + }, + { + 6, + 14, + "Delete a system partition only when you are sure that there are no such", + TEXT_STYLE_NORMAL + }, + { + 6, + 15, + "programs on the partition, or when you are sure you want to delete them.", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "When you delete the partition, you might not be able to boot the", + TEXT_STYLE_NORMAL + }, + { + 6, + 17, + "computer from the harddisk until you finished the ReactOS Setup.", + TEXT_STYLE_NORMAL + }, + { + 8, + 20, + "\x07 Press ENTER to delete the system partition. You will be asked", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, + " to confirm the deletion of the partition again later.", + TEXT_STYLE_NORMAL + }, + { + 8, + 24, + "\x07 Press ESC to return to the previous page. The partition will", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + " not be deleted.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER=Continue ESC=Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY msMYFormatPartitionEntries[] = { { @@ -1273,7 +1474,6 @@ static MUI_ENTRY msMYSelectFSEntries[] = "ENTER = Teruskan ESC = Batal F3 = Keluar", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1659,6 +1859,14 @@ MUI_PAGE msMYPages[] = SELECT_PARTITION_PAGE, msMYSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + msMYChangeSystemPartition + }, + { + CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, + msMYConfirmDeleteSystemPartitionEntries + }, { SELECT_FILE_SYSTEM_PAGE, msMYSelectFSEntries diff --git a/base/setup/usetup/lang/nl-NL.h b/base/setup/usetup/lang/nl-NL.h index 076240d56e0..55624d32e4e 100644 --- a/base/setup/usetup/lang/nl-NL.h +++ b/base/setup/usetup/lang/nl-NL.h @@ -945,6 +945,112 @@ static MUI_ENTRY nlNLSelectPartitionEntries[] = } }; +static MUI_ENTRY nlNLChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY nlNLConfirmDeleteSystemPartitionEntries[] = { { @@ -1389,7 +1495,6 @@ static MUI_ENTRY nlNLSelectFSEntries[] = "ENTER = Doorgaan ESC = Annuleren F3 = Afsluiten", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1718,14 +1823,14 @@ MUI_ERROR nlNLErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1792,6 +1897,10 @@ MUI_PAGE nlNLPages[] = SELECT_PARTITION_PAGE, nlNLSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + nlNLChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, nlNLConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/pl-PL.h b/base/setup/usetup/lang/pl-PL.h index d4d77483dc8..fb5f1e7b1cb 100644 --- a/base/setup/usetup/lang/pl-PL.h +++ b/base/setup/usetup/lang/pl-PL.h @@ -741,7 +741,8 @@ static MUI_ENTRY plPLDisplayPageEntries[] = "Chcesz zmieni\206 rozdzielczo\230\206 monitora.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 U\276ywaj\245c klawiszy G\340RA lub D\340\235, wybierz rozdzielczo\230\206 i llo\230\206", TEXT_STYLE_NORMAL @@ -941,6 +942,112 @@ static MUI_ENTRY plPLSelectPartitionEntries[] = } }; +static MUI_ENTRY plPLChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY plPLConfirmDeleteSystemPartitionEntries[] = { { @@ -1385,7 +1492,6 @@ static MUI_ENTRY plPLSelectFSEntries[] = "ENTER = Kontynuacja ESC = Anulowanie F3 = Wyj\230cie", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1778,6 +1884,10 @@ MUI_PAGE plPLPages[] = SELECT_PARTITION_PAGE, plPLSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + plPLChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, plPLConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/pt-BR.h b/base/setup/usetup/lang/pt-BR.h index d19033fadd0..721df7ed588 100644 --- a/base/setup/usetup/lang/pt-BR.h +++ b/base/setup/usetup/lang/pt-BR.h @@ -738,7 +738,8 @@ static MUI_ENTRY ptBRDisplayPageEntries[] = "A lista a seguir mostra os tipos de v\241deo dispon\241veis para instala\207\306o.", TEXT_STYLE_NORMAL }, - { 6, + { + 6, 10, "Use as teclas SETA PARA CIMA e SETA PARA BAIXO para selecionar", TEXT_STYLE_NORMAL @@ -945,6 +946,112 @@ static MUI_ENTRY ptBRSelectPartitionEntries[] = } }; +static MUI_ENTRY ptBRChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY ptBRConfirmDeleteSystemPartitionEntries[] = { { @@ -1401,7 +1508,6 @@ static MUI_ENTRY ptBRSelectFSEntries[] = "ENTER=Continuar ESC=Cancelar F3=Sair", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1726,14 +1832,14 @@ MUI_ERROR ptBRErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1800,6 +1906,10 @@ MUI_PAGE ptBRPages[] = SELECT_PARTITION_PAGE, ptBRSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + ptBRChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, ptBRConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/pt-PT.h b/base/setup/usetup/lang/pt-PT.h index 68d5a0b9d22..bd08cc81855 100644 --- a/base/setup/usetup/lang/pt-PT.h +++ b/base/setup/usetup/lang/pt-PT.h @@ -57,7 +57,7 @@ static MUI_ENTRY ptPTLanguagePageEntries[] = "\x07 Por favor, seleccione o idioma a ser utilizado durante a instala\207\306o.", TEXT_STYLE_NORMAL }, - { + { 8, 11, "\x07 O idioma seleccionado ser\240 o idioma padr\306o do sistema.", @@ -738,7 +738,8 @@ static MUI_ENTRY ptPTDisplayPageEntries[] = "A lista a seguir mostra os tipos de v\241deo dispon\241veis para instala\207\306o.", TEXT_STYLE_NORMAL }, - { 6, + { + 6, 10, "Use as teclas SETA PARA CIMA e SETA PARA BAIXO para seleccionar", TEXT_STYLE_NORMAL @@ -945,6 +946,112 @@ static MUI_ENTRY ptPTSelectPartitionEntries[] = } }; +static MUI_ENTRY ptPTChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY ptPTConfirmDeleteSystemPartitionEntries[] = { { @@ -1401,7 +1508,6 @@ static MUI_ENTRY ptPTSelectFSEntries[] = "ENTER=Continuar ESC=Cancelar F3=Sair", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1711,14 +1817,14 @@ MUI_ERROR ptPTErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1785,6 +1891,10 @@ MUI_PAGE ptPTPages[] = SELECT_PARTITION_PAGE, ptPTSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + ptPTChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, ptPTConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/ro-RO.h b/base/setup/usetup/lang/ro-RO.h index 8a1c5f2135b..8bd56a5a121 100644 --- a/base/setup/usetup/lang/ro-RO.h +++ b/base/setup/usetup/lang/ro-RO.h @@ -764,7 +764,8 @@ static MUI_ENTRY roRODisplayPageEntries[] = "Dori\376i modificarea parametrilor grafici de afi\272are?", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Utiliza\376i tastele SUS/JOS pentru a selecta", TEXT_STYLE_NORMAL @@ -964,6 +965,112 @@ static MUI_ENTRY roROSelectPartitionEntries[] = } }; +static MUI_ENTRY roROChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY roROConfirmDeleteSystemPartitionEntries[] = { { @@ -1408,7 +1515,6 @@ static MUI_ENTRY roROSelectFSEntries[] = "ENTER = Continuare ESC = Anulare F3 = Ie\272ire", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1816,6 +1922,10 @@ MUI_PAGE roROPages[] = SELECT_PARTITION_PAGE, roROSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + roROChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, roROConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/ru-RU.h b/base/setup/usetup/lang/ru-RU.h index 75e9f1e92df..16b53c9aaa2 100644 --- a/base/setup/usetup/lang/ru-RU.h +++ b/base/setup/usetup/lang/ru-RU.h @@ -750,7 +750,8 @@ static MUI_ENTRY ruRUDisplayPageEntries[] = "\202\353 \345\256\342\250\342\245 \250\247\254\245\255\250\342\354 \343\341\342\240\255\240\242\253\250\242\240\245\254\353\251 \342\250\257 \355\252\340\240\255\240.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 \215\240\246\254\250\342\245 \252\253\240\242\250\350\250 \202\202\205\220\225 \250\253\250 \202\215\210\207 \244\253\357 \242\353\241\256\340\240 \342\250\257\240 \355\252\340\240\255\240.", TEXT_STYLE_NORMAL @@ -950,6 +951,112 @@ static MUI_ENTRY ruRUSelectPartitionEntries[] = } }; +static MUI_ENTRY ruRUChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY ruRUConfirmDeleteSystemPartitionEntries[] = { { @@ -1394,7 +1501,6 @@ static MUI_ENTRY ruRUSelectFSEntries[] = "ENTER = \217\340\256\244\256\253\246\250\342\354 ESC = \216\342\254\245\255\240 F3 = \202\353\345\256\244", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1787,6 +1893,10 @@ MUI_PAGE ruRUPages[] = SELECT_PARTITION_PAGE, ruRUSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + ruRUChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, ruRUConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/sk-SK.h b/base/setup/usetup/lang/sk-SK.h index 1462032784d..412c3750388 100644 --- a/base/setup/usetup/lang/sk-SK.h +++ b/base/setup/usetup/lang/sk-SK.h @@ -738,7 +738,8 @@ static MUI_ENTRY skSKDisplayPageEntries[] = "Chcete zmeni\234 typ monitora, ktor\354 m\240 by\234 nain\347talovan\354.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Stla\237te kl\240ves HORE alebo DOLE pre v\354ber po\247adovan\202ho typu monitora.", TEXT_STYLE_NORMAL @@ -939,6 +940,112 @@ static MUI_ENTRY skSKSelectPartitionEntries[] = } }; +static MUI_ENTRY skSKChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY skSKConfirmDeleteSystemPartitionEntries[] = { { @@ -1383,7 +1490,6 @@ static MUI_ENTRY skSKSelectFSEntries[] = "ENTER = Pokra\237ova\234 ESC = Zru\347i\234 F3 = Skon\237i\234", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1705,14 +1811,14 @@ MUI_ERROR skSKErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1779,6 +1885,10 @@ MUI_PAGE skSKPages[] = SELECT_PARTITION_PAGE, skSKSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + skSKChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, skSKConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/sq-AL.h b/base/setup/usetup/lang/sq-AL.h index 98bd309e0e5..0964ea34e13 100644 --- a/base/setup/usetup/lang/sq-AL.h +++ b/base/setup/usetup/lang/sq-AL.h @@ -736,7 +736,8 @@ static MUI_ENTRY sqALDisplayPageEntries[] = "Ju deshironi t\211 ndryshoje llojin e ekranit p\211r t\211 instaluar.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Klikoni butonat UP aso DOWN p\211r t\211 p\211rzgjedhur tipin e ekranin t\211 d\211shiruar.", TEXT_STYLE_NORMAL @@ -937,6 +938,112 @@ static MUI_ENTRY sqALSelectPartitionEntries[] = } }; +static MUI_ENTRY sqALChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY sqALConfirmDeleteSystemPartitionEntries[] = { { @@ -1381,7 +1488,6 @@ static MUI_ENTRY sqALSelectFSEntries[] = "ENTER = Vazhdo ESC = Anulo F3 = Dil", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1706,14 +1812,14 @@ MUI_ERROR sqALErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1780,6 +1886,10 @@ MUI_PAGE sqALPages[] = SELECT_PARTITION_PAGE, sqALSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + sqALChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, sqALConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/sv-SE.h b/base/setup/usetup/lang/sv-SE.h index 0b392550fd7..09b89b172bd 100644 --- a/base/setup/usetup/lang/sv-SE.h +++ b/base/setup/usetup/lang/sv-SE.h @@ -738,7 +738,8 @@ static MUI_ENTRY svSEDisplayPageEntries[] = "\216ndra vilken typ av bildsk\204rmsinst\204llning som ska installeras.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 Anv\204nd UPP- och NED-piltangenterna f\224r att v\204lja \224nskad inst\204llning.", TEXT_STYLE_NORMAL @@ -939,6 +940,112 @@ static MUI_ENTRY svSESelectPartitionEntries[] = } }; +static MUI_ENTRY svSEChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY svSEConfirmDeleteSystemPartitionEntries[] = { { @@ -1383,7 +1490,6 @@ static MUI_ENTRY svSESelectFSEntries[] = " ENTER = Forts\204tt ESC = Avbryt F3 = Avsluta", TEXT_TYPE_STATUS }, - { 0, 0, @@ -1702,14 +1808,14 @@ MUI_ERROR svSEErrorEntries[] = }, { // ERROR_PARTITION_TABLE_FULL, - "You can not create a new primary or extended partition in the\n" + "You cannot create a new primary or extended partition in the\n" "partition table of this disk because the partition table is full.\n" "\n" " * Press any key to continue." }, { // ERROR_ONLY_ONE_EXTENDED, - "You can not create more than one extended partition per disk.\n" + "You cannot create more than one extended partition per disk.\n" "\n" " * Press any key to continue." }, @@ -1776,6 +1882,10 @@ MUI_PAGE svSEPages[] = SELECT_PARTITION_PAGE, svSESelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + svSEChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, svSEConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/tr-TR.h b/base/setup/usetup/lang/tr-TR.h index 5fad4675b9b..49672aa5275 100644 --- a/base/setup/usetup/lang/tr-TR.h +++ b/base/setup/usetup/lang/tr-TR.h @@ -729,7 +729,8 @@ static MUI_ENTRY trTRDisplayPageEntries[] = "Kurulum yap\215lacak g\224r\201nt\201n\201n t\201r\201n\201 se\207mek isteyebilirsiniz.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 \230stenen g\224r\201nt\201 t\201r\201n\201 se\207mek i\207in YUKARI'ya veya A\236A\246I'ya bas\215n\215z.", TEXT_STYLE_NORMAL @@ -923,6 +924,112 @@ static MUI_ENTRY trTRSelectPartitionEntries[] = } }; +static MUI_ENTRY trTRChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY trTRConfirmDeleteSystemPartitionEntries[] = { { @@ -1355,7 +1462,6 @@ static MUI_ENTRY trTRSelectFSEntries[] = "ENTER = S\201rd\201r ESC = \230ptal F3 = \200\215k", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1748,6 +1854,10 @@ MUI_PAGE trTRPages[] = SELECT_PARTITION_PAGE, trTRSelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + trTRChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, trTRConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/lang/uk-UA.h b/base/setup/usetup/lang/uk-UA.h index 4d12092d41b..61c81ca4572 100644 --- a/base/setup/usetup/lang/uk-UA.h +++ b/base/setup/usetup/lang/uk-UA.h @@ -737,7 +737,8 @@ static MUI_ENTRY ukUADisplayPageEntries[] = "\222\343\342 \242\250 \254\256\246\245\342\245 \247\254i\255\250\342\250 \342\250\257 \245\252\340\240\255\343.", TEXT_STYLE_NORMAL }, - { 8, + { + 8, 10, "\x07 \215\240\342\250\341\252\240\251\342\245 \252\253\240\242i\350i \202\202\205\220\225 \342\240 \202\215\210\207 \244\253\357 \242\250\241\256\340\343 \257\256\342\340i\241\255\256\243\256 \342\250\257\343 \254\256\255i\342\256\340\343", TEXT_STYLE_NORMAL @@ -938,6 +939,112 @@ static MUI_ENTRY ukUASelectPartitionEntries[] = } }; +static MUI_ENTRY ukUAChangeSystemPartition[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The current system partition of your computer", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "on the system disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "uses a format not supported by ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 18, + "In order to successfully install ReactOS, the Setup program must change", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "the current system partition to a new one.", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "The new candidate system partition is:", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 To accept this choice, press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 27, + "\x07 To manually change the system partition, press ESC to go back to", + TEXT_STYLE_NORMAL + }, + { + 8, + 28, + " the partition selection list, then select or create a new system", + TEXT_STYLE_NORMAL + }, + { + 8, + 29, + " partition on the system disk.", + TEXT_STYLE_NORMAL + }, + { + 6, + 32, + "In case there are other operating systems that depend on the original", + TEXT_STYLE_NORMAL + }, + { + 6, + 33, + "system partition, you may need to either reconfigure them for the new", + TEXT_STYLE_NORMAL + }, + { + 6, + 34, + "system partition, or you may need to change the system partition back", + TEXT_STYLE_NORMAL + }, + { + 6, + 35, + "to the original one after finishing the installation of ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY ukUAConfirmDeleteSystemPartitionEntries[] = { { @@ -1382,7 +1489,6 @@ static MUI_ENTRY ukUASelectFSEntries[] = "ENTER = \217\340\256\244\256\242\246\250\342\250 ESC = \221\252\240\341\343\242\240\342\250 F3 = \202\250\251\342\250", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, - { 0, 0, @@ -1776,6 +1882,10 @@ MUI_PAGE ukUAPages[] = SELECT_PARTITION_PAGE, ukUASelectPartitionEntries }, + { + CHANGE_SYSTEM_PARTITION, + ukUAChangeSystemPartition + }, { CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, ukUAConfirmDeleteSystemPartitionEntries diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c index daf786df87d..9f4f6b2a6d4 100644 --- a/base/setup/usetup/usetup.c +++ b/base/setup/usetup/usetup.c @@ -1788,7 +1788,6 @@ SelectPartitionPage(PINPUT_RECORD Ir) } } -// FIXME TODO: PartitionList->SystemPartition is not yet initialized!!!! if (CurrentPartition == PartitionList->SystemPartition || IsPartitionActive(CurrentPartition)) { @@ -2693,7 +2692,7 @@ ResetFileSystemList(VOID) * * SIDEEFFECTS * Calls UpdatePartitionType() - * Calls CheckActiveSystemPartition() + * Calls FindSupportedSystemPartition() * * RETURNS * Number of the next page. @@ -2722,14 +2721,172 @@ SelectFileSystemPage(PINPUT_RECORD Ir) /* Find or set the active system partition when starting formatting */ if (FormatState == Start) { - /* Find or set the active system partition */ - CheckActiveSystemPartition(PartitionList, - FALSE, - InstallPartition->DiskEntry, - InstallPartition); - if (PartitionList->SystemPartition == NULL) + /* + * If we install on a fixed disk, try to find a supported system + * partition on the system. Otherwise if we install on a removable disk + * use the install partition as the system partition. + */ + // TODO: Include that logic inside the FindSupportedSystemPartition() function? + if (InstallPartition->DiskEntry->MediaType == FixedMedia) { - /* FIXME: show an error dialog */ + SystemPartition = FindSupportedSystemPartition(PartitionList, + FALSE, + InstallPartition->DiskEntry, + InstallPartition); + /* Use the original system partition as the old active partition hint */ + PartEntry = PartitionList->SystemPartition; + + if ( SystemPartition && PartitionList->SystemPartition && + (SystemPartition != PartitionList->SystemPartition) ) + { + DPRINT1("We are using a different system partition!!!!\n"); + + MUIDisplayPage(CHANGE_SYSTEM_PARTITION); + + { + PPARTENTRY PartEntry; // Shadow variable + + PartEntry = PartitionList->SystemPartition; + DiskEntry = PartEntry->DiskEntry; + + /* Adjust partition size */ + PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; + if (PartSize >= 10 * GB) /* 10 GB */ + { + PartSize = PartSize / GB; + PartUnit = MUIGetString(STRING_GB); + } + else + { + PartSize = PartSize / MB; + PartUnit = MUIGetString(STRING_MB); + } + + /* Adjust partition type */ + GetPartTypeStringFromPartitionType(PartEntry->PartitionType, + PartTypeString, + ARRAYSIZE(PartTypeString)); + + if (*PartTypeString == '\0') // STRING_FORMATUNKNOWN ?? + { + CONSOLE_PrintTextXY(8, 10, + MUIGetString(STRING_HDDINFOUNK4), + (PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartEntry->PartitionType, + PartSize, + PartUnit); + } + else + { + CONSOLE_PrintTextXY(8, 10, + "%c%c %s %I64u %s", + (PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartTypeString, + PartSize, + PartUnit); + } + + + /* Adjust disk size */ + DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; + if (DiskSize >= 10 * GB) /* 10 GB */ + { + DiskSize = DiskSize / GB; + DiskUnit = MUIGetString(STRING_GB); + } + else + { + DiskSize = DiskSize / MB; + DiskUnit = MUIGetString(STRING_MB); + } + + CONSOLE_PrintTextXY(8, 14, MUIGetString(STRING_HDINFOPARTZEROED_1), + DiskEntry->DiskNumber, + DiskSize, + DiskUnit, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName, + DiskEntry->DiskStyle == PARTITION_STYLE_MBR ? "MBR" : + DiskEntry->DiskStyle == PARTITION_STYLE_GPT ? "GPT" : + "RAW"); + + + PartEntry = SystemPartition; + DiskEntry = PartEntry->DiskEntry; + + /* Adjust partition size */ + PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; + if (PartSize >= 10 * GB) /* 10 GB */ + { + PartSize = PartSize / GB; + PartUnit = MUIGetString(STRING_GB); + } + else + { + PartSize = PartSize / MB; + PartUnit = MUIGetString(STRING_MB); + } + + /* Adjust partition type */ + GetPartTypeStringFromPartitionType(PartEntry->PartitionType, + PartTypeString, + ARRAYSIZE(PartTypeString)); + + if (*PartTypeString == '\0') // STRING_FORMATUNKNOWN ?? + { + CONSOLE_PrintTextXY(8, 23, + MUIGetString(STRING_HDDINFOUNK4), + (PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartEntry->PartitionType, + PartSize, + PartUnit); + } + else + { + CONSOLE_PrintTextXY(8, 23, + "%c%c %s %I64u %s", + (PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartTypeString, + PartSize, + PartUnit); + } + + } + + while (TRUE) + { + CONSOLE_ConInKey(Ir); + + if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN) /* ENTER */ + { + break; + } + else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) /* ESC */ + { + return SELECT_PARTITION_PAGE; + } + } + + CONSOLE_ClearScreen(); + CONSOLE_Flush(); + } + } + else // if (InstallPartition->DiskEntry->MediaType == RemovableMedia) + { + SystemPartition = InstallPartition; + /* Don't specify any old active partition hint */ + PartEntry = NULL; + } + + if (!SystemPartition) + { + /* FIXME: improve the error dialog */ // // Error dialog should say that we cannot find a suitable // system partition and create one on the system. At this point, @@ -2737,9 +2894,14 @@ SelectFileSystemPage(PINPUT_RECORD Ir) // or use an external drive as the system drive/partition // (e.g. floppy, USB drive, etc...) // - return QUIT_PAGE; + PopupError("The ReactOS Setup could not find a supported system partition\n" + "on your system or could not create a new one. Without such partition\n" + "the Setup program cannot install ReactOS.\n" + "Press ENTER to return to the partition selection list.", + MUIGetString(STRING_CONTINUE), + Ir, POPUP_WAIT_ENTER); + return SELECT_PARTITION_PAGE; } - SystemPartition = PartitionList->SystemPartition; /* * If the system partition can be created in some @@ -2760,6 +2922,13 @@ SelectFileSystemPage(PINPUT_RECORD Ir) } } + /* Set it as such */ + if (!SetActivePartition(PartitionList, SystemPartition, PartEntry)) + { + DPRINT1("SetActivePartition(0x%p) failed?!\n", SystemPartition); + ASSERT(FALSE); + } + /* Commit all partition changes to all the disks */ if (!WritePartitionsToDisk(PartitionList)) { diff --git a/base/setup/usetup/usetup.h b/base/setup/usetup/usetup.h index 3e4d7d50c36..cf31b92a81c 100644 --- a/base/setup/usetup/usetup.h +++ b/base/setup/usetup/usetup.h @@ -97,6 +97,7 @@ typedef enum _PAGE_NUMBER CREATE_PRIMARY_PARTITION_PAGE, CREATE_EXTENDED_PARTITION_PAGE, CREATE_LOGICAL_PARTITION_PAGE, + CHANGE_SYSTEM_PARTITION, CONFIRM_DELETE_SYSTEM_PARTITION_PAGE, DELETE_PARTITION_PAGE,