ForumFestplatte mit dd kopiert und nur noch 60 von 120GB
Dieter Drewanz – Montag, 23. Oktober 2006 00:56 Uhr

Hallo Linux-Community,
in mein Notebook (Dualboot) habe ich eine größere Festplatte eingebaut. Nun habe ich alles mit dd if=/dev/hda of if=/dev/sda (externes USB LW) kopiert. bei 48GB von 60GB brach es auf Grund eines Fehler ab. Von den 120 GB habe ich nun nur noch 60 GB. Die Einzelkopien von hdax nach sdax waren auch nicht so brauchbar. Grub konnte nur Freedos der ersten Partition starten.
Auf die Kopierfunktion bin ich gekommen, da ich das dabeigewesene Win auch noch behalten wollte. Die Revcovery CD und vor allem die hidden Recoverypartition des Win sind oft unbrauchbar, siehe folgende kurze Beschreibung. Die Recovery CD installiert sich in die Recoverypartition und bricht ab, da diese (natürlich) zu klein ist. Und wenn eine weitere der CDs (Treiber, weitere SW Packete) nicht geht, dann geht es auch nicht mehr weiter. Vorher sollte man aus einer Recovery daher eine “normale” Installierversion machen.
Daß ich an die oberen 60GB nicht komme, liegt daran, daß ich die Zylinderzahl für die erweiterte Partition erweitern müßte, ohne die bisherigen logischen Partitionen zu löschen. Unter yast dem Partitionsmanager geht es nicht.
Mit welchem Tool geht sowas? Ansonsten müßte ich alles noch mal stundenlang kopieren.

2 Antworten
rainer glauben – Montag, 23. Oktober 2006 10:34 Uhr

Ich würde alles nochmal stundenlang kopieren :-)

So ganz hab ich deine Probleme nicht verstanden, besonders nicht den Teil mit der Recovery-CD.

Aber wenn ich das richtig verstanden hab, dann ist deine neue Festplatte 120GB gross und deine alte 60GB gross. Und bevor du die neue einbaust willst du die alte auf die neue spiegeln.
Wenn du das machst, wird die entstehende Partition (oder Partitionen) auf der neuen genausogross sein wie die Partition auf der alten, sprich 60GB. Der Rest sollte unpartitionierter Bereich sein, aus dem du dann eine neue Partition machen kannst.

Dass das kopieren abbricht ist allerdings nicht schön, du solltest vorher also unbedingt versuchen das Dateisystem zu checken bzw. zu reparieren.
Wenn du dd_rescue benutzt, bricht dd bei Fehlern nicht ab, dauert allerdings lange und die Fehler bleiben erhalten bzw. werden nicht mitkopiert.

Und du kannst dd etwas beschleunigen (angeblich um ein vielfaches), wenn du die Blocksize erhöhst:
Bsp:
dd if=/dev/hda bs=32256 of=/dev/sda

Um verlustfrei an Partitionen rumzuspielen gibts glaub ich nur kommerzielle tools wie z.B. das bekannteste “Partition Magic”. Als freies Linux-Programm käme wohl qtparted in Frage, was das alles kann weiss ich aber leider nicht.

Probiers mal!

Christian Berg – Montag, 23. Oktober 2006 19:27 Uhr

Neukopieren ist wohl besser. So eine art “Ghost für Arme” kannst du mit fisk und dd/dd-rescue erreichen.

Zuerst mit fdisk die Patitionierung der alten Festplatte auf der neuen wieder nachempfinden mit den neuen gewünschten Größen, anschließend mit dd oder dd-rescue hda1 auf sda1, hda2 auf sda2 u.s.w kopieren. Bei den Linux Partitionen kannst du auch das etwas schnellere cp -Rf verwenden.

Was noch fehlt ist den Bootsektor kopieren, dafür gibt es auch einen netten Befehl: dd if=/dev/hda of=/dev/sda bs=512 count=1

Wer den Aufwand scheut (ich z.B.) kann sich Arconis TrueImage kaufen, auf einem Windows PC installieren und damit eine Rescue CD erstellen (die scheinbar Linux verwendet). Parted ist ein nett wenn man FAT Partitionen verändern möchte, aber wegen einigen Eigenschaften des ext2/3fs kann man ext2 und ext3 Partitionen NICHT verschieben, nur vergrößern.

[1] http://www.garloff.de/kurt/linux/ddrescue/
[2] http://www.gnu.org/software/ddrescue/ddrescue.html
[3] http://www.arconis.de/

Dieter Drewanz – Montag, 23. Oktober 2006 21:06 Uhr

Danke für die Antworten. Nach dem ich die Gelegenheit hatte nebenbei den REchner ein paar Stunden laufen zu lassen, habe ich die ganze Geschichte mit dd nochmal gemacht. Ich habe einiges probiert.

qtparted konnte mir nicht helfen, da dieses aus dem freien Platz eine weitere primäre Partition machte und nicht alle Typen kann.fdisk in der Kommandozeile ging alles wie gewünscht. Ich habe erst mal alle Anfangswerte und Endwerte der Partitionen aufgeschrieben. Die Priären waren ok, die ließ ich, nur die logischen in der erweiterten Partition und die erweiterte selbst mußte ich löschen. Geanu identisch erstellte ich die Partitionen (erweiterte, logische) und die Typen. Nur die erweiterte Partition muß über den ganzen verbleibenden Bereich gehen.

Dann kam die Orgie dd /dev/sda5 /dev/hda5 usw. Mit “kill -USR1 pid_nr; sleep 1” bringt man den Stand wie weit der Kopiervorgang ist zur Anzeige. Knoppix schaffte 1,9 MB/s, Suse 10.1 rescue 4,8 MB/s. Merkwürdigerweise bei der letzten Partition ging Suse auf bis zu 20 MB/s (Byte nicht bit) hoch, obwohl ich nichts veränderte. Zumindest ist nun alles kopiert, wenn auch nicht elegant.Bei dd muß man gewaltig aufpassen, dass man sich nicht vertippt, vor allem die Nummer bei /hda vergißt (das ist mir zum Glück nur am Anfang einmal passiert, die umgekehrte Richtung wäre der GAU gewesen).

Den Grub habe ich allerdings noch einmal installieren müssen (gibt es halt noch ein Suse 10.1 als bootoption, die 9.3er DVD ist leider hin). Es gab bei den logischen Partitionen eine kleine Verschiebung, bedingt daß ich die erweitert Partitione nicht in prim Part 4 mit leerer prim Part 3 einrichten konnte und somit die erweiterte in prim Part 3 liegt. Der Hintergrund ist, daß man nur 4 primäre Partitioen in die Partitionstabelle paßt, allerdings eine als erweitert definieren kann und somit viele logische Volumes für verschiedene Linuxe oder Daten, oder veschlüsselte Datenpartitionen anlegen kann. Grub muß genau wissen, wo die boot Partition oder das Verzeichnis boot auf der HD ist. Wenn man auf reiserfs manuell im /boot bzw grub Verzeichnis mit mount -o remount,notail arbeiten, damit reiserfs verzichtet kleinere Dateien in Sektoren zu stopfen, um effizienter zu sein.