\r
Private->Signature = PARTITION_PRIVATE_DATA_SIGNATURE;\r
\r
- Private->Start = MultU64x32 (Start, BlockSize);\r
- Private->End = MultU64x32 (End + 1, BlockSize);\r
+ Private->Start = MultU64x32 (Start, ParentBlockIo->Media->BlockSize);\r
+ Private->End = MultU64x32 (End + 1, ParentBlockIo->Media->BlockSize);\r
\r
Private->BlockSize = BlockSize;\r
Private->ParentBlockIo = ParentBlockIo;\r
\r
Private->Media.IoAlign = 0;\r
Private->Media.LogicalPartition = TRUE;\r
- Private->Media.LastBlock = End - Start;\r
+ Private->Media.LastBlock = DivU64x32 (\r
+ MultU64x32 (\r
+ End - Start + 1,\r
+ ParentBlockIo->Media->BlockSize\r
+ ),\r
+ BlockSize\r
+ ) - 1;\r
\r
Private->Media.BlockSize = (UINT32) BlockSize;\r
\r