Category Archives: Linux

UDF (a FAT32 Replacement) Part 1

I’m always hearing about how FAT32 is a poor choice for a filesystem, but it’s also the universal filesystem that Mac, Windows, and Linux can all natively read and write. A few quick searches turned up the Universal Disk Format (UDF). It started off life as ISO 9660 (CD File Format), which we know pretty much all operating systems can read. As UDF has gone through a few versions, support for read/write block devices was added. I have verified that MacOS Mountain Lion, Windows 7, and Ubuntu 12.10 can all read and write to a UDF formatted flash drive. For reference I used a Toshiba 8GB Flash Drive.

To format a flash drive as UDF using MacOS:

  1. Plug the drive in
  2. Open Disk Utility
  3. Select the mounted partition of the flash drive, and click “Unmount”
    DiskUtility-Unmount
  4. Select the physical disk and click “Info”. This will tell you which device the disk is currently identified as. In this case, it is disk2.
    DiskUtility-Info
  5. Open Terminal with an Administrator account
  6. Type sudo newfs_udf /dev/<disk_from_step_4> (e.g. sudo newfs_udf /dev/disk2)
  7. You’re done.

The defaults for newfs_udf should be left alone, as the program picks the appropriate values for your drive. The one value you might want to edit is the -ecc-in-blks (Error correction code size). I will follow up on ECC in the comparison of file systems.

Coming next, a comparison of UDF, exFAT, and FAT32.