Dois-je ajouter une option de synchronisation comme suggéré par wiki.archlinux.org?
Si vous voulez utiliser cette conv=noerror
option, vous feriez bien de l'utiliser conv=sync
avec, ou vous pourriez vous retrouver avec une sauvegarde inutile.
Par la page de manuel Linux
Each CONV symbol may be:
...
sync
pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs
Cette option pouvant ajouter du remplissage est nécessaire lorsque vous spécifiez également l' noerror
option "ou continuer après les erreurs de lecture". Le contrôleur de disque ne fournit aucune donnée de secteur pour le tampon d'entrée lorsqu'une erreur de lecture sévère (c'est-à-dire irrécupérable) se produit. Si dd s'est arrêté suite à une telle erreur (comme il le ferait normalement), le manque de données ne pose pas de problème.
Cependant, lorsque "continuer après les erreurs de lecture" est spécifié, le manque de données est alors un problème. Si la mémoire tampon d'entrée n'est pas complétée pour prendre en compte le ou les secteurs illisibles, les données écrites suivantes sont alors décalées par rapport aux secteurs appropriés dans lesquels elles doivent être écrites. Ou si les données suivantes sautées les secteurs de destination correspondant aux erreurs (ou fait un cherchent (dans dd le langage) à son secteur correspondant), puis les données de déchets dans les secteurs sautées-over seraient traités comme des copies des données originales.
Si vous utilisiez dd pour copier des blocs comportant un numéro de séquence intégral, le remplissage ne serait peut-être pas nécessaire pour détecter ou comptabiliser les blocs manquants. On ne peut pas présumer que les secteurs de disques bruts possèdent une telle numérotation de séquence intégrale et nécessitent un remplissage pour tenter de préserver l'intégrité du système de fichiers copié.
Notez qu'il existe deux sync
options disponibles avec dd .
L'un est conv=sync
et l'autre est iflag=sync
. Ils ont des significations différentes.
Devrais-je définir bs = 16384 Ko comme taille du cache de disque plutôt que le nombre le plus élevé pour maximiser la vitesse?
Vous parlez de quel "grand nombre"?
Le bs
paramètre, taille de bloc, n'a rien à voir avec la taille de la mémoire cache (bien que je ne sache pas exactement de quelle mémoire cache vous faites référence.)
16 Mo est probablement une capacité de traitement excessive, car il se peut même qu'il ne reste pas beaucoup de mémoire DMAable à verrouiller. . Il existe des tests de référence permettant de faire varier la taille des blocs, et ceux que j'ai vus, comme celui-ci , confirment mes soupçons selon lesquels la taille du retour diminue (ou du moins pas plus), ce qui semble être d'environ 512 Ko.
Une valeur classique pour la bs
copie d’un disque dur était la taille de la piste en octets (ou num_of_sectors_per_track * 512 octets). Mais comme les disques durs modernes utilisent l’enregistrement de bits par zones et modifient la densité surfacique, il n’existe pas de "nombre de secteurs par piste" fixe (ou connu d'ailleurs). La spécification typique publiée de "63 secteurs par piste" sur les lecteurs modernes est simplement une commodité numérique.
bs=
est le meilleur pour IDE HDD? 10000k? 20000k? ou il serait préférable d’être un multiple de 512 (taille du secteur)?conv=sync
(qui est dans la question) est incorrecte. Vous décriveziflag=sync
(ce qui n'est pas dans la question).sync
sur un article concernant l'utilisation de pseudo-analyses comparatives de disques dursdd
et j'ai eu ce comportement en utilisant cette option. Mais je peux me tromper. Pourriez-vous préciser les différences entre eux?bs
je suggérerais d'utiliser la même taille que le cache du lecteur, mais4M
c'est une bonne valeur, je suggérerais également de définir explicitement les tailles de blocibs
etobs
; en tant que page de manuel pour lesdd
états, l'bs
option ne définit pas nécessairement la taille du bloc d'entrée ni la taille du bloc de sortie .ibs
etobs
vous n'avez pas à spécifierbs
. C'est ce que dit la page de manueldd
.