clonage disque bloc à bloc avec dd

Le
thebonz
Bonjour,

je suis un novice candide débutant (même pas encore un padawan).

Suite au crash du disque dur de mon macbook pro, blocs défectueux suite =
à un choc … l'idée est de récupérer tous les blocs lisible et de =
triller après ce que je peux récupérer.

Je suis tombé sur votre article : http://www.journaldulapin.com/2012/03/1=
6/cloner-un-disque-dur-bit-a-bit-avec-mac-os-x/

J'ai branché le disque endommager dans un boitier usb et j'ai un autre di=
sque usb également de même taille.

J'ai fait la manip : dd if=/dev/disk2 of=/dev/disk1

mais la réponse du Terminal est : "dd: /dev/disk1: Resource busy"

Pour un formatage mac os étendu journalisé quelle est la taille du bs ?

voici la copie du terminal :

MacBook-Pro-de-greg:~ greg b$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIF=
IER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD1 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIF=
IER
0: GUID_partition_scheme *1.0 TB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS SaveGreen 999.9 GB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIF=
IER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS Macintosh HD 898.0 GB disk2s2
3: Microsoft Basic Data 101.9 GB disk2s3
MacBook-Pro-de-greg:~ greg b$ dd if=/dev/disk2 of=/dev/disk1
dd: /dev/disk1: Resource busy
MacBook-Pro-de-greg:~ greg b$ dd if=/dev/disk2 of=/dev/disk1
dd: /dev/disk1: Resource busy
MacBook-Pro-de-greg:~ greg b$


Si vous avez des conseils, idées … je suis preneur

Merci de votre attention

Bien à vous
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
eric.hamery
Le #25941792

Bonjour,

je suis un novice candide débutant (même pas encore un padawan).

Suite au crash du disque dur de mon macbook pro, blocs défectueux suite à un c
hoc … l'idée est de récupérer tous les blocs lisible et de triller


après ce que je peux récupérer.

falait utilisé Time Machine avant, Time Machine ma sauvé deux fois, et
j'ai tout retrouvé a 100%...

une copie d'un disque defectueux, si vous pouvez faire une copie c'est
que le disque est lisible, le mieux c'est de copier avec le finder, car
une copie bloc a bloc metra des fichier qui sont lisible sur la copie
mais qui sont corompu c'est encore plus dificile de les distinguer...

--
/ Mes Services - http://www.metamaitre.com
--o-- Forum "Méta-Science" - http://d.pr/VUA6
/ <08-D<X=8 - http://dieupurre.free.fr/DieuPurRe/Bienvenue.html
------------------------> La Vie Est Belle <----------------------<<<
pehache
Le #25942572
Le 18/01/2014 09:17, a écrit :
Bonjour,

je suis un novice candide débutant (même pas encore un padawan).

Suite au crash du disque dur de mon macbook pro, blocs défectueux suite à un choc … l'idée est de récupérer tous les blocs lisible et de triller après ce que je peux récupérer.

Je suis tombé sur votre article : http://www.journaldulapin.com/2012/03/16/cloner-un-disque-dur-bit-a-bit-avec-mac-os-x/

J'ai branché le disque endommager dans un boitier usb et j'ai un autre disque usb également de même taille.

J'ai fait la manip : dd if=/dev/disk2 of=/dev/disk1

mais la réponse du Terminal est : "dd: /dev/disk1: Resource busy"



Il faut sans doute démonter le disque avant de pouvoir y accéder comme ça.



Pour un formatage mac os étendu journalisé quelle est la taille du bs ?



C'est une caractéristique bas niveau qui ne dépend pas du formatage, ça.
En principe un secteur c'est 512o


voici la copie du terminal :

MacBook-Pro-de-greg:~ greg b$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD1 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS SaveGreen 999.9 GB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS Macintosh HD 898.0 GB disk2s2
3: Microsoft Basic Data 101.9 GB disk2s3
MacBook-Pro-de-greg:~ greg b$ dd if=/dev/disk2 of=/dev/disk1
dd: /dev/disk1: Resource busy
MacBook-Pro-de-greg:~ greg b$ dd if=/dev/disk2 of=/dev/disk1
dd: /dev/disk1: Resource busy
MacBook-Pro-de-greg:~ greg b$




Quand tu connectes le disque tu vois quelque chose dessus, ou pas ?

Parce que si tu ne vois rien, ce n'est pas dd sur le disque complet qui
changera quelque chose...
thebonz
Le #25942612
Salut et merci de vos réponses

alors en effet j'avais fait une sauvegarde time machine mais avec 2 mois, l a flegme de le faire (on ne m'y reprendra plus) perdu les photos des fête s et les derniers docs ...

J'ai utilisé : l'utilitaire disque il prend en compte mon disque usb, il repère les 2 partitions mac et pc (j'avais utilisé boot camp) mais la s ection mac de mon ancien dd est grisée avec le bon nom, mais je ne peux p as la monter, la section pc est monter sur le bureau mais je ne peux pas l' ouvrir. l'utilitaire disque ne peux pas réparer.
Ensuite j'ai essayé : tech tool, disk drill et disk warrior, ils ont les problèmes mais pas plus. Data Rescue m'a indique que pas mal de blocs son t défectueux... mais pas possible de le cloner sur un autre disque usb.

d'où l'idée de copier bloc par bloc avec le Terminal.

Mais les infos qui me manque pour continuer sont :

la taille des bs pour une meilleure rapidité ?

l'adresse des commandes est-ce que c'est bien disk1 et disk2?
ou bien est-ce disk2s2 et disk1s2 ??

pourquoi la réponse du terminal est Resource busy ?? mon autre disque usb est vide et de même taille que celui à copier ...

bref si quelqu'un à des piste

Merki
Matt
Le #25942642
On Sam 18 janvier 2014 (16:47),
pehache
J'ai fait la manip : dd if=/dev/disk2 of=/dev/disk1

mais la réponse du Terminal est : "dd: /dev/disk1: Resource busy"



Il faut sans doute démonter le disque avant de pouvoir y accéder comme ça.



Tout à fait.

#v+
% diskutil umountDisk /dev/disk1
#v-

Pour un formatage mac os étendu journalisé quelle est la taille du bs ?



C'est une caractéristique bas niveau qui ne dépend pas du formatage, ça.
En principe un secteur c'est 512o



Cela dépendra de la taille du disque.
Pour un système de fichiers HFS+ :


hth

PS. crosspost sur fcomox et suivi là-bas; ceci n'étant pas vraiment de
la programmation.

--
“Programming can be fun, so can cryptography; however they should not be combi
ned.” -Kreitzberg and Shneiderman
pehache
Le #25942752
Le 18/01/2014 17:37, Matt a écrit :
On Sam 18 janvier 2014 (16:47),
pehache
J'ai fait la manip : dd if=/dev/disk2 of=/dev/disk1

mais la réponse du Terminal est : "dd: /dev/disk1: Resource busy"





Il faut sans doute démonter le disque avant de pouvoir y accéder comme ça.



Tout à fait.

#v+
% diskutil umountDisk /dev/disk1
#v-



Ou plus simple

umount /dev/disk1


C'est une caractéristique bas niveau qui ne dépend pas du formatage, ça.
En principe un secteur c'est 512o



Cela dépendra de la taille du disque.
Pour un système de fichiers HFS+ :





Je me suis mal exprimé... Je voulais dire qu'en travaillant avec dd, le
blocsize du système de fichiers n'était pas forcément pertinent, et que
le secteur l'était plus.

En lisant des blocs de 4192o par exemple, il suffit d'un secteur mort
dans le bloc pour que tout le bloc passe à la trappe, non ? Il vaut
mieux alors lire secteur par secteur.
Matt
Le #25942802
On Sam 18 janvier 2014 (18:23),
pehache
En lisant des blocs de 4192o par exemple, il suffit d'un secteur mort
dans le bloc pour que tout le bloc passe à la trappe, non ?



Par défaut oui sauf si on utilise « conv=noerror,sync ».
Mais cela reste vrai pour des blocs de plus petites tailles également.

N'oublie pas que la plupart des disques durs actuels stockent des blocs
de 4096 octets par secteur.

Il vaut mieux alors lire secteur par secteur.



Si le support en entrée stocke 4096 octets par secteur, t'en déduis quoi ?
;)

--
“Daddy, how is software made?” “Well, when a programmer loves an idea very
much they stay up all night and then push to github the next day.”
– Sam Kottler
pehache
Le #25943222
Le 18/01/2014 19:25, Matt a écrit :
On Sam 18 janvier 2014 (18:23),
pehache
En lisant des blocs de 4192o par exemple, il suffit d'un secteur mort
dans le bloc pour que tout le bloc passe à la trappe, non ?



Par défaut oui sauf si on utilise « conv=noerror,sync ».



Mouais, ce n'est pas tout à fait ce que j'avais compris... noerror sert
à ne pas s'arrêter après une erreur de lecture, et sync permet de
compléter avec des zéros un bloc dans lequel il y a eu des erreurs de
lecture. Mais rien ne semble garantir que les zéros sont mis à la bonne
place dans le bloc (c'est peut-être le cas, mais le man ne le dit pas
vraiment). Au moins, en prenant un bloc égal à la taille du secteur, on
évite ce problème.

Mais cela reste vrai pour des blocs de plus petites tailles également.

N'oublie pas que la plupart des disques durs actuels stockent des blocs
de 4096 octets par secteur.

Il vaut mieux alors lire secteur par secteur.



Si le support en entrée stocke 4096 octets par secteur, t'en déduis quoi ?
;)




Qu'il vaut mieux connaître la taille des secteurs des disques sur
lesquels on veut faire ces manips.

=========================================== toto2:~ ******$ diskutil info / | grep Block
Device Block Size: 512 Bytes
============================================
Matt
Le #25943252
On Dim 19 janvier 2014 (00:48),
pehache
Mouais, ce n'est pas tout à fait ce que j'avais compris... noerror sert
à ne pas s'arrêter après une erreur de lecture, et sync permet de
compléter avec des zéros un bloc dans lequel il y a eu des erreurs de
lecture. Mais rien ne semble garantir que les zéros sont mis à la bonne
place dans le bloc (c'est peut-être le cas, mais le man ne le dit pas
vraiment).



Relis la description de l'option « noerror » :

#v+
/noerror/ Do not stop processing on an input error. When an input error
occurs, a diagnostic message followed by the current input and output
block counts will be written to the standard error output in the same
format as the standard completion message. If the sync conversion is
also specified, any missing input data will be replaced with NUL bytes
(or with spaces if a block oriented conversion value was specified) and
processed as a normal input buffer. If the sync conversion is not
specified, the input block is omitted from the output. On input files
which are not tapes or pipes, the file offset will be positioned past
the block in which the error occurred using lseek(2).
#v-

Au moins, en prenant un bloc égal à la taille du secteur, on évite ce
problème.

Qu'il vaut mieux connaître la taille des secteurs des disques sur
lesquels on veut faire ces manips.

=========================================== > toto2:~ ******$ diskutil info / | grep Block
Device Block Size: 512 Bytes
===========================================


On est d'accord.
Donc répondre 512 comme taille d'entrée et sortie sans savoir quel est
le support n'est pas correct.

--
“The proper use of comments is to compensate for our failure to express oursel
f in code.” – Uncle Bob Martin
Publicité
Poster une réponse
Anonyme