Festplatte klonen mit dd

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Festplatte klonen mit dd

Beitrag von suntsu » 26.01.2004 13:42:59

Tag

Ich möchte gerne eine bestehende Installation auf eine andere Platte sichern.

Da ich mit dem Kauf eines IDE-Raidcontrollers(Promise Fasttrak TX2000) ein bisschen auf die "fresse" gefallten bin möchte ich es jetzt mal mit dd versuchen.

Kann folgender code funktionieren?

Code: Alles auswählen

dd if=/dev/hda of=/dev/hdb
Dürfen die Platten dafür gemountet sein oder nicht? Kann ich danach gleich von der neuen Platte booten, und das wichtigste >> kann ich sicher sein das bei der Platte von der ich den diskdump mache nix kapput geht.

gruss und danke
manuel

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 26.01.2004 13:46:26

Würd mich auch intressieren ..
Was ich aber meine zu wissen ist das bei dd beide Platten gleich groß sein müssen .. stimmt das ?
cu
Picknicker

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 26.01.2004 13:49:23

Picknicker hat geschrieben: Was ich aber meine zu wissen ist das bei dd beide Platten gleich groß sein müssen .. stimmt das ?
Das sind sie bei mir. Sogar noch das gleiche Model.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 26.01.2004 14:30:06

Wenn es 2 identische Platten sind, sollte das im Prinzip reichen, wenn die unterschiedlich gross sind, müsste man den lilo neu schreiben, hier dazu eine Frage eines anderen Users und weiter unten ein paar Antworten dazu:

http://www.experts-exchange.com/Operati ... 87441.html


Gruss, mistersixt

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Festplatte klonen mit dd

Beitrag von roli » 26.01.2004 16:23:56

Hi,
suntsu hat geschrieben: Kann ich danach gleich von der neuen Platte booten, und das wichtigste >> kann ich sicher sein das bei der Platte von der ich den diskdump mache nix kapput geht.
Booten wird nicht gehen, da in der /etc/fstab als root fs /dev/hda steht, in der lilo.conf und co. dito. Das muss erst geaendert werden.
Da /dev/hda als Input Device angegeben ist, gehe ich davon aus, das dort nur gelesen wird, also auch nix kaputt gehen sollte.
Gemountet duerfen beide Platten allerdings nicht sein, sonst muesste dd auch gerade geoeffnete Dateien mit "dumpen", aber wofuer gibt's Manual's, schau halt nochmal nach. Andererseits, koenntest du von einem anderen Medium gemountet hast, ja auch gleich ein cp benutzen, ist wahrscheinlich schneller, da wenn du ein ganzes Device auf ein anderes dumpst, auch die ggf. vorhandenen 80GB freier Plattenplatz Bit fuer Bit mit gedumpt werden.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Beitrag von LittleBoy » 26.01.2004 16:34:45

Bei einer gemounteten Quellplatte besteht die Gefahr, dass das Image fehlschlägt.
Das Image wird sich nach dem dd in dem Zustand befinden, als ob man einfach den Reset-Knopf betätigt hätte. Die Filesysteme haben dann ja keine Chance, die Metadaten abzugleichen, die Buffer zu leeren und das System in einen konsistenten Zustand zu setzen.

Für eine solche Sicherung würde ich von einer CD booten, und dann auf die Tools vom Filesystem (xfsdump, partimage oder auch cp -a) zurückgreifen. Dann ist man immer auf der sicheren Seite. Wenn es sich um LBA-Platten handelt, und die Zielplatte ist mindestens so groß wie die Quellplatte, dann gehts auch mit dd. Wenn die zweite Platte grösser ist, dann ist danach wird die "überschüssige" Grösse nicht mehr zur Verfügung stehen, und Partitionsprogramme könnten über die zu "kleine" Partitionstabelle meckern.

Neben dem Geschwindigkeitsvorteil spricht noch für die Lösung mit cp / xfsdump o.ä., dass das Ziel-Filesystem neu erstellt wird, d.h. die Dateien werden defragmentiert, was einen schnelleren Zugriff ermöglicht, und evtl. Fehler im Dateisystem werden nicht mitkopiert...
Zuletzt geändert von LittleBoy am 26.01.2004 16:36:36, insgesamt 1-mal geändert.

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Re: Festplatte klonen mit dd

Beitrag von suntsu » 26.01.2004 16:36:18

roli hat geschrieben: Booten wird nicht gehen, da in der /etc/fstab als root fs /dev/hda steht, in der lilo.conf und co. dito. Das muss erst geaendert werden.
Ich würde eigentlich bei bedarf auch die backupplatte an stelle der "normalen" anhängen, dann sollten die fstab Einträge stimmen. Hab ich vergessen zu erwähnen.
roli hat geschrieben: Andererseits, koenntest du von einem anderen Medium gemountet hast, ja auch gleich ein cp benutzen, ist wahrscheinlich schneller, da wenn du ein ganzes Device auf ein anderes dumpst, auch die ggf. vorhandenen 80GB freier Plattenplatz Bit fuer Bit mit gedumpt werden.
Da ist dann meine Frage ob ich so auch den Bootloader schreibe(Auch bei dd bin ich mir nicht sicher).

Ich gehe davon aus das wenn ich mit dd die ganze Platte "sichere" dann auch die Partitionstabelle und der Bootloader gesichert werden.

Das es lange dauert glaub ich.
Ich werd es wohl heute Abend mal ankicken, und dann morgen schauen was dabei rausgekommt :)

gruss
manuel
Zuletzt geändert von suntsu am 26.01.2004 16:40:03, insgesamt 1-mal geändert.

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Re: Festplatte klonen mit dd

Beitrag von LittleBoy » 26.01.2004 16:38:23

suntsu hat geschrieben: Da ist dann meine Frage ob ich so auch den Bootloader schreibe(Auch bei dd bin ich mir nicht sicher).
Mit dd schreibst du den Bootloader, mit den anderen Methoden nicht.
suntsu hat geschrieben: Ich gehe davon aus das wenn ich mit dd die ganze Platte "sichere" dann auch die Partitionstabelle und der Bootloader gesichert werden.
Ja, bei der Sicherung mit dd hast du eine 100% Clon von der gesamten Festplatte.

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 26.01.2004 20:06:56

so, war ein kurzer spass.

Ich hab angefangen mit dem dd, und bekam dann eine Menge SeekCompleteError.
Ist eine neue Platte, und im "normalen" Betrieb hat ich das noch nie.

Muss ich mir schon wieder sorgen machen, oder ist das normal?

gruss
manuel

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.01.2004 08:36:20

"SeekCompleteError" hört sich eigentlicb nicht gut an, bei mir gab es immer ff. Gründe:

o IDE-Kabel defekt (aber eher selten)
o Platte macht die Grätsche (war fast immer der Grund)
o Kernel-2.6.X (auf älteren Rechnern gibt es teilweise
dma-Probleme -> da gibt es schon Bug-Reports zu. Versuch
mal, mit hdparm -d 0 dma auszuschalten und schau, ob es
dann immer noch passiert - wobei die Platten dann eher
quälend langsam werden)

Gruss, mistersixt.

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 27.01.2004 09:50:03

mistersixt hat geschrieben:"SeekCompleteError" hört sich eigentlicb nicht gut an, bei mir gab es immer ff. Gründe:
o IDE-Kabel defekt (aber eher selten)
o Platte macht die Grätsche (war fast immer der Grund)
Tag

IDE-Kabel hab ich gewechselt(Neues 80-adriges), gleicher Fehler. Das die Platte kaputt ist mag ich ned glauben :) ist erst eine Woche alt.
Ich möchte jetzt eben den Inhalt der Platte auf eine andere verschieben, damit ich dann die Platte mit dem SeekCompleteError mal low-level formatieren kann.

Frage zum Backupen.
Ich habe alles auf einer Partition(/boot / /home). Die zweite Platte ist bereit. kann ich mit

Code: Alles auswählen

cp -a /* /backup -r
den Inhalt der Platte kopieren? Danach die "normale" Platte abhängen, backupplatte an hda(dort wo die alte war), dann mit knoppix booten, und grub neu laden(Weis grad jemand wie das mit grub geht?).

Besteht die Möglichkeit das das funktioniert?

gruss
manuel

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 27.01.2004 10:34:49

Diese Errors bekam ich auf meinem "alten" Board auch ab und an.
Wurde behoben mit folgender Kernel einstellung:

Code: Alles auswählen

CONFIG_IDEDISK_MULTI_MODE: 

If you get this error, try to say Y here:

hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }        
hda: set_multmode: error=0x04 { DriveStatusError }

If in doubt, say N.
cu
Picknicker

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 27.01.2004 13:36:55

Picknicker hat geschrieben:Diese Errors bekam ich auf meinem "alten" Board auch ab und an.
Wurde behoben mit folgender Kernel einstellung:
snip...
Werd ich heute abend mal probieren.

gruss und danke
manuel

edit:
Ich wollt grad über ssh meinen neuen Kernel backen, aber das multi-mode ist schon aktiviert. Dafür habe ich etwas anderes interesantes gefunden.
Auto-Geometry Resizing support hat geschrieben: Should you have a system w/ an AWARD Bios and your drives are larger │
│ than 32GB and it will not boot, one is required to perform a few OEM │
│ operations first. The option is called "STROKE" because it allows │
│ one to "soft clip" the drive to work around a barrier limit. For │
│ Maxtor drives it is called "jumpon.exe". Please search Maxtor's │
│ web-site for "JUMPON.EXE". IBM has a similar tool at: │
│ <http://www.storage.ibm.com/hdd/support/download.htm>.
Und ich hab genau die kombination AWARD Bios/grosse Maxtor Platten.

*murphy ist ein arsch*

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Beitrag von LittleBoy » 27.01.2004 15:31:11

Du musst mal die eigentliche Fehlermeldung ansehen.

hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
hda: set_multmode: error=0x04 { DriveStatusError }

Die erste Zeile enthält den Status der Platte, d.h. das sind einzelne Flags: DriveReady, SeekComplete und Error - und nicht ein "SeekCompleteError". Die eigentliche Fehlermeldung steht in der zweiten Zeile - hier ein DriveStatusError.
Die erste Zeile taucht exakt so bei nahezu jeder IDE-Fehlermeldung auf.

Um irgendetwas wirklich sinnvolles zu sagen, ist die zweite Zeile der Fehlermeldung unerlässlich. Da steht letztlich der eigentliche Fehler drinne. Die Award/Maxtor Geschichte führt eher zu Problemen damit, dass die richtige Größe der Platte erkannt werden kann.


Um ein Backup zu machen, kannst du wie folgt vorhegen:
a) mit Knoppix booten
b) Entsprechende Platten & Zielplatten mounten
c) cp -a /quellplatte /zielplatte/

Jetzt muss man mit den Gerätenamen aufpassen:
d) mount -t proc proc /zielplatte/proc
e) ggf. mount -tdevfs devfs /zielplatte/dev
f) chroot /zielplatte/
g)grub-install (hier jetzt die id der Zielplatte)
h) update-grub

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 27.01.2004 21:03:43

Bei mount -t proc proc /zielplatte/proc bekam ich ein "fs no supported", und wenn ich einfach so ein grub-install machen wollte ein /dev/null readonly...

gruss
manuel

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 27.01.2004 22:57:12

LittleBoy hat geschrieben: Die erste Zeile enthält den Status der Platte, d.h. das sind einzelne Flags: DriveReady, SeekComplete und Error - und nicht ein "SeekCompleteError". Die eigentliche Fehlermeldung steht in der zweiten Zeile - hier ein DriveStatusError.
Die erste Zeile taucht exakt so bei nahezu jeder IDE-Fehlermeldung auf.

Um irgendetwas wirklich sinnvolles zu sagen, ist die zweite Zeile der Fehlermeldung unerlässlich
ok, hier ist noch die komplete Fehlermeldung.

Code: Alles auswählen

hda: dma_intr: status=0x51 { driveready seekcompleete error}
hda: dma_intr: error=0x40 { uncorrectableerror } , LBAsect=5025003, secor=5024988
end_request: I/O dev03:00 [hda], sector5024988
gruss
manuel

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Beitrag von LittleBoy » 28.01.2004 08:52:57

Also, dieser Fehler heisst: Physikalischer Fehler auf der Festplatte - sprich: Das Teil sollte so schnell wie möglich(!) aus dem Verkehr gezogen werden, denn die Platte löst sich so langsam aber sicher auf.

Das ganze ist im DMA-Modus gewesen, d.h. es besteht eine minimale(!) Chance, dass es sich um Übertragungsfehler handelt. Wenn es sich um eine halbwegs neue Platte handelt, dann mal den S.M.A.R.T. Test drüber laufen lassen:

apt-get install smartmontools

smartctl -t short /dev/hda
das führt einen internen test der Platte durch - dauert etwa 2 Minuten. Dann kann mit
smartctl -a /dev/hda
das Ergebnis abgefragt werden.

Alternativ kann man auf die Homepage des Plattenherstellers gehen und sich die entsprechenden Diagnose-Tools durchlesen.


Dann die einfachere Methode für die Boot installation:
1) Eine grub Diskette erstellen.
2) Das System von der grub Diskette starten
3) Dann in der grub shell die neue Festplatte starten
Jetzt funktioniert ein einfaches grub-install.
(Eine grub DIskette sollte man übrigens immer zur Hand haben - damit kriegt man jedes System gebootet, so lange noch die OS/Kernel Dateien drauf sind)

[edit]
Ach ja, ein Low-Level Format (bzw. korrekterweise: Eine Neuinitialisierung der Platte) kann(!) die Fehler evtl. beheben. Allerdings treten solche Fehler erst auf, wenn bereits eine Reservefläche der Platte voll genutzt ist, d.h. generell würde ich von solchen Reperaturversuchen abraten, und die Platte in den Ruhestand schicken bzw. danach bei ebay anbieten ;)

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 28.01.2004 08:59:42

Danke schon mal für deine Antworten.
LittleBoy hat geschrieben: Dann die einfachere Methode für die Boot installation:
1) Eine grub Diskette erstellen.
2) Das System von der grub Diskette starten
3) Dann in der grub shell die neue Festplatte starten
Jetzt funktioniert ein einfaches grub-install.
(Eine grub DIskette sollte man übrigens immer zur Hand haben - damit kriegt man jedes System gebootet, so lange noch die OS/Kernel Dateien drauf sind)
Ich hab mir mit grub-floppy ein Diskette erstellt. Mit der hab ich allerdings "nur" die Grub shell, und hab schnell versucht davon zu booten. Aber ich muss micht da noch ein bisschen einlesen(hab noch keinen plan davon).
LittleBoy hat geschrieben: [edit]
Ach ja, ein Low-Level Format (bzw. korrekterweise: Eine Neuinitialisierung der Platte) kann(!) die Fehler evtl. beheben. Allerdings treten solche Fehler erst auf, wenn bereits eine Reservefläche der Platte voll genutzt ist, d.h. generell würde ich von solchen Reperaturversuchen abraten, und die Platte in den Ruhestand schicken bzw. danach bei ebay anbieten ;)
Wie gesagt. Die Platte is noch nicht eine Woche alt. Ich werde mit dem Testtool des Herstellers(Powermax von Maxtor) die Platte mal testen, und bei Fehlern umgehend zurückbringen.

gruss
manuel

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Beitrag von LittleBoy » 28.01.2004 10:19:15

"Nur" die grub-Shell *g* Was gibts denn schöneres ;)

Also, mal eine kleine ein-grubbung:
Grundsätzlich unterstützt grub die TAB-Taste ebenso wie die Bash. Wenn man nicht weiter weiss - eifnach TAB ;)

1. Das root-Laufwerk muss festgelegt werden:
root (hdX,Y)
X = Nr. Der Festplatte (0 = Primary Master, 1 = Primary Slave, etc.)
Y = Nr. der Partition (bei erweiterten Partitionen von der Linux-Nummer eins abziehen)
(die TAB Taste hilft hier bei der Auswahl)

/dev/hda5 => (hd0,4)

2. Danach der Kernel
kernel=/pfad/zum/vmlinuz kernel-parameter
(uach hier wirkt die TAB Taste Wunder)

z.B:
kernel=/boot/vmlinuz-2.6.1 ro root=/dev/hda5

3. wenns sein muss, noch die initrd
initrd=/boot/initrd-2.6.1.img

4. starten:
boot

Wenn ein Windows-System sein soll:
1. root auswählen wie oben
2.
chainloader +1
(d.h. 1 Sektor als Bootsektor vom OS laden)
3. makeactive
Partition als aktiv markieren (sonst kommt WIndows mit den LW Buchstaben durcheinander)
4.
boot

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 28.01.2004 10:49:29

Das war jetzt ausführlich, danke.
Ich werd das heute abend mal versuchen.

gruss
manuel

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 28.01.2004 17:03:41

LittleBoy hat geschrieben:2. Danach der Kernel
kernel=/pfad/zum/vmlinuz kernel-parameter
(uach hier wirkt die TAB Taste Wunder)

z.B:
kernel=/boot/vmlinuz-2.6.1 ro root=/dev/hda5
Wenn ich das versuche, sagt mir Grub

Code: Alles auswählen

Error 18: Selected cylinder exceeds maximum supported by BIOS
Komisch finde ich ein bisschen das es mit der anderen Platte geht(gleiches model, gleiche grösse).

Aber ich werd wohl jetzt mal mein Bios updaten...

gruss
manuel

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 28.01.2004 17:23:26

So, ich habs.

Neues Bios installiert, jetzt bootet er ;) sogar ohne händische Grub-Manipualiton.

gruss und danke
manuel

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 30.01.2004 07:27:52

So noch eine letzte kleine Zusammenfassunng.

Der driverseekerror war wirklich wegen einer defekten Platte. Das und der umstand das das Bios nicht neu genug war haben zu meinen Problemen geführt.

Jetzt ist das Bios up to date, und die kaputte Platte weggeworfen, und das Backup mit dd hat funktioniert.

Leider weis ich nicht genau wie lange es ging die 80GB Platte zu kopieren. Ich hab nach ca. 5 Stunden geschaut, und der war immer noch am kopieren, und am Morgen war er halt fertig.

Und ein

Code: Alles auswählen

dd if=/dev/hda of=/dev/hdb
kopiert wirklich_alles von einer Platte auf die andere. Da muss kein bootmanager mehr geladen werden,.

gruss
manuel

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 31.01.2004 13:24:20

Hi manuel,
suntsu hat geschrieben:Leider weis ich nicht genau wie lange es ging die 80GB Platte zu kopieren. Ich hab nach ca. 5 Stunden geschaut, und der war immer noch am kopieren, und am Morgen war er halt fertig.

Und ein

Code: Alles auswählen

dd if=/dev/hda of=/dev/hdb
kopiert wirklich_alles von einer Platte auf die andere. Da muss kein bootmanager mehr geladen werden,.
l
die Kiste beim dumpen zu beobachten ist bestimmt nicht der Knaller, mach doch beim naechsten mal (wenn das denn gibt) einfach folgendes:

Code: Alles auswählen

time dd if=/dev/hda of=/dev/hdb
dann sieh'st du wenn es fertig ist wie lange dd gebraucht hat.

Da du die komplette Platte /dev/hda als Inputfile genommen hast, und nicht nur eine Partition, gehoert der MBR einfach dazu.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten