You are on page 1of 3

Partitioning/Home/Moving Pgina 1

Partitioning/Home/Moving
https://help.ubuntu.com/community/Partitioning/Home/Moving

Overview
This guide offers detailed instructions for migrating your
home directory into its own dedicated partition. Setting
up /home on a separate partition is beneficial because
your settings, files, and desktop will be maintained if you
upgrade, (re)install Ubuntu or another distro. This works
because /home has a subdirectory for each user's
settings and files which contain all the data & settings of
that user. Telling Ubuntu to use an existing home
partition can be done by selecting "Manual Partitioning"
during the installation of Ubuntu and specifying that you
want your home partitions mount point to be /home,
ensure you mark your /home partition not be
formatted in the process. You should also make sure the
usernames you enter for accounts during installation
match usernames that existed in a previous installation.

Tabla de Contenidos

1. Creating a new partition
1. Setup Partitions
2. Find the uuid of the Partition
3. Setup Fstab
4. Copy /home to the New Partition
5. Check Copying Worked
6. Preparing fstab for the switch
7. Moving /home into /old_home
8. Deleting the old Home
2. Technical Notes and Resources
1. Different filesystems on the same disk

This guide will follow these 6 basic steps:

1. Setup your new partition
2. Backup and edit your fstab to mount the new partition as /media/home (just for the time being) and reboot.
3. Use rsync to migrate all data from /home into /media/home.
4. Edit fstab again so the new partition mounts as /home instead of /media/home but not reboot just yet.
5. Move /home to /old_home and reboot
6. Delete /old_home.

The guide is written in such a way so that at any point in time if there is a system failure, power outage or random
restart that it will not have a negative impact on the system and SHOULD safeguard against the possibility of the user
accidentally deleting their home directory in the process.

Creating a new partition
Setting up /home on a separate partition is beneficial because your settings, files, and desktop will be maintained if
you upgrade, (re)install Ubuntu or another distro. This works because /home has a subdirectory for each user's
settings and files which contain all the data & settings of that user. Also, fresh installs for Linux typically like to wipe
whatever partition they are being installed to so either the data & settings need to be backed-up elsewhere or else
avoid the fuss each time by having /home on a different partition.

Setup Partitions
This is beyond the scope of this page. Try here if you need help. Memorize or write down the location of the
partition, something like /sda3. When you do create a new partition it is highly suggested that you create an ext3 or
ext4 partition to house your new home directory.

Find the uuid of the Partition
The uuid (Universally Unique Identifier) reference for all partitions can be found by opening a command-line to type
the following:
sudo blkid
Alternatively, for some older releases of Ubuntu the "blkid" command might not work so this could be used instead
sudo vol_id -u <partition>
for example
sudo vol_id -u /dev/sda3
Now you just need to take note (copy&paste into a text-file) the uuid of the partition that you have set-up ready to
be the new /home partition.

Partitioning/Home/Moving Pgina 2
Setup Fstab
Your fstab is a file used to tell Ubuntu what partitions to mount at boot. The following commands will duplicate your
current fstab, append the year-month-day to the end of the file name, compare the two files and open the original
for editing.

1. Duplicate your fstab file:
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
2. Compare the two files to confirm the backup matches the original:
cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
3. Open the original fstab in a text editor:
gksu gedit /etc/fstab
and add these lines into it
# (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings)
UUID=???????? /media/home ext3 defaults 0 2
and replace the "????????" with the UUID number of the intended /home partition.

NOTE: In the above example, the specified partition in the new text is an ext3, but if yours is an ext4 partition, you
should change the part above that says "ext3" to say "ext4", in addition to replacing the ???'s with the correct UUID.
Also note that if you are using Kubuntu, Xubuntu or Lubuntu you may need to replace "gedit" with "kate",
"mousepad" or "leafpad", respectively. They are text editors included with those distributions.

4. Save and Close the fstab file, then type the following command:
sudo mkdir /media/home
This command will create a new directory, later used for temporarily mounting the new partition. At the end of the
procedure this directory can be removed.
Now you can restart your machine or instead of rebooting you might prefer to just re-load the updated fstab
sudo mount -a
Either should have mounted the new partition as /media/home. We will edit the fstab again later so this
arrangement of the partition is only temporary.

Copy /home to the New Partition
Next we will copy all files, directories and sub-directories from your current /home directory into the new partition:
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.
The --exclude='/*/.gvfs' prevents rsync from complaining about not being able to copy .gvfs, but I believe it is
optional. Even if rsync complains, it will copy everything else anyway. (See here for discussion on this)

Check Copying Worked
You should now have two duplicate copies of all the data within your home directory; the original being located in
/home and the new duplicate located in /media/home. You should confirm all files and directories copied over
successfully. One way to do this is by using the diff command:
sudo diff -r /home /media/home

The only difference that should exist is the excluded /.gvfs directory mentioned above. If you are doing this from a
LiveCd or to an exisitng partition that already has stuff on it then you may find other differences but hopefully it
should be obvious which diffs you can ignore.

Preparing fstab for the switch
We now need to modify the fstab again to point to the new partition and mount it as /home. So again on a
command-line
gksu gedit /etc/fstab
and now edit the lines you added earlier, changing the "/media/home" part to simply say "/home" so that it looks
like this:
# (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings)
UUID=???????? /home ext3 defaults 0 2
Then, press Save, close the file but don't reboot just yet.

Partitioning/Home/Moving Pgina 3
Moving /home into /old_home
Backing up your old home, just in case things have not gone completely smoothly, is best done right now. Here is
how:

As long as you have not rebooted yet, you will still see 2 copies of your /home directory; the new one on the new
partition (currently mounted as /media/home) and the old one still in the same partition it was always in (currently
mounted as /home). We need to move the contents of the old home directory out of the way and create an empty
"placeholder" directory to act as a mount point for our new partition.

Type the following string of commands in to do all this at once:
cd / && sudo mv /home /old_home && sudo mkdir /home

By default, when you open a terminal window it places you within your home directory. Typing cd / takes us to the
root directory and out of home so we can then use the sudo mv command to essentially rename /home into
/old_home, and finally create a new, empty /home placeholder.

With your fstab now edited to mount your new partition to our /home placeholder and the original /home now
called /old_home, reboot your computer. Your new partition will mount as /home and everything should look
exactly the same as it did before you started.

Instead of rebooting you might prefer to just re-load the updated fstab
sudo mount -a
There is no real need to reboot at all!

Deleting the old Home
You can delete your old home directory with:
cd /
sudo rm -r /old_home
Be careful with the above command as mistyping it could result in the deletion of other files and directories.

Technical Notes and Resources
Rsync was chosen over cp and find|cpio because it seemed to maintain permissions.

http://ubuntu.wordpress.com/2006/01/29/move-home-to-its-own-partition/
http://ubuntuforums.org/showthread.php?t=46866

Different filesystems on the same disk
If you're moving from Windows and your new home partition is going to be an old ntfs partition (the D: disk) while
you convert the C: disk to a journaling partition where you install Linux, this won't work, there will be a huge load on
the processor. You should convert the two partitions to ext3 or ext4 or keep both partitions as ntfs (I haven't
checked this last option). But working with two different filesystems on the same drive simultaneously doesn't seem
to be a good option.

Partitioning/Home/Moving (ltima edicin 2013-08-13 19:43:15 efectuada por psusi)

The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details

You might also like