Wie wechselt man von einem Laufwerk zu einem anderen mit einer anderen Größe?

21

Ich habe dieses Szenario ein paarmal durchlaufen: Ich muss ein Laufwerk ersetzen, weil ich mehr Speicherplatz benötige, Probleme habe, auf eine neue Box umzusteigen usw.

Was ist der beste Weg, um Daten von einer Partitionsgröße auf eine andere zu kopieren (vorausgesetzt, das Ziel verfügt über genügend Speicherplatz)?

Was ist, wenn es sich um ein anderes Dateisystem handelt (z. B. ReiserFS zu ext4)?

Wie stelle ich sicher, dass keine Neuinstallation erforderlich ist, wenn es sich nur um ein neues Laufwerk auf einem vorhandenen System handelt?

Update - Viele der Optionen sind sehr nützlich, und ich habe diese Frage in Community-Wiki geändert, weil ich nicht glaube, dass es eine "richtige" Antwort gibt.

Warren
quelle
1
superuser.com/questions/32164/… wurde nach Windows-Laufwerken / Partitionen gefragt
warren

Antworten:

10

Clone das Laufwerk mit Clonezilla , dann verwenden Sie GParted es zu ändern. Behalte deinen alten für den Fall, dass etwas schief geht :-)

Übrigens ist dieser Weg frei.

craigmoliver
quelle
2
Ich mag den kostenlosen Teil hier, obwohl nichts besser ist als gute Arbeitssoftware, die alles macht (anstelle von 3 Freewares zusammen)
Ivo Flipse
1
Es ist nur zwei Freeware und es ist ziemlich schmerzlos. ISOs booten kein Problem.
craigmoliver
Ich kann bestätigen, dass dies funktioniert. Ich habe mein sekundäres Laufwerk mit Windows 7 erfolgreich von einem 160-GB-Laufwerk auf ein 1-TB-Laufwerk verschoben. Mit Clonezilla auf meine Linux-Festplatte geklont. Stellen Sie es auf dem neuen Datenträger wieder her und ändern Sie die Größe mit dem Windows 7-Datenträgerverwaltungsprogramm. Dies war jedoch von einem NTFS zu einem NTFS.
Thomas Watnedal
Sie sagen, dass Sie das Laufwerk klonen, obwohl er gefragt hat, ob Sie die Partition klonen möchten. Auch sagte er anderes Dateisystem.
Barlop
5

Die Lösung, die ich in der Vergangenheit verwendet habe, ist tar. Wenn die Partitionen exakt dieselbe Größe und denselben Typ haben, können Sie sie verwenden dd.

Hier ist meine Antwort auf das Dilemma:

  1. Booten Sie mit einer Live-CD-Distribution wie Slax
  2. Überprüfen Sie, ob sich die gewünschten Partitionen auf dem neuen Laufwerk befinden
  3. /tmp/driveoldStellen Sie sicher, dass sowohl das alte als auch das neue Laufwerk gemountet sind, z. B. und / tmp / drivenew.
  4. Führen Sie an einem Terminal den folgenden tarBefehl aus:

    (tar cp --xattrs /tmp/driveold/path) | (tar x /tmp/drivenew/path)

  5. Wiederholen Sie diesen Vorgang für jede Partition, die Sie kopieren möchten

Dies funktioniert für jede Partition, auf der ich es jemals ausprobiert habe (außer /boot, ich stelle sicher, dass die Partitionen identisch sind und verwendet werden dd).

Labyrinth
quelle
2
Ich mag diese Lösung, weil sie so einfach ist, aber ich denke, Sie benötigen einige zusätzliche Optionen wie p (Berechtigungen beibehalten), um alle Metadaten abzurufen.
Jay Conrod
1
Sie sind direkt am p - ich habe das hinzugefügt :)
Warren
2
Apropos Metadaten, sollte auch die --xattrsOption (ACLs und SELinux-Informationen speichern) verwendet werden.
Cristian Ciupitu
Die 2 Teere, die mit einem Rohr verbunden sind, könnten durch ersetzt werden cpio --pass-through.
Cristian Ciupitu
1
Welche Version von tarhat eine --xattrsOption? Nicht mein. Ich schlage vor, stattdessen rsyncoder plain zu cpverwenden: serverfault.com/questions/306538/…
Teddy
2

Dies ist ein Grund, warum ich LVM mag. Fügen Sie einfach den neuen Datenträger zur Datenträgergruppe hinzu, pvmovedie logischen Datenträger vom alten zum neuen Datenträger, entfernen Sie den alten Datenträger aus der Datenträgergruppe und dann aus dem System. Wenn es sich um die Bootdiskette handelt, die Sie ersetzen, müssen Sie auch Ihren Bootloader aktualisieren.

pgs
quelle
Das ist eine großartige Idee - außer wenn Sie LVM nicht ausführen, ist es ein bisschen schmerzhaft :) Vielen Dank für den Vorschlag!
Warren
Bei der nächsten Installation etwas zu beachten :-)
pgs
2

+1 zu wühlen und Teer zu verwenden.

Normalerweise versuche ich jedoch, die Daten von meinen Backups wiederherzustellen. Der Wechsel von einer Festplatte zu einer neuen scheint eine gute Gelegenheit zu sein, um zu prüfen, ob Ihr Backup-Plan funktioniert.

Wenn Sie einen Festplattenfehler simulieren (ziehen Sie den Strom von der alten Festplatte ab), starten Sie die Wiederherstellung auf der neuen Festplatte. Und wenn Sie fertig sind, starten Sie die alte Festplatte und vergleichen sie, um zu sehen, ob Sie alle Dateien haben.

Wenn sie identisch sind, haben Sie alle Ihre Daten verschoben, und Sie wissen, dass Ihr Sicherungsplan gültig ist und funktioniert.

Johan
quelle
Gute Idee - obwohl für diejenigen unter uns (<whistle mode = "innocent" />), die keine "Backup" -Lösung haben, dies auch eine gute Zeit sein könnte, sich eine
auszudenken
1
:)
Johan
2

Eine andere Möglichkeit wäre, von einer Live-CD zu booten und das alte Laufwerk als schreibgeschützt einzubinden. Dies soll verhindern, dass die Live-CD während des Kopierens geändert wird. Dann rsync -avz /mnt/olddisk/ /mnt/newdisk(der abschließende Schrägstrich nach olddisk ist notwendig). Wie die anderen bereits erwähnt haben, müssen grub-install <new device>Sie die zu erweiternde Startdiskette erneut ausführen, bevor sie bootfähig ist.

Shoan
quelle
Es gibt eine, die ich nicht gedacht hätte :)
Warren
1

Die meisten Dienstprogramme zum Klonen von Datenträgern können dies tun. Ich benutze gerne g4u von einer Live-CD. Ghost ist nett, aber ich würde lieber eine kostenlose verwenden.

chills42
quelle
1

Ich habe auch Disk Copy gefunden , das nicht auf der Wikipedia-Liste zu stehen scheint, es aber nie benutzt hat.

Labyrinth
quelle
1
Disk Copy ist gut.
craigmoliver
Leider gibt es nur Windows und diese Frage wurde mit linux getaggt.
Programmer5000