So verschieben Sie Ihr Linux-Home-Verzeichnis auf ein anderes Laufwerk

Möchten Sie Ihren Linux-Home-Ordner auf ein anderes Laufwerk verschieben? Hier ist eine einfache und schrittweise Vorgehensweise, die bei jeder Distribution funktionieren sollte. Wenn Sie Ihren Home-Ordner verschieben, können Sie Linux neu installieren und müssen sich nicht um Ihre persönlichen Dateien kümmern.

Warum sollten Sie Ihren Heimordner getrennt halten?

Wenn Sie eine neue Maschine einrichten oder eine Festplatte zu einer vorhandenen hinzufügen, möchten Sie möglicherweise Ihr Home-Verzeichnis auf einem anderen Laufwerk als dem Standardverzeichnis speichern.

Eine immer beliebter werdende Konfiguration für moderne PCs besteht darin, ein mittelgroßes Solid State Drive (SSD) mit Ihrem Betriebssystem und ein größeres Solid State Hybrid Drive (SSHD) oder eine herkömmliche Festplatte (HD) als Hauptspeicher für Daten zu verwenden. Oder Sie haben eine einzelne herkömmliche Festplatte in Ihrem System und haben eine neue HD für mehr Speicherplatz hinzugefügt. Was auch immer Ihre Gründe sind, hier ist ein einfacher und schneller Durchlauf zum Verschieben Ihres Home-Verzeichnisses.

Übrigens, wenn Sie ein Linux-System von Grund auf neu installieren, sehen Sie wahrscheinlich eine Option zum Erstellen eines separaten Home-Verzeichnisses im Installationsprogramm Ihrer Linux-Distribution. Im Allgemeinen müssen Sie nur in die Partitionierungsoptionen gehen, eine separate Partition erstellen und sie unter „/home“ mounten. Wenn Sie jedoch bereits eine Linux-Distribution installiert haben, können Sie diese Anweisungen verwenden, um Ihr aktuelles Home-Verzeichnis an einen neuen Ort zu verschieben, ohne etwas zu verlieren oder Ihr Betriebssystem neu zu installieren.

Bevor wir beginnen, gehen Sie und machen Sie ein Backup.

Identifizieren Sie das Laufwerk

Wenn Sie gerade ein Laufwerk in einen Linux-Computer eingebaut oder Linux auf einem der Laufwerke in einem neuen Computer mit mehreren Laufwerken installiert und neu gestartet haben, gibt es kaum Hinweise darauf, dass das neue Laufwerk überhaupt vorhanden ist.

Der fdisk-Befehl wird listet die Laufwerke und ihre Partitionen auf für uns.

sudo fdisk -l

Scrollen Sie durch die Ausgabe, bis Sie das neue Laufwerk identifiziert haben. Das erste Laufwerk heißt /dev/sda , das zweite ist /dev/sdb und so weiter, wobei der letzte Buchstabe jedes Mal erhöht wird. /dev/sde wäre also die fünfte Festplatte im System.

In diesem Beispiel ist das neue Laufwerk das zweite Laufwerk, das in das System eingebaut wird. Wir müssen also nach einem Eintrag für /dev/sdb suchen.

/dev/sdb ist oben hervorgehoben. Sie werden feststellen, dass es keine Zeile gibt, die eine Partition beschreibt. Es ist ein brandneues Laufwerk, also wird es noch keins haben. Wir müssen die Partition erstellen. Wir können dies mit fdisk tun. Wenn Ihre Festplatte nicht /dev/sdb ist, stellen Sie sicher, dass Sie /dev/sdb durch die tatsächliche Laufwerkskennung für Ihre neue Festplatte im Befehl ersetzen.

sudo fdisk /dev/sdb

Wenn fdisk Sie zur Eingabe eines Befehls auffordert, drücken Sie den Buchstaben p. Dies druckt die Partitionstabelle für die Festplatte. Wir wissen, dass es keinen haben wird, aber wir erhalten einige nützliche Informationen über das Laufwerk. Dies gibt uns eine gute Chance, sicherzustellen, dass das Laufwerk, für das wir eine Partition erstellen, das Laufwerk ist, mit dem wir arbeiten wollten.

  So spielen Sie Company of Heroes unter Linux

Es sagt uns, dass es sich bei dem Laufwerk um ein 1-TB-Laufwerk handelt, was unseren Erwartungen in diesem Testgerät entspricht, also fahren wir fort.

Erstellen Sie eine Partition

Drücken Sie den Buchstaben n für eine neue Partition und dann p für eine primäre Partition. Wenn Sie nach der Partitionsnummer gefragt werden, drücken Sie die Nummer 1.

Wir werden eine einzelne Partition für die gesamte Festplatte erstellen. Wenn wir also nach dem ersten Sektor gefragt werden, können wir die Eingabetaste drücken, um den Standardwert zu akzeptieren. Sie werden dann nach dem letzten Sektor gefragt und Enter übernimmt den Standardwert.

Obwohl fdisk bestätigt, dass es eine 1-TB-Linux-Partition erstellt hat, die Partition Nummer 1 ist, hat sich auf der Festplatte noch nichts geändert. Bis Sie fdisk den Befehl zum Schreiben der Änderungen auf das Laufwerk geben, bleibt das Laufwerk unberührt. Wenn Sie sicher sind, dass Sie mit unserer Auswahl zufrieden sind, drücken Sie den Buchstaben w, um die Änderungen auf das Laufwerk zu schreiben.

Die Partition wurde nach /dev/sdb geschrieben. Sehen wir uns an, was gerade passiert ist. Wir werden fdisk noch einmal auf /dev/sdb verwenden.

sudo fdisk /dev/sdb

Drücken Sie den Buchstaben p, um diese Partitionstabelle zu drucken, und Sie werden sehen, dass jetzt eine Partition für das Laufwerk aufgelistet ist. Da es die erste Partition auf diesem Laufwerk war, heißt sie /dev/sdb1. Eine zweite Partition würde /dev/sdb2 heißen und so weiter.

Wir möchten keine Änderungen an der Partition vornehmen, also drücken Sie den Buchstaben q zum Beenden.

Erstellen Sie ein Dateisystem auf der Partition

Wir müssen ein Dateisystem auf der Partition erstellen. Dies wird einfach mit dem Befehl mkfs erreicht. Beachten Sie, dass Sie die Partitionsnummer angeben müssen im Befehl. Achten Sie darauf, /dev/sdb1 (die Partition) und nicht /dev/sdb (das Laufwerk) einzugeben.

sudo mkfs -t ext4 /dev/sdb1

Das Dateisystem wird für Sie erstellt und Sie kehren zur Eingabeaufforderung zurück.

Montage des neuen Laufwerks

Um das neue Laufwerk zu verwenden, müssen wir die Partition darauf an einem Mount-Punkt im Dateisystem mounten. Um genau zu sein, mounten wir weder das Laufwerk noch die Partition, wir mounten das Dateisystem auf der Partition, indem wir es in den Dateisystembaum Ihres Systems einpfropfen.

Der /mnt-Punkt ist so gut wie jeder andere. Es ist nur ein temporärer Mount-Punkt, der es uns ermöglicht, Daten auf das neue Laufwerk zu kopieren. Wir werden den mount-Befehl verwenden, um das Dateisystem auf der ersten Partition auf /dev/sdb unter /mnt zu mounten.

sudo mount /dev/sdb1 /mnt

Wenn alles gut geht, werden Sie ohne Fehlermeldungen zur Befehlszeile zurückgeleitet. Mal sehen, ob wir das Verzeichnis auf unser neu gemountetes Dateisystem ändern können.

cd /mnt

Ja wir können. mal sehen was hier ist.

ls -ahl

Wir befinden uns in unserem neuen Dateisystem. Das Standardverzeichnis „Lost+Found“ ist nicht erforderlich, damit wir es entfernen können.

sudo rm -rf lost+found

Kopieren Ihres Home-Ordners

Wir müssen alles vom alten Home-Verzeichnis in das neu gemountete Dateisystem kopieren. Die Verwendung der Optionen r (rekursiv) und p (erhalten) stellt sicher, dass alle Unterverzeichnisse werden kopiert und dass Dateieigentümer, Berechtigungen und andere Attribute beibehalten werden.

sudo cp -rp /home/* /mnt

Wenn der Kopiervorgang abgeschlossen ist, sehen Sie sich mit ls um und vergewissern Sie sich, dass sich Ihre Daten im neuen Dateisystem dort befinden, wo Sie sie erwarten. Mit anderen Worten, wenn /mnt Ihr Home-Verzeichnis war, ist dann alles vorhanden und korrekt?

ls
ls dave

Sie werden wahrscheinlich etwas gründlicher sein wollen, als wir es auf der Testmaschine waren, auf der dieser Artikel recherchiert wurde. Als Sicherheitsnetz werden wir Ihr altes /home-Verzeichnis umbenennen und behalten, bis Sie sicher sind, dass es sicher ist, es zu löschen.

sudo mv /home /home.orig

Und wir erstellen ein neues, leeres Home-Verzeichnis.

sudo mkdir /home

Wir verwenden dieses neue leere Home-Verzeichnis als Mount-Punkt für unser Dateisystem auf der neuen Festplatte. Wir müssen es von /mnt aushängen und auf /home wieder einhängen. Beachten Sie, dass der Befehl umount kein „n“ nach dem „u“ hat.

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

Testen Sie Ihr neues Home-Verzeichnis

Sehen wir uns nun an, was die Attribute der Partition /dev/sdb1 sind:

df /dev/sdb1

Uns wird der Name des Dateisystems, die Größe der Partition und der belegte und verfügbare Speicherplatz angezeigt und vor allem, wo es gemountet ist. Es ist jetzt unser /home-Verzeichnis. Das bedeutet, dass wir in der Lage sein sollten, genau wie auf das alte /home-Verzeichnis zu verweisen.

  So spielen Sie Company of Heroes unter Linux

Wenn wir zu einem beliebigen Punkt im Dateisystem wechseln, sollten wir in der Lage sein, mit der ~ Tilde-Verknüpfung zurück zu /home zu wechseln.

cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Wir können uns mit expliziten Befehlen und der Verknüpfung ~ durch das Dateisystem hin und her zu /home bewegen. Die Ordner, Dateien und Punktdateien, die wir erwarten würden, sind alle vorhanden. Es sieht alles gut aus.

Wenn etwas fehlt, können wir es aus dem Verzeichnis /home.orig kopieren, auf das wir im Stammverzeichnis des Dateisystems noch Zugriff haben. Aber es sieht alles gut aus.

Jetzt müssen wir /dev/sdb1 automatisch einhängen lassen, wenn Ihr Computer gestartet wird.

  Die 5 besten Drop-down-Terminal-Apps für Linux

Bearbeiten von fstab

Die Datei „fstab“ enthält Beschreibungen der Dateisysteme, die beim Booten des Systems gemountet werden. Bevor wir Änderungen daran vornehmen, erstellen wir eine Sicherungskopie davon, auf die wir bei Problemen zurückgreifen können.

sudo cp /etc/fstab /etc/fstab.orig

Jetzt können wir die fstab-Datei bearbeiten.

sudo gedit /etc/fstab

Sie müssen am Ende der Datei eine Zeile hinzufügen, um unser neues /home-Verzeichnis einzuhängen. Wenn sich Ihre Laufwerks- und Partitions-IDs von den in diesem Beispiel verwendeten unterscheiden, ersetzen Sie diese durch das hier gezeigte /dev/sdb1.

Geben Sie den Namen der Partition am Anfang der Zeile ein und drücken Sie dann die Tabulatortaste.
Geben Sie den Einhängepunkt /home ein und drücken Sie die Tabulatortaste.
Geben Sie die Dateisystembeschreibung ext4 ein und drücken Sie die Tabulatortaste.
Geben Sie Standardwerte für die Mount-Optionen ein und drücken Sie die Tabulatortaste.
Geben Sie die Ziffer 0 für die Dateisystem-Dump-Option ein und drücken Sie die Tabulatortaste.
Geben Sie die Ziffer 0 für die Dateisystemprüfungsoption ein.

Speichern Sie die fstab-Datei.

Starten Sie Ihr System neu

Wir müssen einen Neustart durchführen, um zu überprüfen, ob alles nach Plan gelaufen ist und Sie eine nahtlose Verbindung zu Ihrem neuen /home-Verzeichnis haben.

Wenn dies nicht der Fall ist, haben Sie immer noch das Sicherheitsnetz Ihres ursprünglichen /home-Verzeichnisses und Ihrer fstab-Datei, die bei Bedarf wiederhergestellt werden können. Aufgrund der Vorkehrungen, die wir getroffen haben – Kopieren des /home-Verzeichnisses und der fstab-Dateien – können Sie Ihr System problemlos in den Zustand zurückversetzen, in dem es sich vor dem Start befand.

sudo reboot now

Abschlussprüfungen

Wenn Ihr System neu startet, überprüfen wir einfach, ob sich Ihr /home-Verzeichnis wirklich auf Ihrer neuen Festplatte befindet und Ihr System nicht (wie durch ein Wunder) auf das alte /home-Verzeichnis zurückgekehrt ist.

df /dev/sdb1

Großartig, es ist auf /home montiert. Mission erfüllt.

Wenn Sie sich ganz sicher sind, dass Sie die Sicherheitskopie Ihres alten /home-Verzeichnisses nicht mehr benötigen, können Sie sie löschen:

cd /
sudo rm -rf home.orig/

Und wenn Sie feststellen, dass etwas nicht vom alten /home in Ihr neues /home kopiert wurde, können Sie es natürlich aus der Sicherung wiederherstellen, die Sie vor dem Start erstellt haben.

Trautes Heim, Glück allein

Nachdem Sie Ihr /home-Verzeichnis vom Rest der Partition des Betriebssystems getrennt haben, können Sie Ihr Betriebssystem neu installieren und Ihre Daten bleiben unberührt. Alles, was Sie tun müssen, ist, die Datei fstab zu bearbeiten, um Ihr zweites Laufwerk auf /home zu mounten.

Und da sich alle Ihre Dotfiles in Ihrem /home-Verzeichnis befinden, finden diese beim Starten Ihrer verschiedenen Anwendungen alle Ihre Einstellungen, Präferenzen und Daten.

Es macht Neuinstallationen schmerzfrei und reduziert das Risiko von Upgrades.