Install and Optimize Linux Mint on a Solid State Drive

  13 years ago

The problem

There are some specific netbooks with solid state drives. On a normal installation, the solid state drive's slow write speeds makes the system less responsive.

A solution

This tutorial is based on the how-to about installing Ubuntu on Acer Aspire One 110 found on the Ubuntu Forums.

Basic requirements

  • Some USB creator software, like UNetbootin or Linux Live USB Creator, that works on your current operating system.
  • USB external drive (thumbdrive or external HDD) with at least 1GB of storage space, Fat32 formatted.
  • Download and install your favorite Linux Mint ISO on the external USB drive.
  • Make sure that your device (netbook) with SSD can boot from the USB storage device.

Create the Live Installable USB and installation on the SSD

a. Use the USB creator software to make the Live Installable USB.

b. Boot from the prepared thumbdrive or external disk drive.

c. Once you can see the option to Install Linux Mint, launch the installer.

d. Create custom partitions with the ext4 filesystem.


1. Turn off journaling, which reduces writes to the drive, to make a couple tweaks for better drive performance. Open the Terminal and run the command:

sudo mke2fs -t ext4 -O ^has_journal /dev/sda1

2. To maintain stability, configure the system to check the drive for any errors every 7 days:

tune2fs –i 7d

3. Also, configure the system to check the drive every 15 boots or mounts:

tune2fs –c 15

4. Reduce swappiness to make the operating system avoid the use of the swap area and prefer to use the memory modules instead. Open your /etc/sysctl.conf file with the gedit text editor,  make a new line at the bottom of the file and add this:


5. Mount the file system with the noatime option when using in in flash memory sticks or SSD drives. This is useful to avoid the extra work of updating the access time (atime) every time we open a file. Open your /etc/fstab file with the gedit text editor and add ‘noatime’ where shown below. If it looks different, simply change the words 'relatime' to 'noatime' and save the changes before closing the file:

# /etc/fstab: static file system information.
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=211f3838-e60b-4472-a58d-b58bdf6aea9d /               ext4    noatime,errors=remount-ro 0       1
# swap was on /dev/sda2 during installation
UUID=01156c98-0cae-4354-b989-eefb7bbd67fb none            swap    sw              0       0

6. Install all the updates from the Update Manager and enjoy!

Raffie7Rooster 8 years ago

I have not seen a particular need for adjusting my SSD usage on LM. I have installed LM on many SSD HD's with no apparent degradation of performance. I may just not be aware enough to know the difference.

Fraoch 10 years ago

Is turning off journaling a good idea, given that many drives fail on power interruption like this?

Aren't drive corruption errors on power loss supposed to be addressed by journaling?

newpaul 12 years ago

Without getting into much fuss, it seems to me that the page "Installing Ubuntu on a SSD" [] at "ASK Ubuntu" updates this issue, with a very simple & straighforward (& relaxing) point of view. Don't forget to look at the Answers, down from de general description. Apart from the technical stuff, you get testimonies like this: "The folks who made my SDD assert that I don't need to worry about TRIM and optimizations, etc. They claim their firmware makes all of that unnecessary, that the SSD should be used like any other drive. I took them at their word and so far so good."

fliteshare 12 years ago

Only problem is the "mke2fs" command has to be used BEFORE install. The remaining instructions can be done post install.

marcus0263 12 years ago

Also use ext4's cleanup option with drives that support trim, use "discard"

Example -
UUID=cba0d737-5122-4bdf-bd04-69b1a6cd12fd /var/log ext4 noatime,inode_readahead_blks=64,discard 0 1