I recently purchased a 32gb usb stick that was formatted as fat32 I plugged it into my computer and attempted to copy a film onto it, the file was over 4GB however and it would not let me copy the file across because of the 4GB file size limit imposed by FAT32 .

After some googling I found that I could format my USB stick to have an exFAT format which would mean I could put files onto the stick greater than 4GB in size and the drive would work on both my Mac and my PC.

The problem with this solution is that my ps3 does not recognize the usb stick when it is formatted with exfat

Tell me the easiest way to format a usb stick for files larger than 4 gb that work on a pc mac and a ps3

Best Answer


Natively, you cannot store files larger than 4 GB on a FAT file system. The 4 gb barrier is a hard limit of fat: the file system uses a 32-bit field to store the file size in bytes, and 2^32 bytes = 4 gib (actually, the real limit is 4 gib minus one byte, or 4 294 967 295 bytes, because you can have files of zero length). You cannot copy a file that is larger than 4 gib to any plain-fat volume exFAT solves this by using a 64-bit field to store the file size but that doesn't really help you as it requires a reformat of the partition.

However, if you split the file into multiple files and recombine them later, that will allow you to transfer all of the data, just not as a single file (so you'll likely need to recombine the file before it is useful). For example, on linux you can do something similar to.

$ truncate -s 6G my6gbfile
$ split --bytes=2GB --numeric-suffixes my6gbfile my6gbfile.part
$ ls
my6gbfile         my6gbfile.part00  my6gbfile.part01
my6gbfile.part02  my6gbfile.part03
$

Here, I use truncate to create a sparse file 6 GiB in size. (Just substitute your own.) Then, i split them into segments approximately 2 gb in size each; the last segment is smaller, but that does not present a problem in any situation i can come up with. You can also, instead of --bytes=2GB , use --number=4 if you wish to split the file into four equal-size chunks; the size of each chunk in that case would be 1 610 612 736 bytes or about 1.6 GiB.

To combine them, just use cat (con cat enate).

$ cat my6gbfile.part* > my6gbfile.recombined

Test if the two are identical

$ md5sum --binary my6gbfile my6gbfile.recombined
58cf638a733f919007b4287cf5396d0c *my6gbfile
58cf638a733f919007b4287cf5396d0c *my6gbfile.recombined
$

This can be used with any maximum file size limitation.

Many file archivers also support splitting the file into multi-part archive files; earlier this was used to fit large archives onto floppy disks, but these days it can just as well be used to overcome maximum file size limitations like these. File archivers also usually support a "store" or "no compression" mode which can be used if you know the contents of the file cannot be usefully further losslessly compressed, as is often the case with already compressed archives, movies, music and so on; when using such a mode, the compressed file simply acts as a container giving you the file-splitting ability, and the actual data is simply copied into the archive file, saving on processing time.