Steam – How to fool Steam to think the exFat drive is NTFS

steam

My steam library is on an external drive that I had to format as exFAT to be able to write on OS X. Note that I play on Windows 7 64-bit, I just use this drive on both.

Steam, along with way other programs and softwares, were happy with this unless suddenly during uninstall process of one of the games via Steam, it wiped all the Steam library. I could not even recover it, have no idea what have happened.

So I went to install some of my games and upon installing of big ones like XCOM 2, Steam said that the drive can't be FAT32 and has to be NTFS. As explained, the drive is exFAT and NOT FAT32. I contacted Valve about this and they said they can't do anything about it.

So is there a way to make the Steam think that the drive is NTFS? Like with linking files or something.

Thanks.

EDIT: Obviously format to NTFS is not an option because I don't have 2TiB empty space somewhere to move data from this drive and to my knowledge there is no conversion from exFAT to NTFS without formatting.

Best Answer

Here is a solution for anyone interested. Seems hooking the internal call to GetVolumeInformation (as suggested in comments) was the right way to go. It appears that steam just checks if the returned filesystem name contains the string "FAT" which would explain why exFAT drives are also affected by this:

image desc

Anyway, I've compiled a dll file which I made available on github. All you need to do is inject the file into Steam.exe and steam will no longer bug you about FAT drives. This should also work for all future releases of the steam client... Hope it helps somebody!