Skip Navigation

How can I migrate my existing /home/ directory to another drive?

This was I can wipe the drive it's on and install a new OS without losing anything in /home/

10
10 comments
  • Log in as root to avoid trying to make sure no files in /home/ are being read/written to.

    Step 1: copy data to new drive. Mount new drive to /mnt/. cp -ra /home/* /mnt/. -a means that all permissions remain the same which will mean that your user can still read them. Check the man page for more details. This command will take a while. Use -v to see progress. You should see a folder with your username appear.

    Step 2. Prepare /home for new drive. Move the files to a new folder. This is done to make sure you can still easily go back. mv /home/ /home-bak/ keep your old home dir safe in case a mistake was made. mkdir /home/.

    Step 3. Mount your new drive. Mount your drive to /home/ and check if you can login. If everything went correctly, you should be able to just login. Finally you need to update your /etc/fstab to include this new drive. This will make sure your home drive mounts when you start your os. If everything is working, you can delete your home-bak as well.

    24
  • If you have a root account that allows logging in in text mode (no X no Wayland, no GUI), you would do that instead. These instructions are for that case. The home of root is /root , so it would not be affected.

    Mount the new drive in an emty dir, if it isn't already.

    Make sure the other drives file system supports everything /home does.

    Set the exact same permissions as /home/ in the new drives top level directory.

    Add a line to fstab defining the other drive to be mounted automatically as /home .

    Move the contents of /home over to the other drive.

    Umount the other drive.

    Enter just: mount /home

    This should work without errors and if you peek inside, you should see user dirs and it should show up if you enter just: mount

    No reboot necessary, you could just log out, switch to the GUI login and log in as regular user. After your next boot you will find out if you edited your fstab correctly to auto mount it. If not just log in as root in text mode again and fix it.

    7
    1. Many Linux installers can preserve /home when asked nicely.
    2. (as root) rsync -avz /home/youruser/ other-machine:/home/
    5
  • In what way? Like a home partition?
    Home should just be a folder you can copy over in most cases.
    If it's a separate partition, most distros can just install to the other partitions without overwriting the home partition.

    4
  • Unsure what exactly you want to do, but this might be of help https://help.ubuntu.com/community/Partitioning/Home/Moving

    2
You've viewed 10 comments.