Да, это зависит от файловой системы, но многие файловые системы делают это примерно одинаково: для каждого файла на жестком диске есть блок, в котором хранятся метаданные о файле, включая его размер.
Например, для многих файловых систем, используемых в Linux / UNIX, этот блок называется inode . Обратите внимание, что inode на самом деле не является частью файла, поэтому он не является заголовком; он существует в области диска, зарезервированной для хранения метаданных, а не данных файла.
На NTFS , файловая система, используемая Windows, данные о размере файла хранятся в таблице основных файлов. Это примерно эквивалентно таблице inode в файловой системе Linux.