How is FOG able to distinguish between empty space and unallocated space?
More specifically, I was reading up on the Single Disk - Resizable mode on https://wiki.fogproject.org/wiki/index.php?title=Managing_FOG#Images and it got me thinking. How exactly does FOG do this? Does FOG include the empty/unallocated (unformatted/raw) space in the capture, and how does it discern between the two? If I only partition out half of a 500gb drive and capture, it would make it smaller than a 500gb drive fully partitioned out with the same OS/data on the drive even if only 100gb on both images were being “used”?
I’m not understanding your question. Or at least not understanding what you mean or are intended to obtain.
FOG, itself, knows nothing about your Drives used/free space. We use a block based imaging tool called partclone. Partclone can detect the used vs. free/empty space.
All Fog does is use utilities that are readily available to do all the work. FOG just automates the usage and mathematics of these things to help with resizing and expanding.
I’m sure this isn’t the answer your looking for, but to understand what I mean you’d have to look at the source code. https://github.com/fogproject/fos
Specifically the bin and usr/share/fog locations.