FAT16 - стандартное ограничение - 2 Гб (размер кластера при этом - 32 Кб).С помощью средств WinNT возможно создать раздел 4 Гб, который будет корректно работать в MS-DOS, однако, размер кластера при этом составит 64 Кб. Соответственно, хранить множество файлов небольшого размера на таком разделе очень неэкономно - значительная часть емкости раздела уйдет на т.н. Slack Space. Ограничение на размер файла - 2 Гб.
FAT32 - заявленный предел - 2 Тб (2 000 Гб), однако, в некоторых ОС не гарантируется корректная работа на разделах, объемом свыше 32 Гб. Также, в ОС Win95-Win98 на разделах свыше 64 Гб имеется проблема - эти разделы не смогут проверить GUI-версии Scandisk и Defrag. Ограничение на размер файла - 4 Гб. Стоит отметить, что некоторое ПО, рассчитанное на работу в среде WIN95-98 может не поддерживать работу с файлами, объемом выше 2 Гб - в основном это касается некоторых видео-редакторов и проигрывателей.
NTFS - заявленный предел - те же 2 Тб, хотя сама архитектура этой FS позволяет иметь раздел, гораздо больший по размерам. Размер файла на NTFS не ограничен (т.е. ограничен размером раздела). Также, раньше существовали ограничения на расположение загрузочного раздела NTFS - он должен был начинаться в пределах первых 2Гб дискового пространства накопителя, потом ограничение расширилось до 7.87 Гб, ну а затем, после появления Service Packs убрали и этот предел.
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // root directory
LPTSTR lpVolumeNameBuffer, // volume name buffer
 WORD nVolumeNameSize, // length of name buffer
LPDWORD lpVolumeSerialNumber, // volume serial number
LPDWORD lpMaximumComponentLength, // maximum file name length
LPDWORD lpFileSystemFlags, // file system options
LPTSTR lpFileSystemNameBuffer, // file system name buffer
 WORD nFileSystemNameSize // length of file system name buffer
);