Wenn kein Zugriff auf die alte SSD erfolgt, kann man das auch mit:
cd ${alterMuntPoint}
tar cf - . | (cd /${ziel}; tar xvf -)
erledigen.
Beide Datenträger sind gemountet, man wechselt in der (ersten) Mount-Point des alten Datenträgers (erste Zeile) und ruft die zweite Zeile auf.
Hierbei wäre dann ${ziel} durch den Namen des Mount-Points des neuen Datenträgers zu ersetzten.
Beispiel: die willst alles von /run auf den neuen Datenträger kopieren. Den mountest du nach /mount und legst ein Verzeichnis /run an:
/mount/run
Dann wechselt du cd /run
und startest dort
tar cf - . | (cd /mount/run; tar xvf -)
und alles wird auf den neuen Datenträger kopiert, mit allen Zugrifsrechten, die 'tar' erkennt sowie allen Benutzer und Gruppeninformationen von diesem Rechner.
Soll der neue Dateträger alleine nach /run gemountet werden, legst du das Verzeichnis /mount/run nicht an und rufst
tar cf - . | (cd /mount; tar xvf -)
auf.
Dazu brauchst du kein extra Programm.
Das kannst du auch nutzen, um eine komplette Partition, also die / vom PI auf einen anderen Datenträger zu kopieren.
Das einzige, was hierbei wichtig ist, ist dass dieses / nicht das / einen laufenden Systems ist
Das Ziel wird in einer passenden Größe eingerichtet, zum Beispiel komplett eine Partition.
'tar' ist die Größe des Ziels egal, wenn es groß genug ist. Und man muss nicht mit weiteren Tools die Partition anpassen.
Außerdem sind Programme wie 'dd' dafür nur eine Nothilfe, da die bei Fehler im Dateisystem die mitkopieren können. Außer, natürlich, genau das will man.
dd und Co kopieren 'zu tief', was bei SSDs nicht wirklich immer gut ist. Auch bei HDDs nicht immer gut war. Dafür ist dd das Dateisystem schnurtz-piep-egal, es kann auch, wenn alles OK ist, NTFS, FAT* und Co kopieren, wenn man nicht auf das Dateisystem, sondern auf den Datenträger loslässt.
Wobei aber eine EAs doch in einem Zustand kopiert werden können, die auf dem neuen Datenträger probleme machen, da wirklich alles kopiert wird, auch eben die Partitionstabelle udn Co, und diese partitionen in der aktiellen alten Einstellung nicht den ganzen großen Datenträger erreichen können.
Denn jedes Dateisystem hat seine Grenzen, die auch abhängig von der Partitionsgröße und auch vom Datenträger abhängt.
Die Blockgröße war früher 512 Byte. Kann der Datenträger sowie das OS aber 4k-Blöcke, dann bremsen 512Byte-Blöcke das System massiv aus.
Und das kann man mittels dd und entsprechenden Tools nicht ändern.
Meinem 'tar' Beispiel wäre das egal, da die Dateien, nicht das Dateisystem kopiert wird.