Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to be able to format my OS SDD and format and reinstall without losing any user data, is this possible? I'm currently doing this on Windows 7 and 8 with the help of portable apps and some hacks. Drivers are downloaded automatically on Windows so I don't know how to translate this on Linux.

For example, my Firefox and Thunderbird profiles are pointed to my second drive so I just update the path and I'm done.

What would be the best approach? I'm very confused about where things are installed, after reading a few articles apparently it's all over the filesystem (from /opt to /usr) so there's no easy way to do this? And of course I'm moving the /home folder to the other disk.

share|improve this question
Why do you want to reinstall your system? – pbm Nov 30 '12 at 19:28
Because mint recommends a fresh install on new updates. But that's not the main reason I do it on Windows, is because I can easily backup my entire system and do upgrades without having to add extra files or go through 200 folders looking for settings I might have missed. It also avoids unnecessary writings to my SSD (besides the space limitation). – braindamage Nov 30 '12 at 19:32
up vote 2 down vote accepted

It's actually quite straight forward.

You need to know how you use your system and what will grow over time. In general, the simplest is the following:

  • /home = your user directory as you already mentioned
  • /var = log files go here; mail spool; printer, etc -> this is good to place on a separate partition
  • /tmp = temporary files (you could do the allocation on RAM for quicker access)
  • swap file = put on your fastest HD and google swap file recommended size for linux (~1.5x RAM)

When you get more experience you'll know where on your linux system you seem to put your files, but optionally you may also want to consider these:

  • /usr/local = this may be a good place if you like to 'make' most of your installs
  • /opt = like /usr/local; also many apps are installing here more and more

    1. Migrate your current data to some other storage area
      • you can use rsync or cp to copy the files to another storage location
    2. Attach all the hard drives you want to have participate in your file system to the PC
    3. Install the fresh copy of linux. I have not used all the distributions, but one common theme among the ones I've used is the ability to configure your partitions and mount points during install
      • if you go with my recommendations above, you'll want to choose 'customize' partitions or mount points when the install gets to the point of formatting your drive
      • at this point, the wizard should show you a new screen that allows you to create, edit and delete partitions on your hard drives
      • it it's anything like Fedora it will have defaulted to only have the / partition and the swap partition
      • swap is usually defaulted at a sensible value; keep it
      • modify your / partition, subtracting from the default size the sizes that you want to assign /home and /var ... alternatively, if these will be on another hard drive, then you don't have to modify /, just define the /home and /var and other mount points on the other hard drive
      • note that if you don't want to do the optional ones now you can do them after without losing data
      • once you have the partitions/mounts configured like you want finish the wizard and let the system come up
    4. Copy your backed up data back to the right places (e.g., user1 data to /home/user1 and so forth)
    5. the wizard install will have taken care of mounting the /var file system to the correct place

if you need details outside of the install wizard (i.e., you want to do it yourself) let me know and I can walk you through that. Essentially the wizard is defining your partitions on the hard drives and then updating the /etc/fstab (for more 'man fstab' and 'man mount') so that your file system mounts correctly at boot time.

share|improve this answer
thanks for the awesome reply, I'm going to simulate the steps on a VM and give some feedback after i spent a few hours tweaking everything – braindamage Nov 30 '12 at 20:28
i was intentionally vague in my steps. i will admit i haven't installed mint, but i've done this 100s of times on RHEL, fedora, centos and others. i think the key here is to understand mount and fstab. you've got power once you know that; btw, if a directory exists like /somedirectory -- you can mount a whole file system (new hard drive) overlaying /somedirectory with the contents of the new hard drive. understanding this helps you with bullet point 3 (bold line). – Johnnie Nov 30 '12 at 20:35
yay, got everything up and running – braindamage Dec 2 '12 at 1:29

Your configuration files and user settings will reside in /home/user (where user is your username).

You can move it to your HDD and then leave the rest of your system (which will benefit from the faster speed - more so than a /home which is often made of smaller files) on the SSD.

That way, if you reinstall the operating system you only need to reinstall the apps you used before.

For this, partition the HDD accordingly (a partition for /home, for example) and add the adequate entry to /etc/fstab.

share|improve this answer
sorry but doesn't really help me since user data is also kept on the application folder (or other folders besides home) and also things like themes, icons and minor configurations are splitted all over the place so if it was the only option i'm better making full backups and restoring things manually after a fresh install. – braindamage Nov 30 '12 at 20:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.