Deploy Refused — Sector Size Mismatch¶
Symptom¶
A deploy task stops early — before the disk is written — with a message like:
Sector size mismatch
Image was captured on a disk with 4096-byte logical sectors, but /dev/sda
uses 512-byte logical sectors.
Partition-table and filesystem geometry cannot be translated between logical
sector sizes, so this image cannot be deployed to this disk.
Deploy this image only to a disk with 4096-byte logical sectors, or capture a
new image on a disk with 512-byte logical sectors.
What it means¶
The image was captured on a disk whose logical sector size (512 or 4096
bytes) is different from the disk you're deploying to. FOG cannot translate
partition-table and filesystem geometry between the two, so it refuses rather
than write a disk that won't boot. Nothing was written — the target disk is
untouched.
On newer FOS builds the message also includes a line about the target's device
type, for example:
/dev/mmcblk0 is an eMMC/SD device; its 512-byte logical sector size is fixed
by the MMC/SD specification and cannot be changed. Only an image captured on
512-byte-sector hardware can deploy to it.
That line tells you which side of the mismatch can be fixed: if the target's
sector size is fixed (eMMC/SD, UFS), recapturing on matching hardware is
the only remedy; if the target is a virtual disk, you can change its sector
size in the VM's disk configuration instead.
For the full explanation of why this happens — and what each device type can
and can't do — see
Sector Sizes and Imaging.
How to fix it¶
Pick whichever fits your situation:
-
Deploy to matching hardware. Send this image to a disk with the same
logical sector size it was captured on (the message tells you which). 512n and
512e disks are interchangeable; 4Kn disks are not interchangeable with either. -
Recapture on the target geometry. If you need this image on the current
hardware, capture a fresh image from a machine whose disk matches, then deploy
that image instead. -
Let FOS reformat an NVMe target. If the target is an NVMe drive that
supports the image's sector size, FOS offers to low-level reformat it to match
after a 60-second cancel window. See
NVMe targets can be reformatted to match.
NVMe is the only device type this works for — not SATA/SAS, eMMC/SD, UFS, or
USB targets, and not NVMe drives that are 4Kn-only. See
Sector sizes by device type
for the per-type breakdown. -
Virtual machine target? The disk's logical sector size is set by the
hypervisor, not the virtual disk itself. Change the disk's
logical_block_size(QEMU/libvirt/Proxmox) to match the image and redeploy.
Checking a disk's sector size¶
From a FOS shell (a debug task) or any Linux host:
blockdev --getss /dev/sdX # logical sector size: 512 or 4096
blockdev --getpbsz /dev/sdX # physical sector size
Match the logical size (--getss) between the image's source disk and the
deploy target.
See also¶
- Sector Sizes and Imaging — the full reference
- Deploy an Image