Ele analisa os dados na partição, semelhante ao que file -s /dev/partition faz. Se você strace você deve ver coisas como esta:
lseek(3, 1048576, SEEK_SET) = 1048576
read(3, "3<0mkfs.fatlseek(3, 1048576, SEEK_SET) = 1048576
read(3, "3<0mkfs.fat%pre%..., 512) = 512
..., 512) = 512
Uma busca para posicionar 1048576 (1 MiB ou 2048 setores) está fora da tabela de partições (é o começo da primeira partição), e lê a partir daí, então está olhando outras coisas além da própria tabela de partições .
Ele também analisa /proc/mounts , para coletar informações de lá também. O que eu não vejo é o que o blkid faz.
As informações do sistema de arquivos mostradas por parted não são muito precisas, o exemplo acima mostra como sistema de arquivos FAT, mas na verdade está sendo usado como MD-RAID / LUKS / LVM. Os metadados do MD-RAID são 4k desde o início, então um cabeçalho FAT antigo no primeiro 4k pode sobreviver e confundir heurísticas como as de file ou parted ...