Almost there! Need help moving home directory

Okay, I took the plunge early and installed EndeavourOS and everything has worked amazingly!! I got all my applications installed and am super super super happy. Thank you again to all of you beautiful and helpful people!!

The last thing I have left is moving my home directory. On my second hard drive I have my home directory from my Ubuntu install. I need to clean out some of the files there, but then I want to copy everything from the home directory installed on my primary hard drive (from the Endeavour install) to it and change settings so that the system sees it as the home directory. I have a folder on that second hard drive with my username, so I think I need to point to that specific folder…or maybe the whole drive?

I did this in Ubuntu, but that was a while ago and I do not remember how I did it and I was not smart enough to bookmark the page I followed. I am a bit nervous with this part, so any help or advice is greatly appreciated. My biggest concern is copying everything over from the current home directory to the one on the other hard drive and not wiping out what is on the second hard drive.

Thank you in advance for any help and I love you all! I am hoping to turn some of my clergy colleagues on to the greatness of Linux, open source, etc.

Personally I would back up essential data and transfer them to your eos install. Just copying or cloning the whole home folder may contain additional conflicting config files from you earlier install. You may need to remove these if you want to copy everything. Other may have better tips for doing that.

Some more information about your partitioning setup would help. Less text more terminal output :wink:

sudo fdisk -l 

Welcome to eos btw, I recall when I installed it the first time was excited too!

The most common way to achieve your goal would be:

  • Mount your old home partition somewhere
  • Remove any data you don’t want from the old partition
  • Copy the data from your current home to the old partition
  • Alter /etc/fstab for the new /home partition
  • Test it by mounting /home
  • Reboot

To provide more specific instructions it would help to see the contents of your /etc/fstab and the output of sudo parted -l

1 Like

Do you mean from old to current?

Actually I may misunderstand the OP. Dont understand why copy the new home empty from eos to old harddrive… I would rather expect to copy existing data from old partition to new eos install.

The way I understand it is whether he can copy his whole home directory from Ubuntu install to new eos install. Confused…

No. The OP wants to mount his old home partition to replace the current. Presumably this is being done to gain access the disk space on the other device. So copy new to old then swap them.

I would achieve the goal a different way but that is just me.

Ok, me too :innocent:

Hey all,

I apologize if i was not making sense before (not enough coffee). So my laptop has 2 hdd. I had Ubuntu installed on the primary hdd and had moved my home directory to the 2nd hdd. I have wiped the primary hdd and installed Endeavour OS. I want to now copy everything from the home directory on the primary hdd to the home directory on the 2nd hdd (so i do not lose anything since the new install) and then switch it so the home directory on the 2nd hdd is the home directory for the system. I have cleaned up the home directory on the 2nd hdd so there are no lingering config files or anything that would cause any conflicts. Does this make more sense? I still have not had enough coffee…

I think my instructions above are correct if I understand what you are proposing.

Awesome! I will try that as soon as i get back home. You are all the best!!

1 Like

Okay, I am not having a lot of luck here…

/etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' 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).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=0993-99E7                            /boot/efi      vfat    defaults,noatime 0 2
UUID=3ebe07e0-5ae0-4c65-a306-6b9889d4932a /              btrfs   subvol=/@,defaults,noatime,compress=zstd 0 0
UUID=3ebe07e0-5ae0-4c65-a306-6b9889d4932a /home          btrfs   subvol=/@home,defaults,noatime,compress=zstd 0 0
UUID=3ebe07e0-5ae0-4c65-a306-6b9889d4932a /var/cache     btrfs   subvol=/@cache,defaults,noatime,compress=zstd 0 0
UUID=3ebe07e0-5ae0-4c65-a306-6b9889d4932a /var/log       btrfs   subvol=/@log,defaults,noatime,compress=zstd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
LABEL=data /mnt/data auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/sda3 /mnt/sda3 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=games 0 0

and sudo parted -l

Model: ATA Samsung SSD 870 (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      2097kB  317MB   315MB   fat32               boot, esp
 2      317MB   2952GB  2952GB  btrfs        root
 3      2952GB  4001GB  1049GB  ext4         games


Model: WD Red SN700 4000GB (nvme)
Disk /dev/nvme0n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  4001GB  4001GB  ext4

When I tried to copy/move the current /home directory to /home.old it tells me:

mv: cannot move '/home' to '/home_old': Device or resource busy

I was trying to follow the directions here: https://ostechnix.com/move-home-directory-to-new-partition-in-linux/ and/or here: https://www.howtogeek.com/442101/how-to-move-your-linux-home-directory-to-another-hard-drive/ and nothing I do is working. I am not sure what I did wrong. I cannot afford to lose the data on the second drive (/dev/nvme0n1) and I cannot figure out what I am doing differently or wrong compared to when I did this under my Ubuntu install. Any help is greatly appreciated. Sorry to be a pain…

What is this?

That means something was still looking at your /home. It isn’t really important to do that anyway.

The LABEL=data line I must have set to auto mount the second drive at start up. Guessing that is part of my problem. I can remove that and reboot and try the rest again if you think that is the problem. I am so sorry, I think I am overwhelmed (some other stuff and not wanting to lose data) and I feel like I am making stupid mistakes. I really appreciate your help and patience.

I don’t think you should follow random instructions on a website personally. Hopefully you ignored the part where it asked you to format the partition. :fearful:

Yes, I ignored the format the partition part. I picked it up at the instructions to

$ sudo umount /dev/sdb1
$ sudo mount /dev/sdb1 /home

except I used /nvme0n1 instead of /dev/sdb1

When I just tried this everything went to hell. I could not launch any apps even Dolphin. I tried to edit /etc/fstab with Kate and got some weird error. I just rebooted and things are working normal again, but I still do not have the snd hdd set and mounted as the /home/ folder. I am feeling I’m in over my head and wondering if I should have stayed with Ubuntu and am not ready for Endeavour OS…any other thoughts?

Well…yeah. you can’t do that inside your system. You mounted your old home on top of the new one.

I could give you instructions from the beginning but I am little worried about the current state of your system since the other instructions were followed.

Is there anything I can provide to you that would make you less worried? I understand if not. And again, I really appreciate your help and patience with me.

In theory should the directions here work: https://help.ubuntu.com/community/Partitioning/Home/Moving

Yes, those look better.

1 Like

You can do this with a simple copy, either in terminal (using cp, man cp for usage), or in a GUI File Manager.
IIUC you need your data, not hidden files. If, so, it is as previous.
If you need hidden files, you should be careful, as they are not always compatible to Arch. It would be preferred to copy them per case, not in batch.

You should not do that, unless you know what you are doing. I guess, since you are asking, you shouldn’t.

Okay, so following the directions in the last link I posted, I got to this step:

cd / && sudo mv /home /old_home && sudo mkdir /home

And it spits out this error:

mv: cannot move '/home' to '/old_home': Device or resource busy

I feel like I did this under Ubuntu with no issue the last time. I tried to Google this issue and came across some posts about checking what is in use or open. I found one that said to run this command logged in as the root account (which I know I did not do last time and as far as I know is usually not a good idea).

The reason I am trying to run that command is according to that page:

 We need to move the contents of the old home directory out of the way and create an empty "place-holder" directory to act as a "mount point" for our new partition. 

Any thoughts?