I am thinking about buying an SSD for my Debian system. However, because I don't know what is the optimal arrangement (i.e. what goes on the SSD), I am not sure what is the optimal size. Obviously I would like to find the sweet spot between performance and cost.

Currently I have one partition for the root of the system, one for /home and one for the swap. What should I move to the SSD? I was thinking to move the root filesystem, and leave the rest as it is. But on the other hand there is lots on configuration files in home, and these may slow the system as well. Obviously I don't want to have photos and multimedia files on SSD, but what about the rest of the /home? And the swap partition?

  • For deciding what in /home to put on the SSD you might want to have a look at askubuntu.com/q/52288/19490 Also, could you tell us about what you need to store, e.g. would everything fit on a reasonably priced SSD?
    – N.N.
    Dec 18, 2012 at 12:27
  • @N.N., definitely all the photos and multimedia files would not fit. I am pretty sure the rest would fit on a 240 GB+ drive, I would have to check if half of that would be enough.
    – Grzenio
    Dec 18, 2012 at 13:07

3 Answers 3


It seems like you've got the right idea. I'm going to assume that this is a home PC with a small number of users...

It can be a good idea to start completely fresh user profiles, in which case, you may want to create new user accounts, each with the same names and UIDs. It'd be easiest just to mount your previous /home partition, in /etc/fstab though.

If you create new user profiles on the SSD, then all the user-specific configuration files will be on the SSD, so logging in will be SSD-quick. The whereabouts of your home folder shouldn't affect boot-time, but would have a slight impact on the time taken to log in.

As you quite rightly said, you'll want to keep the media directories (Downloads, Videos, Pictures, etc.) on your other partition(s). I've found a pretty reliable way of doing this is to just create sym-links from the old media directories to your new home folder. If you had to do this for lots of users, this would quickly get tedious, unless you wrote a wrapper script around useradd which creates the sym-links automatically.

In terms of what sized disk to purchase, how much space are you using on your root partition now?

df -h will show how much space is taken up by each partition. See this answer on askubuntu to get an idea of the space occupied by all installed packages.

If you'll be using dd, to duplicate your old root partition to the SSD, you'll need a new drive at least as big as the old partition. If you have hundreds of gigabytes of free space on your current root partition, you can shrink the partition using a tool like gparted, and that will allow you to copy the whole partition across, before expanding it to fill the drive.

SSD drives are ideally suited for swap space, but I've already got an old swap partition, so I just use that. I see swap space as only strictly necessary in memory-limited emergencies, which I suffer very little from. YMMV.

Easiest solution? I'd just move the / partition, and keep the rest as is. I find SSDs mainly flourish in terms of boot time and application startup time. With that in mind, you only really need /boot, /usr, /lib and /var on the SSD; everything else can be elsewhere, with minimal effect on system performance.


Another optimisation worth making on SSD drives is with the mount flags specified in /etc/fstab. From the Arch Wiki and forum, on an ext4 partition, you might add:

UUID=xxx-xxx-xxx / ext4 rw,discard,data=ordered,noatime    0  1

The discard flag turns on TRIM support in the firmware; data=ordered optimises journaling on supported file systems on SSDs; noatime turns off recording files' last access time.

  • Forgot to mention fstab flags. See the ArchLinux wiki for ideas on good fstab flags to use.
    – Alex Leach
    Dec 18, 2012 at 19:04
  • It might be preferable to include the fstab flags issue to your post rather than as a comment.
    – N.N.
    Dec 18, 2012 at 19:34
  • true.. May as well :)
    – Alex Leach
    Dec 18, 2012 at 19:55

I can't help about choosing the SSD, in this case you should just search for reviews of several ssd and go through it and choose the one that fits you best.

If I would be using a SSD I would put / and swap on it including /home.

  • /usr, contains most of your system libraries and program executable files.
  • /etc, your configuration files
  • /bin, /sbin all the binaries mostly used for system administration
  • /home, your stuff and the things that most likely you will be using pretty often
  • swap for the obvious reason

The only thing that I would left out of it it would be something for storage, as you mentioned before, photos, videos, downloads and even maybe some software that I wouldn't be using often.


Choosing the Best Linux Filesystem for Your SSD

Ext4 is not designed with SSDs in mind. It is true that it has filesystem trim support (a critical SSD feature), but outside of that the filesystem was never designed for this use case. Why? It uses a filesystem journal. This means that the filesystem is constantly writing logs down and informing the system of every single change. This can quickly wear out the limited write-space on an SSD running Linux.

Ext4 is a satisfactory choice for solid-state drives with filesystem journaling disabled, and a decent choice for most users, but it should not be the first choice.


I would hold swap partition on HDD, because it not used in my practice.

  • Which filesystem would you recommend then (XFS?) and why? This is a loaded question :-)
    – Anon
    Aug 9, 2018 at 7:15
  • ext4 at this moment: access.redhat.com/discussions/3138231 Oct 18, 2019 at 10:24
  • I see you linked to a Red Hat discussion - don't Red Hat recommend XFS for anything that has non-tiny bandwidths (access.redhat.com/articles/3129891 )? (I said it was a loaded question ;-) PS: modern non-tiny SATA/NVMe SSDs do wear levelling in hardware (codecapsule.com/2014/02/12/… ) so the wear due to journal writes are not a significant problem.
    – Anon
    Oct 18, 2019 at 13:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .