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 maroufle34 . É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!
[^] # Re: commande dd spécifique
Posté par remico . Évalué à 1.
La syntaxe du site n'est pas bonne (espaces mal placés), c'est pour effacer un secteur de taille 1024 qui commence au bloc 0 = le superblock, ce qui revient à détruire la partition.
Pour restaurer une partition qui aurait un superblock défectueux, virus ou autre, il y a des copies de secours sur des blocs spécifiques suivant la taille de bloc utilisé et le système de fichier il y a plus d'une méthode pour restaurer le superblock, dans le dernier lien le superblock est volontairement effacé et restauré :
https://www.cyberciti.biz/tips/surviving-a-linux-filesystem-failures.html
https://www.ibm.com/docs/en/aix/7.1?topic=tfs-fixing-corrupted-magic-number-in-file-system-superblock
https://kezhong.wordpress.com/2009/06/27/linux-ext2ext3-superblock-recovery/
[^] # Re: commande dd spécifique
Posté par totof2000 . Évalué à 1.
Pour comprendre l'exemple il te faut aussi connaître le mapping des partitions primaires et secondaires linux.
# Bonne déduction
Posté par totof2000 . Évalué à 1.
Oui
Pourquoi ?
[^] # Re: Bonne déduction
Posté par tolemarf . Évalué à -3.
C'est possible mais ça ne détruti pas tout le superblock !
car si ça écrit 1 bloc de taille bs de zéros sur /dev/sda6 à partir du 1er bloc(seek=1),les blocs suivants le 2nd bloc de /dev/sda1 ne seront pas détruits !
je ne comprends pas:
qu'appellent-t-ils superblock ?
[^] # Re: Bonne déduction
Posté par totof2000 . Évalué à 1.
http://www-int.impmc.upmc.fr/impmc/Enseignement/ye/informatique/systemes/chap4/441.html
Le superbloc décrit l'état d'occupation des secteurs, alloués au système de fichiers. Lorsqu'on cherche à écrire sur un disque, il est en effet indispensable de connaître la liste des emplacements libres et occupés. Il faut donc construire et tenir à jour une carte d'occupation des lieux. Les inodes sont les noms internes des fichiers reconnus sous la forme de nombres entiers. Le superbloc maintient également la liste des noms libres utilisables, indispensable à la création de nouveaux fichiers.
Parmi les informations les plus importantes que contient le superbloc, on retiendra :
http://books.gigatux.nl/mirror/kerneldevelopment/0672327201/ch12lev1sec5.html- s_isize: la taille en blocs de la liste des inodes (i_list).
- s_fsize: la taille en blocs du système de fichiers.
- s_fname: le nom externe du système de fichiers.
https://linuxfr.org/forums/linux-general/posts/commande-dd-specifique
https://www.kernel.org/doc/html/latest/filesystems/ext4/globals.html
# besoin précision supplémentaire
Posté par tolemarf . É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 tolemarf . É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 remico . É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 tolemarf . É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 remico . É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 Cyril Brulebois (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 :
La page de manuel précise la taille par défaut :
(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
[^] # Re: besoin précision supplémentaire
Posté par remico . Évalué à 1.
Merci d'avoir corrigé
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.