Ubuntu – Ubuntu on a USB stick – mount options to reduce writes

ext4fat32mountpartitioningusb

I'd like to have Ubuntu installed on a USB stick, that I could plug in (almost) any computer and boot from it, and that I could use (almost) normally, as if it was installed on that computer. I'd also like to have a data partition on it that could be used by (almost) any computer, mostly to store some portable apps, just in case.


My main concern is to increase the lifetime of my drive, but without making it too unstable.

To do that, I have to choose the right options in /etc/fstab for my partitions.
Currently, I'm thinking about these:

  • /: ext4, defaults,lazytime,commit=60,errors=remount-ro
  • /media/data: FAT32, defaults,lazytime,check=strict

So lazytime should be better than the often proposed noatime or the default relatime, since, as I understand it, it's applied to creation, access and modification times, it's POSIX compliant (contrary to relatime), and it reduces the amount of write cycles by storing times in RAM and writing them from time to time.

Combined with commit=60, it should reduce writes enough to compensate the journal of ext4, that I want to keep to have a stable system.

Do you think those options are good enough?
Do you see other options I could use to reduce writes but keep a stable system?


My current setup:

  • USB stick: SanDisk Ultra Fit (32 Go)
  • OS: Xubuntu 16.04 i386
  • installation: full install (from a Live USB built with Rufus)
  • drivers: none proprietary
  • file systems:
    • partition table: GPT
      • 2: ESP, /boot/efi, 128 Mio, FAT32, [boot,esp]
      • 3: ABP, 128 Mio, HFS+
      • 4: BBP, 2 Mio, [bios_grub]
      • 5: swap, 512 Mio
      • 6: root, /, 24 Gio, ext4, defaults,errors=remount-ro,lazytime,commit=60
      • 1: data, /media/data, ~3.6 Gio, FAT32, defaults,lazytime,check=strict
    • RAM:
      • /tmp, tmpfs, defaults,nosuid,nodev,noexec,mode=1777
  • swap:
    • vm.swappiness=5
    • swap partition: 512 Mio, for emergency
    • zRAM
    • swap files:
      • /var/swap/hib.swp: same size as RAM, for hibernation, generated by a script at startup
      • /var/swap/opt.swp: if needed, generated by a script
  • overprovisioning: ~5.6%
    • built-in: ~1.2 Gio (apparently)
    • added: 512 Mio
  • scheduler: deadline

Best Answer

I have made a lot of installed systems into USB flash drives, and I think such systems can work quite well. You have found some mount options, that I have not found (and not used). I am looking forward to future reports from you :-)


See this link about my systems, and the tweaks that I suggest,

help.ubuntu.com/community/Installation/UEFI-and-BIOS#Final_system_tweaks

I think it is important to get a fast USB 3 flash drive (and I think there are better drives for this purpose than the Ultra Fit),

help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed

I think that the lifetime of good USB pendrives is rather good now, but still, it is important to backup all important files at regular intervals.


An alternative is a persistent live drive with a casper-rw partiiton, and if you wish you can add a home-rw partition,

help.ubuntu.com/community/mkusb/persistent

A persistent live drive is more portable, but cannot be updated and upgraded like an installed system (the kernel and drivers cannot be upgraded). But an installed system is often portable enough.