diff --git a/base/setup/lib/utils/partlist.c b/base/setup/lib/utils/partlist.c index 7145b2f10d7..0d66b6c87ee 100644 --- a/base/setup/lib/utils/partlist.c +++ b/base/setup/lib/utils/partlist.c @@ -819,7 +819,10 @@ ScanForUnpartitionedDiskSpace( NewPartEntry->DiskEntry = DiskEntry; NewPartEntry->IsPartitioned = FALSE; - NewPartEntry->StartSector.QuadPart = (ULONGLONG)DiskEntry->SectorAlignment; + if (DiskEntry->SectorAlignment < 2048) + NewPartEntry->StartSector.QuadPart = 2048ULL; + else + NewPartEntry->StartSector.QuadPart = (ULONGLONG)DiskEntry->SectorAlignment; NewPartEntry->SectorCount.QuadPart = AlignDown(DiskEntry->SectorCount.QuadPart, DiskEntry->SectorAlignment) - NewPartEntry->StartSector.QuadPart; @@ -837,7 +840,10 @@ ScanForUnpartitionedDiskSpace( } /* Start partition at head 1, cylinder 0 */ - LastStartSector = DiskEntry->SectorAlignment; + if (DiskEntry->SectorAlignment < 2048) + LastStartSector = 2048ULL; + else + LastStartSector = DiskEntry->SectorAlignment; LastSectorCount = 0ULL; LastUnusedSectorCount = 0ULL;