NOTE: I'm working specifically with VHDs, but I'm assuming similar rules govern physical hard disks. Please correct me if I'm wrong in that assumption, but even if I am, it's a moot point for my particular use case.
CONTEXT
OS: Windows 7 (x64) Ultimate
I'm attempting to create single-volume VHDs that have free space of a given size, e.g. if I want exactly 2 GB (2,147,483,648 bytes) free after all initializing and formatting are completed, I figured out I have to create the VHD as 2,092 MB (2,193,620,992 bytes).
I am using MBR, which I've discovered will consume 3,076 KB (3,149,824 bytes) upon initialization, regardless of VHD size - I'm assuming to store the partition / volume information?
However, in my 2 GB example, I would then create a single NTFS volume using the full available space, and once the drive is available, you can see that some space is already used - 41,980 KB (42,987,520 bytes) to be exact.
QUESTIONS
What is this space being used for? Is there any reason it has to be used, or can it be reclaimed for normal data storage?
Is there a calculation I can use to know how much space will be consumed after the NTFS volume creation?
I'm going to want VHDs of different sizes, and would like to be able to pre-determine this lost space, rather than using trial and error. I've attempted creating VHDs of different sizes and comparing the values of the used space, trying to find either a consistent percent-of-original used or a fixed-amount + percent-of-original. I haven't been able to determine a consistent pattern.Would my end goal be easier to accomplish via GPT instead of MBR? I haven't bothered experimenting with it.
Likewise, would it be easier with a format other than NTFS?