3.1 | 3.5 | 3.51 | 4.0 | ← try to mount on | |
---|---|---|---|---|---|
3.5 | upd | ||||
3.51 | upd | yes | |||
4.0 | upd | yes | yes | ||
5+ | no | no | no | SP4 | |
↑ take a volume from |
In a nutshell: do not mix NT 3.x and NT 5+
According to Wikipedia, NTFS has had 5 versions so far; every version of Windows NT before Vista, except 3.51, has upgraded NTFS. An NTFS partition that has been mounted on newer versions of Windows NT, may not be mountable on older versions of Windows NT, because the OS silently upgrades NTFS on the partition, which is an irreversible process. This page lists all incompatibilities between different versions of Windows NT that I can find. I will be referring to names of versions of Windows NT, instead of version numbers of NTFS, because sometimes features get added without changing the version number of NTFS, and the version numbers of NTFS are not widely known and often confused with the version number of Windows NT itself, the first two segments of which would be the same as the "file version" number of the NTFS driver.
Both NTFS and FAT partitions accessed by NT 3.5 cannot be accessed by NT 3.1, until FS31UPD\<SYSTEM_TYPE>\UPDATE.EXE in the installation media of NT 3.5 and 3.51 is run on NT 3.1 to install the update. This is stated on Wikipedia and corroborated by SETUP.TXT in NT 3.5 installation media, as well as KB122441 from Microsoft. According to SETUP.TXT in NT 3.1 SP3 installation media, SP3 also contains the filesystem update. The update makes the NTFS support in NT 3.1 same as NT 3.5; that is, it can access partitions accessed by NT 3.5, 3.51 and 4.0, but not 2000 or XP.
NT 3.51 added support for file-level compression. Files that are compressed cannot be read by earlier versions of NT. This does not make the whole partition inaccessible by earlier versions of NT though. Compressed files would be missing from file listings when viewed on NT 3.5, and trying to access a compressed file directly by its file name would give the error "network request is not supported".
NT 3.51, both with SP5 and without any service packs, cannot read NTFS partitions from Windows 2000 or XP, but can read NTFS partitions from NT 4.0 SP6a.
NT 4.0 SP4 added support for accessing NTFS partitions accessed by later NT versions. There are reports (the linked threads in this thread) that it wouldn't work if SP4 or later is not installed. In my testing, explorer.exe crashes on SP3 with an access violation exception (0xc0000005) when trying to open an NTFS partition from Windows 2000, while on SP4 the same partition can be opened.
Windows Vista added support for symbolic links. (XP already had support for junctions.) Symbolic links don't work on XP but this doesn't make the whole partition inaccessible by XP.
Windows 8 upgraded the LFS (log file structure) version from 1.1 to 2.0 which is incompatible with prior versions of NT. NTFS partitions that are not cleanly dismounted will be marked as corrupted, triggering a disk check when booting non-Windows OSes, or prior versions of NT. To avoid this, you should turn off hybrid boot, and/or set a registry key to disable LFS upgrade. Both solutions are detailed on the linked page.
Windows 10 1709 increased the max cluster size of NTFS from 64 KB to 2 MB. "If you try to mount a volume with a cluster size larger than the supported maximum of the Windows version you're using, you get the error STATUS_UNRECOGNIZED_VOLUME." (source)
I have tested on real hardware using the same hard disk with all partitions being NTFS, that partitions do not become inaccessible when shared between XP, XP x64 (listed separately because it's NT 5.2, not 5.1), Vista, 7, 8, 8.1, and 10 1507.
"HPFS is only supported under Windows NT versions 3.1, 3.5, and 3.51. Windows NT 4.0 does not support and cannot access HPFS partitions. Also, support for the FAT32 file system became available in Windows 98/Windows 95 OSR2 and Windows 2000." (source)
"The FAT and HPFS file systems do not support Unicode filenames. (Nor will they in the future; to accomplish this, use NTFS.)" (source)
According to a Reddit post, "NT 3.5 added support for long file names on FAT file systems, which was a Windows 95 feature. NT 3.1 can use long file names, but only on NTFS/HPFS." This is corroborated by SETUP.TXT in NT 3.5 installation media: "using long filenames on FAT partitions might render those partitions inaccessible from within Windows NT 3.1."
Sysinternals/Winternals provided "NTFS for Windows 98". The freeware version from Sysinternals can only read, while the paid version from Winternals can read and write. However, according to a forum thread, it's "a disaster". (Winternals was mentioned on the Sysinternals site in 2001, but not in 2005.)
Sysinternals/Winternals also provides "FAT32 for Windows NT 4.0".
NTFS filesystem drivers on Windows 98 were also provided by Paragon (paid, r/w), purenetworking.net (paid, r/w), and DiskInternals (free, read only).