usb-festplatte mit freebsd darauf klonen

dominik-w

Well-Known Member
hallo zusammen also ich hatte FreeBSD super auf meinem notebook zum laufen bekommen aber dann ist iwas an dem ding kaputtgeganegn und es gibt keinen muchs mehr von sich... so nun dachte ich mir hmmm halb so wild (das notebook war eh am stereben) bauste die festpaltte eben in deinen rechner... also schnell ein usb gehaeuse fuer 2,5" platten gekauft und versucht davon zu booten.... so nun findet FreeBSD aber das root-veryeichnis nicht... ich nehme an USB festplatten waren deaktiviert... und ich konnte nihct einfach davon booten...

so dann habe ich mir eben gedacht ich koenne die festplatte ja einfach auf eine ide 3,5" klonen so mit folgeendem ergebnis:

Code:
dd if=/dev/sda of=/dev/hdb1
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.353511 seconds, 0.0 kB/s
 
Uhm, auf den ersten Blick wuerde ich behaupten das dieses irgendwas, was an deinem Laptop kaput gegangen ist, wohl die Festplatte war. ...

Edit:
- Ach ein kaputtes 2,5" USB-Gehaeuse hatte ich auch mal, das hat damals auch E/A-Fehler verursacht.
- if=/dev/sda of=/dev/hdb1 wird uebrigens auch nicht funktionieren, wenn du if=/dev/sda of=/dev/sdb machen wolltest, geht das imho auch nur mit 2 identischen Platten.
 
Zuletzt bearbeitet:
Und versuch besser sowas wie
dd if=/dev/sda of=datei.img
Quelle = Festplatte von Anfang an, Ziel = Partition <- unfug
 
kommt immer auf das gleiche hinaus -.-


Code:
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.353511 seconds, 0.0 kB/s
 
Alternativ kannst du auch dieses kleine Tool probieren: recoverdisk

Ab FreeBSD 7 ist das im Basissystem enthalten. Unter FreeBSD 6 versteckt es sich noch unter /usr/src/tools/tools/recoverdisk und muß nachkompiliert werden.
 
Wie wärs wenn du die festplatte erstmal direkt an den PC hängst, oder versuchst die Festplatte einfach zu mounten anstelle sie 1-zu-1 zu kopieren?
Bei OpenBSD ist es ja so das IDE-Festplatte und USB-Festplatten eine unterschiedliche kennung bekommen (wd vs. sd) - in dem moment gibt es nach dem umbau nur eine falsche fstab, die man beiseitigen müsste - gilt das evtl. auch für FreeBSD?
 
Die 2,5" Festplatte direkt in einen Rechner zu haengen, geht nicht ohne Adapter.

Nur um es nochmal zu erwaehnen, ich habe auch schon ein preiswertes 2,5" USB-Gehaeuse gekauft und musste es direkt am naechsten Tag zurueck bringen weil es mir nicht mehr als E/A-Fehler geliefert hat.
Also die Platte erstmal noch anders zu testen als mit diesem einen, neuen, ungetesteten Gehaeuse wuerde ich auch empfehlen.

Davon abgesehen hat Zed recht mit den Devicenamen, USB-Sticks laufen bei FreeBSD unter /dev/daX und nicht /dev/adX.
 
Bist Du etwa unter Linux? sda ist kein FreeBSD-Device, oder? Bei Linux muss man vielleicht erstmal absichern, dass die Platte nicht gemountet ist und zweitens muss man vielleicht wirklich explizit die korrekte Blockgröße angeben (fast immer 512).
 
@nakal:
nein, soweit ich mich daran erinnere, funktioniert der dd Befehl unter einem GNU/Linux an dieser Stelle wie in FreeBSD auch und insgesamt vielleicht sogar mächtiger, als unter letzterem.
Dein Einwand hat es aber in sich, es muß schon darauf geachtet werden, daß die Syntax da unterschiedlich sein kann.
Der dd funktioniert dann wie oben beschrieben, wenn das Ziel >= der Quelle ist. Dann wird aber unter Umständen gleich eine Menge Platz verschenkt. Der MBR (Master-BootRecord) wird ja mit kopiert und somit genau die Partitionstabelle und die Größenangaben im Ziel so gesetzt, wie auf der Quelle. (diese Angaben beziehen sich wiederum auf meine Erfahrung unter GNU/Linux).
Natürlich wird aber der MBR so, wie oben beschrieben, gar nicht an den Anfang der PLATTE kommen, sondern an den Anfang der PARTITION und dann nutzt er nichts, es kann nicht gebootet werden!
Deshalb würde ich versuchen, eine neue Platte zu (partitionieren, bootflag..)formatieren und mittels rsync -auv /pfad/zu/quelle/* /pfad/zu/ziel alle Dateien zu übertragen. Danach mittels dd if=/dev/quelle of=/dev/ziel bs=440 count=1 nur den Teil des MBR, der den eigentlichen Bootloader enthält und nicht die Partitionstabelle. Für rsync muß gemounted sein, für dd würde ich unmounten.
 
habe gerade sowas ähnliches versucht und festgestellt, daß FreeBSD nur einen Sektor von 512 schreibt und nicht die 440 nimmt und daß mir dabei auch rsync nicht lieferte, was ich von ihm gewöhnt bin. Auf eine FAT-Partition lieferte es mir nur Schrott und nicht, was ich wollte. Dabei waren Quelle und Ziel USB-Sticks.
Die gleichen Befehle unter GNU mit Linux liefen und lieferten das, was ich wollte.
 
Zurück
Oben