Newsgroup: it.comp.os.linux.iniziare
Titolo: Domandona su dd e mbr...

Ciao
Leggendo qui:
http://guide.debianizzati.org/index.php/MBR
http://lists.pluto.it/pipermail/pluto-help/2004-December/019117.html
http://www.debianhelp.co.uk/ddcommand.htm
Ho visto com'è fatto il Master Boot Record del disco e ho visto che si
può usare dd per farne un backup con il comando:
dd if=/dev/hda of=mbr-backup bs=512 count=1
Il ripristino avverrebbe con il comando:
dd if=mbr-backup of=/dev/hda
Mentre il ripristino del boot loader si farebbe con il comando:
dd if=mbr-backup of=/dev/hda bs=446 count=1
Mi chiedevo, dopo aver letto quelle pagine e la pagina man di dd, se per
ripristinare la sola tabella delle partizioni è corretto usare il comando:
dd if=mbr-backup of=/dev/hda bs=1 count=66 seek=446 skip=446
L'opzione seek= dovrebbe fargli saltare i primi 466 byte del disco (la
destinazione), mentre l'opzione skip= dovrebbe fargli saltare i primi
446 byte del file di backup, no?
Dovrebbe funzionare, giusto?
grazie a tutti quelli che vorranno togliermi questo dubbio
ciao
gerlos
-- 
"Solo lo scienziato è vero poeta: ci dà la luna, ci promette le stelle,
 ci farà un nuovo universo se sarà il caso."
   _                                  Allen Ginsberg
  (y)        < 
http://gerlos.altervista.org
 >
   =   gerlos  + - - >  gnu/linux registred user #311588
 Difenditi la tua libertà. Informati sul Trusted Computing.
		  < 
www.no1984.org
 >

 byte del disco (la destinazione),...
No!
L'opzione seek si posiziona all'ennesimo blocco
*azzerando* i blocchi precedenti; in questo modo 
rovini il disco.

 
Allora così ripristinerei la partition table ma perderei il boot loader?
 O sto prendendo un abbaglio, e farei solo un pasticcio?
Appena mi capita per le mani un disco da sacrificare faccio la prova...
ciao e grazie


 faccio la prova...
Perche` aspettare?
Puoi fare tutte le prove che vuoi con dd su dei file
regolari.
Oppure puoi fare le prove su partizioni non usate.
Oppure disattivi lo swap ed usi la partizione di swap,.

Oppure disattivi lo swap ed usi la partizione di swap,.
C'e' qualcosa che non e' chiara, a me sembra perfetto,
guarda:
yes xxxxxxxxxxxxxxx|dd of=ics count=1;hexdump -C ics
00000000  78 78 78 78 78 78 78 78  78 78 78 78 78 78 78 0a  |xxxxxxxxxxxxxxx.|
*
00000200
dd if=/dev/hda of=mbr count=1
dd if=mbr of=ics bs=1 count=66 seek=446 skip=446;hexdump -C ics
00000000  78 78 78 78 78 78 78 78  78 78 78 78 78 78 78 0a  |xxxxxxxxxxxxxxx.|
*
000001b0  78 78 78 78 78 78 78 78  78 78 78 78 78 78 00 01  |xxxxxxxxxxxxxx..|
000001c0  01 00 0c fe ff ff 3f 00  00 00 7e 4b f5 01 80 fe  |......?...~K....|
000001d0  ff ff 07 fe ff ff bd 4b  f5 01 7e a2 d7 07 00 fe  |.......K..~.....|
000001e0  ff ff af fe ff ff 3b ee  cc 09 7e 8a f5 01 00 fe  |......;...~.....|
000001f0  ff ff 85 fe ff ff b9 78  c2 0b c8 cc 59 11 55 aa  |.......x....Y.U.|
00000200
Non ha azzerato nulla del precedente, ma solo scritto a
partire dal blocco di seek i 66 byte presi a partire da skip.
Piuttosto se il file destinazione e' di lunghezza maggiore di
512 byte, allora si perde tutto quel che c'e' DOPO, cioe' lo
termina alla fine di quel che ci scrive.
Pero' col file hda NON e' cosi', perche' moltissime volte l'ho
fatto ed e' anche documentato, che scrivendo tutto l'mbr il
resto del disco resta intatto.
In altre parole il file hda non lo puo' accorciare: da 150
giga a 512 byte! io almeno me lo spiego cosi'.
-- 
Saluti, Dalet

 Pero' col file hda NON e' cosi',...
Infatti poiche` /dev/hda e` un device e non un file 
regolare *non* *puo`* essere cosi'.