diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -1032,7 +1032,8 @@ d_offset = dev->d_offset; } if (disk_blocks == 0) - disk_blocks = bd->bd_sectors - d_offset; + disk_blocks = bd->bd_sectors * (bd->bd_sectorsize / + BIOSDISK_SECSIZE) - d_offset; /* Validate source block address. */ if (dblk < d_offset || dblk >= d_offset + disk_blocks)