Linux und das verkleinern einer Platte

  • Hallo ihr schönen Experten,

    ich brauche mal Hilfe beim rumspielen mit Partitionen bzw. dem Plattenwechsel. Geschichte:
    Oma hat Laptop mit alter HDD, i440BX bot an auf SSD zu wechseln weil die Platte langsam stirbt. Alte Platte 750GB, neue SSD 256GB. Oma war zu besuch, ich habe während des kurzen Aufenthalt hier fluchs per dd ein Festplattenimage gezogen weil: Ich hab einen genau Baugleichen Laptop, sprich ich kann die SSD in ruhe Vorbereiten, testen und Oma schickt dann den Laptop für den letzten Umbau.


    Weil sich 750GB selbst mit USB3.0 und SATA nicht *mal eben* kopieren, machen wir den umständlichen weg bzw. den Weg mit "hat Zeit".

    Facts:
    Win7 Laptop, 3 Partitionen, die letzte davon NTFS (welche verkleinert werden muss)


    Anleitung:

    Mit dd erstelltes Image Komprimieren und verkleinern
    Die einfachste Möglichkeit eine Sicherung eines Datenträgers herzustellen ist unter Linux das Programm dd. Unter Windows kann eine Sicherung z. B. Mit…
    notizenundzeugs.wordpress.com

    Kapitel: Verkleinerung einer Sicherung zur Wiederherstellung auf einem kleineren Datenträger


    Das klappt soweit bis zu dem Punkt:

    Zitat
    truncate –size=$[(8329215+1)*512] image.img

    Wenn ich das Image ge-truncat'ed habe, ist die Platte "im Sack" weil offenbar Partitionsdaten ganz am Ende der Platte weg geschnibbelt werden.


    Hier das dd-image als loop-device eingehängt:

    Die Datei ist nicht beschädigt - nur ich mache (Glücklichweise nur die Kopie) sie immer wieder kaputt


    Hat jemand einen Tip? Am liebsten auf Linux-Basis (ein <3 an scorp ) weil der Server diverse Terrabyte frei hat, da kann ich mit dem Speicherplatz aasen.

  • 1 - Mit dem dd das Image der gesamten alten Platte ziehen

    2 - Die alte Platte dann zur Seite legen als Backup für alle Fälle und neue Platte anstöppseln

    3 - Mit sudo gparted <disk-image-der-alten-platte> das Image der alten Platte laden

    4 - In GParted die Große NTFS partition verkleinern, so dass das ganze auf die neue Platte passt

    5 - Neue Platte auswählen, im Menu Device -> Create Partition Table -> "gpt"

    6 - Image der alten Platte wählen, rechtsclick auf die erste Partition -> Copy

    7 - Neue Platte wählen -> Paste

    8 - Für die restlichen zwei Partitionen Schritt 6-7 wiederholen

    9 -Auf der neuen Platte die dritte NTFS Partition ggf. vergrößern

    10 - Alles sauber abkoppeln und fertig.

  • Ich würde die Partition von einem Windows aus heraus verkleinern. Ich denke, dass das selbst Windows7 schon konnte, alternativ über einen Windows10/11 Rechner die NTFS Partition verkleinern. Hatte schon mal Situationen, da hat es mit Linux nicht geklappt. 10-20GB Luft lassen und dann eine 1:1 Kopie auf die SSD. Auf der SSD dann einfach wieder groß machen. Sollte ja vom Platz her passen.

  • Hm, klappt leider nicht, weil GParted entweder das image einlesen kann *oder* die angehängten Geräte

    Auch mit den loop's geht das nicht. Entweder loop-device *oder* die angeschlossenen Platten (und das Raid)

    Gibts ne Möglichkeit ein Image wie ne Platte (oder ein RAID) ins Dateisystem ein zu binden?

  • Wenn das Diskimage old_disk.img heißt und die neue Festplatte ist unter /dev/sda, dann kann man gparted so starten:

    Code
    sudo gparted old_disk.img /dev/sda
  • Perfekt, probiere ich morgen aus.

    Ein Tipp noch an "nachmacher": Bei mir ist es so, dass ich mit "sudo gparted xxx" in der Konsole nicht weiterkomme, weil das gparted Gui nochmals ein passwort nachfragt.

    Ich muss als nur "gparted xxx" und anschließend das Passwort eingeben.

  • Perfekt, probiere ich morgen aus.

    Ein Tipp noch an "nachmacher": Bei mir ist es so, dass ich mit "sudo gparted xxx" in der Konsole nicht weiterkomme, weil das gparted Gui nochmals ein passwort nachfragt.

    Ich muss als nur "gparted xxx" und anschließend das Passwort eingeben.

    Ja, das hat mit den Systemeinstellungen zu tun, so gennter Policy Kit. Da steht, ob bestimmte Benutzer erlaubt sind auf gparted mit dem eigenen Passwort zuzugrifen oder nicht.

  • Kleines Update:

    Es hat geklappt. Jedoch nicht ganz genau so wie scorp geschrieben hat. Folgender Ablauf:


    • Zielfestplatte ins System einbauen, via USB-Adapter ging bei mir nicht
    • booten
    • Sicherstellen, dass die "mtools" installiert sind (sudo apt install mtools)
    • Sicherstellen, dass alles auf dem Image kleiner geshrinkt ist, als die Zielfestplatte, ansonsten dies nachholen {siehe unten}
    • sudo losetup -f [Herausfinden, welches LoopDevice frei ist]
      • Ausgabe ist zum Beispiel "/dev/loop10"
    • sudo losetup /dev/loop10 /dev/pfad/zum/image.img [image in den freien loop laden]
    • sudo partprobe /dev/loop10 [loop10 zugriffsfähig machen]
    • (sudo oder nicht) gparted /dev/loop10 /dev/sdh [geparted die beiden devices aufzwingen]
    • der Zielfestplatte eine gpt-Partitionstabelle verpassen
    • Partition 1 bis n stumpf mit STRG+C und STRG+V vom image auf die neue Platte kopieren
    • Sicherstellen, dass die kopierten Partitionen die gleichen Flags haben
    • sudo losetup -d /dev/loop10 [um den loop wieder zu entladen]
    • runterfahren, zielfestplatte ausbauen, testen


    Test steht noch aus - aber das kopieren hat geklappt. Warum das image in ein loop-device? Mein Linux bzw. mein gparted wollte das Image (wenn man es direkt lädt) partout nicht starten oder lesen (Fehler "cannot initialize drive"). Deswegen der Umweg über das LoopDevice.


    Wenn man mit dd ein Image gemacht hat, die Partitionen aber noch zu groß sind:

    • sudo losetup -f [Herausfinden, welches LoopDevice frei ist]
      • Ausgabe ist zum Beispiel "/dev/loop10"
    • sudo losetup /dev/loop10 /dev/pfad/zum/image.img [image in den freien loop laden]
    • sudo partprobe /dev/loop10 [loop10 zugriffsfähig machen]
    • (sudo oder nicht) gparted /dev/loop10 [geparted das loop10 aufzwingen]
    • Ab hier kann man mit den Partitionen lustige dinge tun
    • Heißer Tip: Egal wie viele Terrabyte das Image groß ist - macht euch ne Kopie bevor ihr anfangt damit zum spielen :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!