Which filesystem is appropriate for formatting an USB-stick and install an operation-system?

I have installed my linux-system on a USB-stick. That works well, I can use it on different computers. I used ext4 as filesystem and ask myself it this is the best choice. Which file-system is best for USB-sticks? A good filesystem should not destroy the flash-drive too fast. Additional activities to secure data-integrity might be good (I do an daily backup). Another criterion might be higher performance.


The latest Linux kernels support F2FS a SSD optimized file system but it still experimental. If the system on the stick is not too critical you could try it out.

Otherwise with ext4:

  • disable the relatime flag (records access time)
  • enable TRIM (discard flag)

In general

  • use the NOOP scheduler instead of CFQ

Sample fstab

/dev/sda   /   ext4   noatime,nodiratime,discard,errors=remount-ro 0 1

Use EXT2 on flash drives to reduce write cycles. Every time you write to a EXT 4 drive, the journal must be updated which causes more writing. I use EXT 2 and password protect it using GParted or "Disk Utility".

I have never noticed a speed advantage with EXT 3 or 4 anyway.


FAT tends to be what they put on flash drives because it is the only filesystem that operates on all of the major operating systems.

NTFS tends be for people who

  1. Use Windows, and
  2. Prefer performance over safety

(FAT writes in a way that minimizes write grouping at the sacrifice of performance.)

Though it seems you are using Linux off of it. That case, ext4 is pretty much all you're gonna get out of it. It's journaling so data integrity is kept and is fairly fast and stable.

Word of advice with Linux USBs however: unless you use something like Slax or Puppy Linux, your drive isn't going to last much longer than 2, maybe 3 years.


Justa Guy is correct that the journaling feature of EXT4 will increase write frequency. The best Filesystem to use in your application is EXT4, but with journaling disabled and with Matteo's suggestions as well.

An even better portability solution, depending on the size of your volume, may be to move the volume to RAM at boot then write to disk at log off. In which case I would recommend Ext4, with journaling(default) and discard. The code for this is standard on a couple pen drive specific distros so you can just find the packages and re "make". This will result in precisely one write per session with no session data remaining on the host system and a fault tolerant file system so you can recover your image when a NAND cell goes bad.


According to Testing Out Linux File-Systems On A USB Flash Drive, the performance of EXT4 is better than others.