Binare netwerk kopie

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008
  • Reageer

  • laurxp
  • Registratie: April 2005
  • Laatst online: 27-01 18:23
Ik heb een laptop met een bijna dode hd, dus wil ik de hd backuppen.
Het probleen is alleen dat de hd niet meer te mounten is.

Al geprobeerd:
dd if=/dev/sda bs=512 | ssh <user>@<host> tar cfj hda.bin.tar.bz2 -
dd if=/dev/sda bs=512 | scp - <user>@<user>:/backup/hd.bin
De laptop heeft internet, en ik draai momenteel een ubuntu cd waarvan de GUI dood is.

De mogelijkheden:
1 pc met voldoende schijfruimte en alle rechten. dit is de ontvangende pc
1 netwerk
1 laptop met alleen shell, maar wel netwerk, dit is de zendende pc


Ik ben enkele dagen geleden op GoT nog een geschikt programma tegen gekomen, maar ik kan het niet meer vinden. 8)7

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Wat is je probleem?

Ik denk overigens dat je het bovenstaande beter zo zou kunnen doen:

code:
1
dd if=/dev/sba bs=512 | ssh foo@bar 'cat\ >\ /blah.bin'


Of iets soortgelijks, de escaping kan anders moeten.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • dragunova
  • Registratie: Mei 2007
  • Laatst online: 09-01 15:49

dragunova

Samozaridnyia Vintovka D.

Eerste google hit geeft:

dd if=/dev/hda bs=512 | gzip -9 | scp - user@host:/backupdirectory/bla.gz

Vergeet niet de : en denk er om dat je ontvangende pc ssh moet draaien.
Evt kun je gzip -9 er wel tussenuit laten, maar als je processor en mem op de laptop het aan kunnen zou ik het laten staan.

Krijg je nog foutmeldingen?

[ Voor 23% gewijzigd door dragunova op 18-01-2008 22:57 ]

does the pope shit in the woods? is a bear catholic?


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 12:10

deadinspace

The what goes where now?

Hmm, waarom niet met netcat? (ervanuitgaande dat het netwerk min of meer trusted is)

  • freyk
  • Registratie: September 2003
  • Laatst online: 03-01 12:48
laurxp schreef op vrijdag 18 januari 2008 @ 22:40:
Ik ben enkele dagen geleden op GoT nog een geschikt programma tegen gekomen, maar ik kan het niet meer vinden. 8)7
bijvoorbeeld g4u, clonezilla

  • laurxp
  • Registratie: April 2005
  • Laatst online: 27-01 18:23
code:
1
dd if=/dev/sda bs=512 | ssh foo@bar 'cat\ >\ /blah.bin'

geeft: "bash: /blah.bin: Bestand of map bestaat niet"
code:
1
dd if=/dev/sda bs=512 | gzip -9 | scp - foo@bar:/blah.gz

geeft: "-: No such file or directory"

Netcat werkt wel!

Van-PC:
code:
1
dd if=/dev/sda | nc <host> 10000

Naar-PC:
code:
1
nc -l -p 10000 > /blah.bin


Tx deadinspace!

g4u en clonezilla zien er ook handig uit, deze zal ik zeker eens gaan testen.

edit:

Hmmm, na 4,5GB stopt hij ermee, I/O error. |:( |:(
Blijkbaar dus toch al dode sectoren, jammer maar helaas.

[ Voor 12% gewijzigd door laurxp op 19-01-2008 10:22 ]


  • benoni
  • Registratie: November 2003
  • Niet online
laurxp schreef op zaterdag 19 januari 2008 @ 10:16:
Hmmm, na 4,5GB stopt hij ermee, I/O error. |:( |:(
Blijkbaar dus toch al dode sectoren, jammer maar helaas.
Als de data die achter de bad sector komt echt heel erg belangrijk is, zou je eens kunnen experimenteren met deze opties van dd:

code:
1
2
3
4
5
       skip=BLOCKS
              skip BLOCKS ibs-sized blocks at start of input

       seek=BLOCKS
              skip BLOCKS obs-sized blocks at start of output


Maar stel dat je de los gekopieerde blokken data allemaal netjes op hun goede plek op een backup schijf kunt krijgen zit je dus wel met filesystems met gaten in de data, dus die moet je alsnog gaan herstellen.

Addit
Oh, en kijk even goed na of de I/O error aan de disk ligt en niet aan een hickup in het netwerk :>

[ Voor 21% gewijzigd door benoni op 19-01-2008 10:58 ]


  • laurxp
  • Registratie: April 2005
  • Laatst online: 27-01 18:23
De errors liggen aan de hd, aangezien ik ze ook bij het mounten krijg.
De sectoren 9329260-9329260 zijn dood, maar hoe kan ik het zo omzetten dat DD het begrijpt, want dd met skip=9329260-9329260 werkt niet, onbekend getal..
fdisk -l geeft 40,0GB, 255 heads, 63 sectors/track, 4864 cylinders.
de dd op de naar-pc geeft als output
6758335+3111591 records in
9329320+0 records uit
4776611840 bytes (4,8 GB) gekopieerd, 1061,55 seconden, 4,5 MB/s

hoe zorg ik ervoor dat dd het begrijpt?

  • benoni
  • Registratie: November 2003
  • Niet online
Je moet het stukje voor stukje doen denk ik, geen range aangeven. Met skip=BLOCKS geef je aan bij welke block te beginnen, met count=BLOCKS hoeveel blocks te kopiëren. Met bs=BYTES kun je de blocksize instellen.

[ Voor 5% gewijzigd door benoni op 19-01-2008 14:20 ]


  • lordgandalf
  • Registratie: Februari 2002
  • Laatst online: 30-01 18:26
wat je ook kunt proberen is ipv dd ddcfld te gebruiken dit is een forensic versie van dd die beschadigde sectoren enzo gewoon mee neemt of overslaat.

Steam: Profile / Socialclub: Profile / Uplay: minedwarf / Origin: lordgandalf3


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Je kan aan dd de optie 'conv=noerror' meegeven, dan negeert die IBS sized blocks als een read daarop mislukt.

  • laurxp
  • Registratie: April 2005
  • Laatst online: 27-01 18:23
Ik ben het kopieeren nu met de skip optie aan het doen, en dat werkt redelijk, het enige probleem is dat je er naast moet zitten om snel weer verder te kunnen.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Je zou kunnen proberen of je ddrescue kan pipen naar het netwerk, die heeft namelijk opties ingebouwd zitten om meerdere keren te proberen bij dode sectoren en in het geval van blijvend falen gewoon de sector over te slaan en verder te gaan.

Blog [Stackoverflow] [LinkedIn]


  • benoni
  • Registratie: November 2003
  • Niet online
Als je de schijf 'handmatig' in gedeeltes uitleest, moet je wel een transcript van de sessie bewaren of de blocknummers opschrijven zodat je de delen weer op de goede plaats kunt wegschrijven op een nieuwe schijf.

  • laurxp
  • Registratie: April 2005
  • Laatst online: 27-01 18:23
Ik wil proberen m.b.v. deze howto de image te mounten, aangezien ik momenteel geen reserve harddisk heb.
Ik heb idd opgeschreven welke blocks dood zijn.

Edit:

Bedankt allemaal voor jullie hulp, ik heb de gegevens eruit! :*) 8)

[ Voor 16% gewijzigd door laurxp op 20-01-2008 13:20 ]


  • benoni
  • Registratie: November 2003
  • Niet online
Ik weet niet of het bij een gemounte image file helemaal goed gaat als je met dd met de seek optie een blok gegevens aan de image toe gaat voegen, en daarbij een beginpunt aangeeft dat groter is dan de bestandsgrootte van de image.

Even voortbordurend op de tip van XTerm, je kunt dan misschien beter een dd in één run proberen met de optie 'conv=noerror,sync'. Dan zou die bij de blokken die een inleesfout genereren de output voor een gelijke lengte invullen met nullen. Dat lijkt me wat handiger (vooral als je met een disk image moet werken), dan staat alles wat leesbaar is op de goede plek. Als het wachten op de I/O foutmeldingen erg veel tijd in beslag neemt, kun je het stuk wat overgeslagen moet worden vergroten door de blocksize groter te maken.

Addit
Oh, het is gelukt zie ik, gefeliciteerd!

[ Voor 3% gewijzigd door benoni op 20-01-2008 13:26 ]

Pagina: 1