Move /home to another partition

Move /home to another partition

After the stable updates 13 May, my PC and notebook were no longer running smoothly.
But this also means that I always learn something new.

Afterwards I decided to reinstall on the PC. But this time I had created an extra partition for my /home folder.
Which worked better than expected.
I only had to reinstall the missing programs.

Now to my notebook, I would like to shrink the partition I am using now and create a second one.
This should become my /home partition.

To do this, I thought I’d copy my /home to an external hard drive.

Then boot with the manjaro-kde-24.0-minimal-240513-linux69.iso, depending on how to do that, shrink the partition and create a new one or delete the linux partition and create two new ones, one for / and one for /home and swap.

Or is it possible without a new installation?

Which I would much prefer.

I have already found some articles about this here, which have given me more confusion than I had before.
Also when searching outside, there was also an article that is probably already archived here, can we still access it?
To read?
lsblk -f

NAME        FSTYPE FSVER LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                  
├─sda1      ntfs         Data    <filter>                      119,9G    87% /run/media/tony/Data
└─sda2      ntfs         Recover <filter>                                    
nvme0n1                                                                              
├─nvme0n1p1 vfat   FAT32         <filter>                              70,1M    27% /boot/efi
├─nvme0n1p2                                                                          
├─nvme0n1p3 ntfs         Boot    <56789>                                    
├─nvme0n1p4 ext4   1.0   NVMe-NB <12345>   18,4G    87% /
└─nvme0n1p5 swap   1             <0123>                [SWAP]

Gives me the following.
The sda1 and sda2 remain as they are.

The nvme0n1p3 is the pre-installed Windows partition.

The nvme0n1p4 is the / and the /home.

The question is, how can I move the /home to another partition one without reinstalling?

If a new ISO comes out, where the current errors with NVIDIA and Wayland and other little things are fixed,
I’ll do a new installation.

Thanks and greetings
Tony

##########################

/home auf eine andere Partition umziehen

Nach den Stable Updates 13 May liefen mein PC und mein Notebook nicht mehr ganz Rund.
Was aber auch dazu führt, dass ich immer wieder was neues dazu lerne.
Nachher habe ich mich, am PC dazu entschieden Neuzuinstallieren. aber dieses mal hatte ich eine extra Partition für mein /home Ordner erstellt.
Was besser als erwartet funktionierte.
Ich musste nur noch die fehlende Programme nachinstallieren.

Jetzt an meinen Notebook, würde ich gerne die jetzt benutzte Partition verkleinern und eine zweite erstellen.
Diese sollte meine /home Partition werden.

Dazu dachte ich, werde ich mein /home auf eine externe Festplatte kopieren.

Dann mit der manjaro-kde-24.0-minimal-240513-linux69.iso booten, je nachdem wie das geht, die Partition verkleinern und eine neue erstellen oder die linux Partition löschen und zwei neue erstellen, eine für / und eine für /home und swap.

Oder geht das auch ohne Neuinstallation?

Was mir viel lieber wäre.

Dazu habe ich hier schon einige Artikel gefunden, die haben mir mehr Verwirrung gegeben als ich vorher schon hatte. Bei der suche außerhalb, gab es z.B. auch ein Artikel der hier wohl schon Archiviert ist, kann man auf die noch zugreifen? Zum nachlesen?

lsblk -f

NAME        FSTYPE FSVER LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                  
├─sda1      ntfs         Data    <filter>                      119,9G    87% /run/media/tony/Data
└─sda2      ntfs         Recover <filter>                                    
nvme0n1                                                                              
├─nvme0n1p1 vfat   FAT32         <filter>                              70,1M    27% /boot/efi
├─nvme0n1p2                                                                          
├─nvme0n1p3 ntfs         Boot    <56789>                                    
├─nvme0n1p4 ext4   1.0   NVMe-NB <12345>   18,4G    87% /
└─nvme0n1p5 swap   1             <0123>                [SWAP]

Gibt mir folgendes.

Die sda1 und sda2 bleiben wie sie sind.
Die nvme0n1p3 ist die vorinstallierte Windows Partition.

Die nvme0n1p4 ist die / und die /home.

Die frage ist, wie kann ich die /home auf eine andere umziehen ohne Neuinstallation?

Wenn mal eine Neue ISO heraus kommt, bei der, die jetzigen Fehler mit NVIDIA und Wayland und anderer Kleinigkeiten behoben sind mache ich eine Neuinstallation.

Danke und Gruß
Tony

This might help:

2 Likes

Ja, das geht definitiv.

/ (die root Partition) verkleinern und im freigewordenen Platz eine neue für /home erstellen geht

Die Linux Partition löschen und neue / und /home erstellen geht nicht ohne weiteres - nicht ohne komplettes Backup und etwas Nacharbeit.

eine mögliche Prozedur:

Den Inhalt von /home auf einer externen Platte speichern - aber nicht einfach auf NTFS Dateisystem kopieren.
Wenn Du NTFS auf der externen verwendest, mußt Du das als tar Archiv speichern, sonst gehen Dir die Berechtigungen flöten.
Das ist dann Dein Backup und Du kannst mit dem Partition verkleinern usw. anfangen.

Wenn das erledigt ist spielst Du den Inhalt Deines /home Backups auf die neu erstellte Partition zurück
und trägst die in die /etc/fstab ein.

Fertig.

Wenn Du Dir die Struktur des Linux Dateisystems ansiehst
alles sind Verzeichnisse unterhalb von / (so wie: /home)
dann ist das tatsächlich ein bischen wie mit Lego spielen. :nerd_face:

What you’ll need to do is create your new /home partition, copy all the contents of the existing one to it (including the hidden .dotfiles) and add an entry in to /etc/fstab to point it to your new home partition.

EDIT: I forgot to mention that you will (probably) need to take ownership of the mountpoint for the new /home.

The easyest way may be login as root and using usermod command:

usermod -m -d /newhome/username username

Usage: usermod [options] LOGIN

Options:
-d, --home HOME_DIR :point_right: new home directory for the user account
-m, --move-home :point_right: move contents of the home directory to the new location (use only with -d)

Edit:

One thing I’ve just remembered… If you move your home dir to an external disk, next time you want to login, the external disk must be mounted before login, so first take a look at systemd mount and automount:

https://learning.lpi.org/en/learning-materials/101-500/104/104.3/104.3_01/

(In “Mounting Disks with Systemd” section)

1 Like

If you created timeshift snapshots on both system on the first place, you could save additional time and restore them and update your systems the right way to evade to reinstall your systems… just a hint for the future.

I also created a little Home replacement Topic here, about the user rights:

I’ll drop this here for consideration:

The above-mentioned methods would best be undertaken from a Live Manjaro installer, or similar. That is all.

I dare say, not easily… at least, not without a title to enable searching for it. :slight_smile:

1 Like

An old topic, covered more than once, one of these times were → [root tip] [How To] Move my home (content) to another partition

Hello and good evening to all of you,

Thank you.

Thanks to your help,

I managed to move the /home to a separate partition.

Not as easy and good as you had said, but nothing that I or other can learn as a layman over time.

It was difficult to reduce the size of the old / root, after booting from the ISO.

As in Windows, the partition is displayed in GB and if you want to make it smaller, you have to do it in MiB.
Who would come up with something like that?

Afterwards, copied into the free memory with the old /home and as you mentioned, wrote the UUID in the fstab.

It was difficult with the ISO, to change the user from root; root to tony:tony, which I didn’t was able to.

So I rebooted, which of course didn’t work, because I didn’t have write permissions to my new /home.

Then I switched TTY and logged in as root and then changed the user to tony:tony.

That’s it, all good

Thanks and greetings

Tony

### ###

Dank eurer Hilfe ist es mir gelungen,

die /home auf eine seperate Partition zu verlegen.

Nicht so einfach und gut wie ihr das gesagt hattet, aber nichts was man als Laie mit der zeit erlernen kann.

Als schwierig erwies sich, nach dem booten von der ISO, die alte / zu verkleinern.

Wie auch unter Windows wird hier die Partition in GB angezeigt und wenn man sie verkleinern möchte, muss man das in MiB machen. Wer denkt sich sowas nur aus?

Nachher, in den Freien speicher mit meiner /home kopiert und wie von euch erwähnt, die UUID in der fstab geschrieben.

Was sich auch noch als schwierig erwies, war mit der ISO, den Benutzer von root;root auf tony:tony zu ändern, was mir nicht gelungen war.

Also habe ich neu gebootet,was natürlich nicht funktionierte, weil keine Schreibrechte auf meine neue /home hatte.

Dann habe ich TTY gewechselt und mich als root eingeloggt und dann den Benutzer auf tony:tony geändert.
Das war es, alles gut

Danke und Gruß
Tony

1 Like