Sofern Du die Partitionsgröße bereits vor dem Beschreiben der neuen SD-Karte angepasst hast, kann es zu einer Größenabweichung kommen, die eventuell ein korrektes Beschreiben der Karte oder ein korrektes Lesen der Partition verhindert. (klick für mehr)
Die Kapazitätsangaben auf SD-Karten sind nur sehr ungefähre Größen.
Bei 16 GB können durchaus nur knapp 16.000.000.000 Bytes verfügbar sein, mitunter auch deutlich darunter, statt der 17.179.869.184 Bytes, wenn man 16 GiB erwarten würde.
Und die tatsächlich verfügbare Kapazität kann sogar zwischen einzelnen Karten desselben Herstellers um einige Bytes schwanken.
Darüber hinaus kann die Kapazität einer SD-Karte über die Zeit sogar abnehmen, wenn der Controller einige defekte Speicherzellen als nicht benutzbar markiert.
Daher gibt es keine Garantie, dass ein 4GB-Image auch auf jede 4GB-Karte passt - selbst dann nicht, wenn ein exakt passend grosses Image nach Jahren auf dieselbe Karte zurückgeschrieben werden soll.
Wenn man sicher sein will, dass es passt, sollte das Image also immer deutlich kleiner sein als die Karte.
Ich kopiere das SD-Karten-Abbild daher lieber direkt, z.B. mit Win32 Disk Imager unter Windows oder dd unter Linux.
Damit lässt sich das Image Deiner 4GB-SD-Karte auf eine Festplatte ziehen; anschließend kannst Du die SD-Karte wechseln und dieses Image dann auf Deine 16GB-SD-Karte schreiben.
Das verwendet jetzt natürlich nur die Partition in der früheren Größe.
Das lässt sich leicht anpassen, sobald Dein RPi gestartet ist, und zwar über: