Home auf zweites Laufwerk bringen

Hinweis: In dem Thema Home auf zweites Laufwerk bringen gibt es 23 Antworten auf 3 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo,


    Mein Acer-Aspire XC 886 hat 256 GB SSD und ein internes 1TB-Laufwerk.


    Bei der Installation wurde die folgende Partitionierung vorgeschlagen, und ich habe sie erst einmal akzeptiert.

    Die fstab sieht so aus

    Die Auslastung

    Wie man sieht, wurde die 1TB-Platte nicht angefasst. Sie gehört noch vollkommen zu Windows wird aber bisher nicht genutzt.
    Bisher habe ich nur den User admin eingerichtet.
    Ich möchte nun, bevor ich die weiteren Userbereiche einrichte, die wesentlich mehr als die noch auf sda6 vorhandenen 26 GB benötigen, sdb ganz oder zum größeren Teil zur Home machen.
    Es müsste also

    • Data entweder

      • ganz aus Windows herausgelöst, und neu formatiert werden (btrfs?)
        oder
      • Data geteilt werden, sdb1 bei Windows belassen und sdb2 neu formatiert werden (btrfs?)
    • Dann müsste die neue Linuxpartition als /home eingehängt werden.
      Dabei stellt sich das Problem, dass der User admin bereits auf sda6 eingerichtet ist. Er müsste also auch mit umziehen.
    • Erst dann kann ich die neuen User einrichten und deren homes einspielen.


    Soviel zu Theorie


    Das Problem ist nun, dass ich nicht weiß, wie ich das Ganze ausführen soll, ohne Schaden anzurichten.
    Kann ich das alles mit dem Yast-Partitionierer schaffen?
    Muss ich Windows Bescheid geben, dass Data ihm nicht mehr oder nur noch zum Teil gehört, oder merkt es das von allein?
    Wie organisiere ich den Umzug von /home und /home/admin von admin aus?
    Wie sollte ich vorgehen?

  • Möglichkeit 1:
    Du kannst also einfach auf der grossen Platte eine Partition einrichten und formatieren,
    und danach einfach das komplette /home Verzeichnis dorthin kopieren (wobei alle Attribute zu erhalten sind)


    Eintrag in /etc/fstab für /home anpassen. (Oder mit YaST Partitionierer Anpassung vornehmen)


    Möglichkeit 2:
    Wo die Homes der User liegen, steht alleine in der /etc/passwd.
    Wie oben, einfach neue Partition formatieren und ein Verzeichnis namens /home_ganz_nigel_nagel_neu (irgendeine Buchstabenkombination).
    Für die User, die dort ihr Home haben sollen die /etc/fstab anpassen.

    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 140351 haftet ausdrücklich der jeweilige Autor: Berichtigung


  • Vielen Dank für die Antwort.
    Ich denke, die Möglichkeit 1 ist die richtige.


    Mit Partitionierung bin ich bisher nicht vertraut. Das einzige was ich weiß ist, dass man damit viel Schaden anrichten kann :(
    Aber irgendwann muss man ja einmal anfangen.


    Derzeit ist sdb wie folgt partitioniert (Daten aus yast übernommen):


    yast verlangt nun, dass ich sdb1 lösche um sdb zu bearbeiten.


    Gut, ich weiß zwar noch nicht, was mich bei der Neupartitionierung erwartet, aber das könnte ich schon tun (das Löschen).
    Aber vorher möchte ich schon wissen:

    • Genügt es dann einfach eine neue Partitionstabelle anzulegen, oder muss ich an sdb noch weitere Änderungen vornehmen?
    • Ich nehme an, dass ich ein sdb1 für Windows und ein sdb2 für Linux einrichten kann.
    • Für sdb1 neu werde ich von der Größe abgesehen die gleichen Parameter wie sdb1 alt eintragen, ist das korrekt?
    • Was trage ich bei sdb2 ein?
    • Wenn ich dann Partitioniert habe, werde ich das derzeitige /home nach sdb2 kopieren, ich nehme an mit cp --archive ? Evtl vorher auf einer externen Platte sichern?
    • Was muss ich nun in fstab eintragen?
    • Wie lösche ich das alte /home? Behalte ich den Zugriff? Genügt es, wenn ich mich vorher abmelde und neu anmelde. oder muss ich booten, schließlich arbeitet der user admin noch auf dem alten /home
    • Und zum Schluss: Muss ich im Windows vorher oder danach irgendwo irgendetwas eintragen, oder merkt das von allein, dass die Platte verändert wurde?


    Bisher habe ich noch nichts unternommen.

  • Moin zusammen,


    ..... und hätte man von Anfang an mit LVM gearbeitet, wäre das Einhängen eines Laufwerks und Erweitern einer Partition mit mmmmh 3-4 Befehlen erledigt gewesen. :-)

  • yast verlangt nun, dass ich sdb1 lösche um sdb zu bearbeiten.

    Die Nomenklatur für Speichergeräte ist seit Linux 2.6:
    sda == Scsi Disk Platte A (die erste Platte)
    sdb == Scsi Disk Platte B (die zweite Platte)
    Damit ist immer die Platte selbst adressiert.


    Folgt darauf eine Zahl, ist das die soundsovielte Partition.
    sda3 == Scsi Disk Platte A (die erste Platte) und dort die 3. Partition
    sdb1 == ist also die Scsi Disk Platte B (also die zweite Platte) und dort die 1. Partition


    Wenn du auf der Platte selbst rumfuhrwerken möchtest, aber längst eine Partitionstabelle und dort Partitionen existieren, wirst du erst löschen müssen.
    Wäre noch genügend Platz auf dem Medium frei, könntest du immerhin eine weitere Partition hinzufügen.


    Wenn eine Platte eine Partitionstabelle hat und dort auch Partitionen erstellt worden sind, kann man sie dennoch noch nicht verwenden. Das ist nur die "Verwaltungsgrundstruktur". Die Tabelle enthält "Partition 1 reicht von Block X bis Block Y", ein paar verwaltungstechnische Daten. Und das war's.


    Um dann die Partitionen für das OS nutzbar zu machen, braucht es ein Dateisystem.
    Du musst also nachdem du die eine Partition gelöscht hast (oder alles gelöscht und gleich eine neue GPT angelegt hast), die auch erst formatieren.
    Wähle dir ein Dateisystem, und formatiere dann die Platte damit.
    Ich empfehle immer ext4. Das wäre dann der Befehl als root mkfs.ext4 /dev/sdXY
    Je nach deiner Wahl entsprechend anpassen - und auf jeden Fall natürlich XY deinen Gegebenheiten.


    Du kannst mit beiden Partitionierungsarten, also mit einer GPT oder mit der althergebrachten, beliebig viele Partitionen erstellen.
    Bei der Herkömmlichen drei primäre und eine erweiterte, was letztlich nichts anderes ist, als die Information, dass dort eine weitere Partitionstabelle liegt, die weitere Partitionen enthalten kann.
    Bei der GPT, die ich dir empfehle, sind es 128 Partitionen, oder 127 plus Erweiterung.


    Du könntest theoretisch eine komplette Platte nur mit Partitionen zuschreiben, so dass kein einziges Byte mehr auf die Platte passt, dir aber auch garantiert keiner den Titel "dümmstmögliche Partitionierung" streitig machen will.



    Gut, ich weiß zwar noch nicht, was mich bei der Neupartitionierung erwartet, aber das könnte ich schon tun (das Löschen).
    Aber vorher möchte ich schon wissen:

    • Genügt es dann einfach eine neue Partitionstabelle anzulegen, oder muss ich an sdb noch weitere Änderungen vornehmen?
    • Ich nehme an, dass ich ein sdb1 für Windows und ein sdb2 für Linux einrichten kann.
    • Für sdb1 neu werde ich von der Größe abgesehen die gleichen Parameter wie sdb1 alt eintragen, ist das korrekt?
    • Was trage ich bei sdb2 ein?
    • Wenn ich dann Partitioniert habe, werde ich das derzeitige /home nach sdb2 kopieren, ich nehme an mit cp --archive ? Evtl vorher auf einer externen Platte sichern?
    • Was muss ich nun in fstab eintragen?
    • Wie lösche ich das alte /home? Behalte ich den Zugriff? Genügt es, wenn ich mich vorher abmelde und neu anmelde. oder muss ich booten, schließlich arbeitet der user admin noch auf dem alten /home
    • Und zum Schluss: Muss ich im Windows vorher oder danach irgendwo irgendetwas eintragen, oder merkt das von allein, dass die Platte verändert wurde?


    Bisher habe ich noch nichts unternommen.

    All die weiteren Fragen zu beantworten, macht keinen Sinn - sie erledigen sich selbst, wenn du einfach das tust, was ich dir rate.
    Vergiss "alle Parameter" irgendwo eintragen zu wollen.
    Lösche die Partitionstabelle samt der Partition.
    Lege eine neue GPT an.
    Erstelle dort zwei Partitionen mit von dir frei gewählten Größen.
    Es empfiehlt sich immer etwas Platz zu lassen, so dass man später noch Luft hat.



    (Linux kann LVM damit ist man dann Partitionierungskaiser, weil man die Partitionen einmal erstellt und künftig ohne Löschen oder Verlust auf Geräten verschieben, vergrößern und verkleinern kann; das erfordert aber halt die Zwischenschicht LVM)


    Formatiere beide Partitionen.
    Eine mit ext4, eine mit NTFS.
    Linux kann so ziemlich jedes Dateisystem.
    (Probiere als root mkfs.<tab><tab> )


    Lege den Mountpoint für das neue Home auf /home
    Das schreibt die fstab und legt somit fest, was nach dem nächsten Boot wohin gemountet wird.


    Also nicht booten, sondern erst kopieren.
    Zum Kopieren mounte die frisch formatierte Partition als root:
    mount /dev/sdXY /mnt


    Dann kopiere den Krempel. Dein cp Befehl ist OK. (Es ginge schneller mit rsync -a /home /mnt/home das Verzeichnis home solltest du natürlich vorher dort schon erstellen)


    Ist dir die /etc/fstab etwas unheimlich, mache das dann einfach mit dem YaST Partitionierer. Es geht nur darum den Mountpoint für das Home korrekt zu setzen.

    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 140473 haftet ausdrücklich der jeweilige Autor: Berichtigung

  • siehe oben (nur damit Du es auch merkst ;) )

    Also erst einmal vielen Dank für Deine Antwort.


    Ich war inzwischen doch ungeduldig und habe auf der Windowsseite herum gefummelt.
    Die Partition verkleinert und eine neue angelegt, nicht formatiert und nicht in Windows eingebunden (kein Laufwerksbuchstabe)


    Und tatsächlich erscheint jetzt auf der Linuxseite sdb1 (die Verkleinerte sdb1) und die neue sdb2, was Dich nicht wundern wird, mir aber doch eine neue Erkenntnis gab.


    Die Platte müsste jetzt also formatiert werden. Im Yast finde ich nebeneinader zwei Menüs
    Links Menu Formatierungsoptionen Ich hätte da jetzt das BtrFS genommen. Du schlägst ext4 vor. hat das einen tieferen Grund?


    Rechts ist das Menu Mountoptionen Da wird unter anderem der Mountpunkt /home angeboten,


    Aber wenn ich Deine Ausführungen richtig verstehe, sollte ich zunächst kein mount eintragen und nur formatieren


    Dann händisch


    su
    mount /dev/sdb2 /mnt
    mkdir /mnt/home
    rsync -a /home /mnt/home



    Danach Mountpoint /home eintragen und neu booten.


    Bleibt die Frage: Was geschieht mit dem alten home? Das müsste dann doch auch noch gelöscht werden, oder merkt das System von allein, dass der Speicher nicht mehr erreichbar ist? Oder sollte ich es vor dem reboot löschen? Davor hätte ich doch ein wenig Angst.


    Jetzt hoffe ich nur noch auf Deine Zustimmung, um die Operation vorzunehmen. Nimm mir bitte meine Umständlichkeit nicht übel, aber mit fast 80 wird man vorsichtig.

  • und was machste wenn die Partition auch wieder zu klein wird?
    Nimm LVM und gut is.


    1. Bau Dir aus der Partition ein PV (ohysical volume)
    2. weise das einer volumegroup zu (die du vorher baust)
    3. erzeuge auf der Volume Group ein Volume der Größe X (max. so griss wie die Partition)
    4. baue ein Filesystem drauf
    5. mounte das Volume nach /mnt und mach weiter mit dem rsync.

  • Ja, du kannst es einfach so lassen, wie du es durch Windowsfummelei hingekriegt hast.
    Das ist genau das, was du willst. (Außer dass halt zuerst die NTFS von Windows kommt, was aber Jacke, wie Hose ist).
    Ja, du kannst das alte Home nach dem Kopieren/rsyncen löschen, oder es belegt weiterhin sinnlos Platz.


    Da ich alles in der Konsole mache, bin ich mir einfach nicht sicher, was der YaST Partitionierer macht, wenn du einen Mountpunkt angibst. Ich glaube, es wird dann sofort entsprechend gemountet, was dann zu einem Fehler führen könnte.
    Das mag so sein, oder auch nicht.
    Deshalb habe ich das umständliche, dafür aber sicher fehlerfreie Prodedere geschrieben: Montpunkt erst zum Schluss eintragen, dann neu starten, done.
    Es würde nichts passieren, wenn du den Fehler sehen würdest. Er ist Klartext.
    Einfach in Ruhe durchlesen, verstehen und entsprechend handeln.


    @Tamerlain Deine Einwürfe hier sind nicht hilfreich. Ich bin selbst ein Fan von LVM, aber der TE muss erst in Linux die Basics meistern. Da gleich mit LVM ohne weitere Hilfestellung um sich zu werfen, ist überflüssig und sinnlos.

    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 140496 haftet ausdrücklich der jeweilige Autor: Berichtigung

  • Finde ich nicht Berichtigung.
    Ich bin ein grosser Verfechter davon, wenn man lernt, dann gleich richtig lernen.
    Alles andere ist wenig Zielführend.


    Und wenn der TE Hilfe braucht beim LVM - nun wir sind doch ein Hilfeforum oder etwa nicht?

  • @Tamerlain
    Wollen wir die alte Diskussion wieder aufleben lassen? @Berichtigung hat absolut Recht. Ohne Basics versteht der TE von deinen Ausführungen nicht mal die Hälfte und die nächste Frage gleich im Anschluss lautet, will der TE ein Systemadministrator werden oder will er nur sein System wieder zum laufen bringen. Deshalb noch einmal!

    Zitat von Berichtigung

    @Tamerlain Deine Einwürfe hier sind nicht hilfreich.