• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] ntfsclone

roemi

Advanced Hacker
Hi, ich wollte meinen XP-Rechner auf eine größere (und SATA) Platte clonen.

Das zu habe ich mich an http://izsr.de/it/itnotez/backups/images.html gehalten. Mit einer Ausnahme ich habe die Images geteilt.
Und zwar so: ntfsclone -s -o - <zu sichernde Partition> | gzip -c | split -a 3 -b 700m - <Ziel-Datenträger/-Verzeichnis/-datei>

Anschließend habe ich mit
dd count=1 bs=446 if=atelcoboot.img of=/dev/sda
und
cat atelco.img.gz | gunzip -c atelco.img.gz | ntfsclone -r -O /dev/sda1 -
die Daten auf die neue Platte schreiben wollen.

Die Prozessorlast geht hoch und passieren tut nichts. Keine Fortschrittanzeige und auf der Platte tut sich auch nichts.
Ich habe es die restliche Nacht laufen lassen. Gleiches Ergebnis.

Hat jemand eine Idee was da falsch sein kann?

Was mit nun irritiert ist dies: Knoppix im Runlevel 2 booten; dazu am bootprompt eingeben: knoppix 2
Das habe ich nicht gemacht. Wenn notwendig, warum?
 

ThomasF

Hacker
Moin roemi,

es ist schon was länger her das ich mit ntfsclone gearbeitet habe ...

Aber eines ist mir aufgefallen ... vielleicht auch nur ein schreibfehler oder eine Lücke in deiner Beschreibung ...

cat atelco.img.gz | ...

IMHO wird damit ja nur eine Datei ausgegeben ... hast du die Teile des Images aus dem Split vorher schon wieder zusammengefügt ?

So long

ThomasF
 
OP
roemi

roemi

Advanced Hacker
Ähh ... nö. Hab ich nicht. Ich dachte das passiert automatisch ... naiv!?
 

ThomasF

Hacker
Hehe,

ich tippe mal das du eher öfters mit rar Archiven zu tun hast ;)

Bei rar oder zip wird erkannt ob ein Archiv aus mehreren Teilen besteht, aber split und cat können das nicht.

Die richtige Reihenfolge wird aber "erkannt" ... split verwendet glaube ich aa, ab, ac usw., oder ?

Ein cat atelco.img* sollte also IMHO das tun was du vorhast ...

Edit : Ich sehe gerade das "gunzip -c atelco.img.gz" auch nicht ganz korrekt ist ...

Da cat ja eine Ausgabe auf die Standardausgabe macht würde cat atelco.img* zwar alle Imageteile zusammen sprich in der richtigen Reihenfolge hintereinander ausgeben aber nicht die Datei atelco.img.gz erzeugen ... entweder du führst die Aktion in mehreren Schritten durch, erzeugst z.B die Datei atelco.img.gz also mit cat atelco.img* >> atelco.img.gz oder du verwendest die Pipe für das unzip ohne die Datei, bekommst also die Daten für das unzip aus der Standardeingabe ...

So long

ThomasF
 
OP
roemi

roemi

Advanced Hacker
Hi,

ich habe insgesamt 7 Teildateien und eine atelco.img.gz (aber mit 0 byte)

cat atelco.img* | gunzip -c atelco.img.gz | ntfsclone -r -O /dev/sda1 -

Wäre das dann ein Versuch wert? Oder muss ich beim gunzip .... auch ein * machen :???:

Und ja Du hast recht ... ich habe schlicht keine Ahnung davon, klaue mir alles zusammen und stehe, wenn was nicht funktioniert, wie blöd da :D . Aber dafür habe ich ja Euch ... ;)
 

ThomasF

Hacker
Jaja ... *fg*

es gibt eine Reihe von Leuten die dir jetzt nur sagen würden ... lies doch mal die man-Pages zu den Befehlen ..

Kann ich dir auch nur empfehlen ;)

Aber noch ganz kurz zu deinem Problem ... split teilt eine große Datei einfach jeweils an der Stelle an der du möchtest .. wenn du 700 MB angibst endet das erste Stück bei 700 MB und das nächste Stück fängt einfach genau danach an ... nicht mehr und nicht weniger ...

cat gibt den Inhalt einer Datei aus ... oder auch mehrerer ... cat atelco.img* gibt also hintereinander den Inhalt aller Dateien aus die mit "atelco.img" beginnen und zwar in aufsteigender Reihenfolge ( 1 vor 2 vor 3 oder a vor b vor c )

Das | Zeichen ist eine Pipe ... kurz gesagt wird die Ausgabe eines Befehls in die Eingabe eines zweiten Befehls geleitet.

Es sollte also so aussehen :

Code:
cat atelco.img* | gunzip -c | ntfsclone -r -O /dev/sda1 -

Die Datei "atelco.img.gz" wird übrigens so nie erzeugt ... muss sie auch nicht ... es sei denn du führst die Befehle nacheinander aus ... was aber problematisch sein kann wenn zu wenig Speicherplatz vorhanden wäre ...

Das sähe dann so aus :

Code:
cat atelco.img* >> atelco.img.gz
gunzip -c atelco.img.gz | ntfsclone --restore-image --overwrite /dev/sda1 -

So long

ThomasF
 
OP
roemi

roemi

Advanced Hacker
man-page ... soon Zeuch liest mein gegenüber immer. Kleine weise Buchstaben auf schwarzem Grund. Genauso kryptisch aufzurufen wie der Befehl selbst. Oooooch, dann finde ich es doch viel netter von mir zu erlauben mir zu helfen. Spürst Du in dir nicht das Glücksgefühl das jeder Pfadfinder spürt wenn er einer alten Frau über die Straße führt? Morgen, werde ich den Beitrag evtl. als gelöst kennzeichnen. ;) ;) ;) ;) ;)
 

whois

Ultimate Guru
roemi, wenn wir dich nicht so verdammt gut und lange kennen würden,könnte ich mir einen bösen Kommentar kaum verkneifen. ;)
 

ThomasF

Hacker
Hmm,

stimmt ... der Name roemi kam mir doch auch irgendwie bekannt vor ...

Sag mal roemi übst du schon für den nächsten Aprilscherz ???

Zumal du ja auch an einem 1.April dem Linux-Club beigetreten bist ???

So long

ThomasF
 
OP
roemi

roemi

Advanced Hacker
Oki, und nun zurück an die Front. Ich werde wahnsinnig. Habe den Befehl gerade aufgerufen. Wie mördermäßige Prozessorlast und keine Fortschrittsanzeige. Ich befürchte das das wieder nix wird.

Wenn ich anstelle dessen:
Code:
ntfsclone --overwrite /dev/sda1 /dev/hda1
nehme, bügel ich doch auch das ganze System rüber. Halt meinem Verständnis nach auf direktem Weg. Ist das richtig gedacht?? Und wenn ja, reicht dann
Code:
dd count=1 bs=446 if=atelcoboot.img of=/dev/sda
zum aufbau des Bootbereiches? Ich würde sagen ja, bin mir aber nicht wirklich sicher.
 
A

Anonymous

Gast
roemi schrieb:
Und wenn ja, reicht dann
Code:
dd count=1 bs=446 if=atelcoboot.img of=/dev/sda
zum aufbau des Bootbereiches? Ich würde sagen ja, bin mir aber nicht wirklich sicher.

Bootloaderabhängig nur unter einigen Bedingungen. zB:
1. Das neue Laufwerk bekommt vom BIOS die selbe Plattenzuordnung, also erste, zweite oder dritte Platte zugeordnet
2. deine Partitionstabelle ist vergleichbar, (bei einigen Bootloadern sollte reichen, wenn die primäre Paritition existiert, ander würden eine identischen Paritionierung benötigen, wiederandere ....)
3. Du hast keinen Grub im MBR ;) ;) ;) (andere Bootloader also vielleicht, Grub definitev nein)

Bei deinem Windows sollte es wohl reichen aber zur Erklärung warum nicht bei grub:
* Der Befehl kopiert wirklich den MBR ohne die Partitionstabelle (siehe auch hier ) das ist im Grub eine modifizierte Kopie der stage1 Datei und ist der sogenannte Bootloader) währe schon mal soweit ok. aber
* Grub versucht immer eine modifizierte stage1.5 Datei ( in der ist die jeweilige Filesystemunterstützung) in einen freien Bereich hinter die Stage1 Datei zu kopieren. Vorausgesetzt er findet dafür am Anfang der Platte oder Partition einen entsprechend genügend großen ungenutzten Plattenbereich. Nur wenn das nicht möglich ist, dann wird die stage1.5 Datei in /boot/grub direkt benutzt. Die Startadresse unter der die jeweils gültige stage1,5 Datei hinterlegt ist, ist in stage1 als BIOS-Plattenr+Partition+Blocknummer eingetragen.
* Bei einer normalen Partitionierung beginnt die erste Partition immer erst mit Block 63 ( fdisk -ul zeigt es dir ) es sind also vorher 61 Blöcke a 512 Byte frei die von Grub für diese Zwecke sehr gerne genommen werden sobald du den Bootloader in den MBR schreibst.

Bei Grub solltest du also der einfachheitshalber wohl oder übel den Bootloader nochmal mit Grub in den MBR der neuen Platte schreiben, ( außer du hast wirklich die ganze Platte und nicht nur einzelnen Partitionen kopiert. Oder du kopierst zusätzlich mit dd da noch ein paar KB hinter den MBR das geht auch zB mit
Code:
dd bs=512 count=60 skip=1 seek=1  if=......  of=/dev/?d?
aber wer macht schon so was?


robi
 
OP
roemi

roemi

Advanced Hacker
robi schrieb:
Bei deinem Windows sollte es wohl reichen aber ...

Schwein gehabt. Ist eine XP-Partition und die soll so wie sie ist auf eine große, schnellere und LEISERE Platte.

Da ja eigentlich nix schief gehen kann, probiere ich das ganze am Mittwoch (spätestens).

Ich habe heute nämlich die zweite Platte abgezogen und siehe da, das XP ist noch da und rennt. Hab ich mir umsonst den Kopp gemacht und geglaubt irgendwas zerschossen zu haben. Ich Idio... habe nämlich gebootet und die zweite Platte dran gelassen. Da hat XP gestreikt und ich bin leicht panisch geworden.

:D
 
OP
roemi

roemi

Advanced Hacker
Kopieren ca. 5 min. Nochmal Bootbereich rüber und auf "aktiv" setzen. Insgesamt 10 min. XP rennt augenscheinlich perfekt auf der neuen Platte. Danke
 
OP
roemi

roemi

Advanced Hacker
Ich muss den nochmal auf machen. Mir ist gestern aufgefallen (etwas was ich drollo nicht gecheckt habe) das meine 110 GB SATA Platte zwar vollständig belegt (als c eingebunden) ist, vermutlich durch "dd count=1 bs=446 if=atelcoboot.img of=/dev/sda" aber nur 30 GB benutztbar sind.
Das entspricht der Ursprungspartition. Gibt es einen dreh das zu beheben? Ich googel zwar mal weiter, aber evtl. kennt jemand das Problem.
 
Oben