Forum Linux.général commande dd spécifique

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
10
avr.
2022

bonjour,

D'après cette page:
https://blog.desdelinux.net/en/complete-and-detailed-guide-with-dd-examples/

2 commandes linux me posent un léger problème:
dd if=/dev/zero count=1 bs=1024 seek=1 of=/dev/sda6 -» Destroy the superblock

dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/sda5 -» Another way to destroy the superblock

Pourquoi count=1 ?
ce qui signifie que qu'un seul bloc de 0 de taille bs est écrit dans dev/sda6 ou sda6?
ce n'est pas possible !!

  • # commande dd spécifique

    Posté par  . Évalué à 1. Dernière modification le 11 avril 2022 à 00:20.

    Les blocks font souvent 4096 par défaut, suivant le système de fichiers installé.

    Bref ces commandes avec dd je me demande bien pourquoi au final.
    Sans compter que tant que le formatage est comme ça on pourra rien en tirer, les espaces et tout ça, et surtout savoir ce que tu veux faire!

  • # Bonne déduction

    Posté par  . Évalué à 1.

    ce qui signifie que qu'un seul bloc de 0 de taille bs est écrit dans dev/sda6 ou sda6?

    Oui

    ce n'est pas possible !!

    Pourquoi ?

  • # besoin précision supplémentaire

    Posté par  . Évalué à -3.

    alors si j'avais écrit ceci:
    dd if = / dev / zero count = 1 bs = 1024 seek = 2 of = / dev / sda6 count=3
    cela aurait-il siginfié ceci?:
    écriture d'1 bloc de zero sur 3 blocs de la partition sda5 après avoir sauté 2 blocs de cette partition

    Je ne trouve pas dans le manuel de dd un count dédié au nombre de blocs d'entrée et un count dédié au nombre de blocs de sortie

    • [^] # Re: besoin précision supplémentaire

      Posté par  . Évalué à -3.

      si à travers le manuel de man dd,je comprends que count est dédié au nombre de blocs d'entrée,alors cette opération:

      écriture d'1 bloc de zéro sur 3 blocs de la partition sda5 après avoir sauté 2 blocs de cette partition

      est impossible?

      • [^] # Re: besoin précision supplémentaire

        Posté par  . Évalué à 1. Dernière modification le 11 avril 2022 à 17:02.

        On peut mais je ne vois pas la finalité de l'opération, il faut connaître la taille des secteurs / blocs, sinon dd va prendre 512 si bs= n'est pas indiqué

        Des zéros à l'infini en entrée : if=/dev/zero
        sur des blocs de taille bs= (cela peut-être 512,1024,2048,4096 etc .. suivant le formatage.
        trois blocs de zéro : count=3
        en sautant les deux premiers blocs du périphérique de sortie avec skip=2
        sur le périphérique de sortie of=/dev/sda5

        J'espère ne pas me tromper, les erreurs ont vite fait de bousiller une partitions et ses données seront perdues.

        if=/dev/zero bs=XXXX count=3 skip=2 of/dev/sda5

        écrira trois blocs de zéro sur les troisième, quatrième et cinquième blocs de /dev/sda5

        • [^] # Re: besoin précision supplémentaire

          Posté par  . Évalué à -2. Dernière modification le 11 avril 2022 à 17:31.

          euh tu t'es trompé:
          c'est:
          if=/dev/zero bs=XXXX count=3 seek=2 of/dev/sda5

          daccord donc avec count=Y
          le nombre de blocs d'entrée est égal au nombre de blocs de sortie
          et cela même si ibs diffère de obs?
          exemple:
          dd if=/dev/zero ibs=1 count=3 seek=2 of/dev/sda5 obs=512
          signifie-t-il?
          copie ou écriture de 3 blocs(count=3) de zéros sachant que 1 zéro prend 1 octet(ibs=1) sur 3 blocs(count=3) de la partition sda5 de taiile 512 octets(obs=512) après avoir sauté ses 2 premiers blocs(seek =2) de taille 512 octets(obs=512)

          • [^] # Re: besoin précision supplémentaire

            Posté par  . Évalué à 1.

            /dev/zero n'a pas de taille il va fournir des zéros tant que dd lui en demande, et si on précise bs=512, dd va arranger les zéros par blocs de 512k et non pas un zéro pour un bloc. Effectivement j'ai oublié le signe = après of=/dev/sda5

            • [^] # Re: besoin précision supplémentaire

              Posté par  (site web personnel) . Évalué à 3.

              Attention, bs=512 signifie une taille de bloc de 512 octets.

              Cela peut être vérifié dans la page info :

              ‘bs=BYTES’
                   Set both input and output block sizes to BYTES.  This makes ‘dd’
                   read and write BYTES per block, overriding any ‘ibs’ and ‘obs’
                   settings.  In addition, if no data-transforming ‘conv’ operand is
                   specified, input is copied to the output as soon as it’s read, even
                   if it is smaller than the block size.
              

              La page de manuel précise la taille par défaut :

              bs=BYTES
                  read and write up to BYTES bytes at a time (default: 512); overrides ibs and obs
              
              

              (Pour la petite histoire, un bloc UNIX signifie 512 octets, alors que sous Linux, c'est plutôt 1024. Cf. la variable d'environnement POSIXLY_CORRECT, prise en compte par différents utilitaires classiques.)

              Debian Consultant @ DEBAMAX

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.