Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/04/2022, à 22:57

qolepam

comment repérer les secteurs ou clusters occupés sur un disque dur?

bonjour,

Je suppose avoir formaté complètement un disque dur.
Je suppose avoir crée une table de partition après avoir complètement formaté le disque dur.
Je lui écrit un seul fichier:un pdf par exemple.
Existe-t-il une commande linux permettant de repérer,de lister les secteurs ou plutôt des clusters (dont la taille correspond à la taille d'unité d'allocation) de la partition du disque dur occupés par ce fichier?
Si oui,laquelle?

Si non,un logiciel ou un soft faisant cette opération?


merci de votre aide

Hors ligne

#2 Le 20/04/2022, à 23:43

jplemoine

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Je pense que ça dépend du formatage. Ensuite, en extN, je crois que c'est plus ou dynamique.
Le fichier est relié à un i-node et l'i-node change d'emplacement (au démarrage ?) : c'est pour ça qu'il n'y a pas besoin de défragmenter..


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#3 Le 20/04/2022, à 23:49

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

quel rapport entre l'i node et la position du secteur ou cluster sur le disque dur?

Hors ligne

#4 Le 21/04/2022, à 00:14

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Bonsoir,
Tout dépend du système de fichiers
Par exemple en NTFS, les fichiers se mettent à la queue leu leu avec leur taille exacte
Donc lorsqu'un fichier s'aggrandit ultérieurement, il y a fragmentation systèmatique.
Par exemple en EXT4, les fichiers s'étalent sur la totalité du disque en laissant un certain espace disque libre pour un aggrandissement de taille raisonnable. La fragmentation est donc  moins fréquente.
Tu peux connaitre l' implantation du premier "inode" du fichier avec la commande

ls -i  Nom du fichier

Note que ce  numéro est invariant même lorsque tu changes le nom du fichier
Il existe certainement une formule assez simple pour convertir l'inode en n° de secteur

Cependant, il me semble que cette commande va te donner ta réponse.

$ sudo hdparm --fibmap Nom du fichier

ou celle-ci

filefrag -e Nom du fichier

c'est certainement le sujet de ta question.
Sous ubuntu, il existe encore le format BTRFS ou le format ZFS ou EXFAT avec certainemnet d'utres règles..

Dernière modification par geole (Le 21/04/2022, à 00:39)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#5 Le 22/04/2022, à 21:38

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

j'ai vu ceci:
https://smackerelofopinion.blogspot.com … umber.html

Ce que je ne comprends pas,c'est le byte offset.
Peut-on m'expliquer?

Hors ligne

#6 Le 22/04/2022, à 22:19

Tawal

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Hello,

Je ne sais pas interpréter le "byte_offset".
Mais, je crois bien que cela représente la fragmentation du fichier sur le disque.


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#7 Le 23/04/2022, à 07:23

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

qolepam a écrit :

j'ai vu ceci:
https://smackerelofopinion.blogspot.com … umber.html

Ce que je ne comprends pas,c'est le byte offset.
Peut-on m'expliquer?

Je préfère lire du français

sudo filefrag -v  tempfile
Filesystem type is: ef53
File size of tempfile is 26361708544 (6435964 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:  104464384.. 104497151:  32768:            
   1:    32768..  393215:  104497152.. 104857599: 360448:            
   2:   393216..  884735:  104890368.. 105381887: 491520:  104857600:
   3:   884736.. 1376255:  105414656.. 105906175: 491520:  105381888:
   4:  1376256.. 1867775:  105938944.. 106430463: 491520:  105906176:
   5:  1867776.. 2359295:  106463232.. 106954751: 491520:  106430464:
   6:  2359296.. 2850815:  106987520.. 107479039: 491520:  106954752:
   7:  2850816.. 3342335:  107511808.. 108003327: 491520:  107479040:
   8:  3342336.. 3833855:  108036096.. 108527615: 491520:  108003328:
   9:  3833856.. 4325375:  108560384.. 109051903: 491520:  108527616:
  10:  4325376.. 4816895:  109084672.. 109576191: 491520:  109051904:
  11:  4816896.. 5308415:  109608960.. 110100479: 491520:  109576192:
  12:  5308416.. 5799935:  110133248.. 110624767: 491520:  110100480:
  13:  5799936.. 6051839:  110657536.. 110909439: 251904:  110624768:
  14:  6051840.. 6074367:       9308..     31835:  22528:  110909440:
  15:  6074368.. 6096895:     532513..    555040:  22528:      31836:
  16:  6096896.. 6119423:    1056800..   1079327:  22528:     555041:
  17:  6119424.. 6141951:    1581088..   1603615:  22528:    1079328:
  18:  6141952.. 6164479:    2105376..   2127903:  22528:    1603616:
  19:  6164480.. 6187007:    2629664..   2652191:  22528:    2127904:
  20:  6187008.. 6209535:    3153955..   3176482:  22528:    2652192:
  21:  6209536.. 6232063:    3678240..   3700767:  22528:    3176483:
  22:  6232064.. 6254591:    4202528..   4225055:  22528:    3700768:
  23:  6254592.. 6277119:    4728723..   4751250:  22528:    4225056:
  24:  6277120.. 6295551:    5256305..   5274736:  18432:    4751251:
  25:  6295552.. 6318079:    5775392..   5797919:  22528:    5274737:
  26:  6318080.. 6340607:    6299680..   6322207:  22528:    5797920:
  27:  6340608.. 6363135:    6823968..   6846495:  22528:    6322208:
  28:  6363136.. 6385663:    7348256..   7370783:  22528:    6846496:
  29:  6385664.. 6408191:    7872544..   7895071:  22528:    7370784:
  30:  6408192.. 6430719:    8396832..   8419359:  22528:    7895072:
  31:  6430720.. 6435963:    8921120..   8926363:   5244:    8419360: last,eof
tempfile: 31 extents found

Le colonage est assez clair me semble-t-il
N° extent | adresse logique du début de l'extend | adresse logique de la fin de l'extend | adresse physique du début de l'extend | adresse physique  de la fin de l'extend | Taille de l'extend | Eventellement, adresse théorique physique que le début de l'extend aurait du avoir pour être à la suite du précédant. |  Colonne disant que c'est le dernier extend

La même chose avec l'autre commande

sudo hdparm --fibmap tempfile
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Unable to determine start offset LBA for device, aborting.

C'est vrai que mon exemple  est   fait dans  un RAID formaté en EXT4 et pas  une partition ext4 native.

Donc, autre exemple

sudo filefrag -v  initrd.img-5.13.0-39-generic -b512
Filesystem type is: ef53
File size of initrd.img-5.13.0-39-generic is 113895983 (222456 blocks of 512 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   16383:   11231232..  11247615:  16384:            
   1:    16384..   32767:   11403264..  11419647:  16384:   11247616:
   2:    32768..   98303:   11452416..  11517951:  65536:   11419648:
   3:    98304..  163839:   11337728..  11403263:  65536:   11517952:
   4:   163840..  180223:   12058624..  12075007:  16384:   11403264:
   5:   180224..  196607:   12320768..  12337151:  16384:   12075008:
   6:   196608..  212991:   12369920..  12386303:  16384:   12337152:
   7:   212992..  222455:   12419072..  12428535:   9464:   12386304: last,eof
sudo hdparm --fibmap initrd.img-5.13.0-39-generic

initrd.img-5.13.0-39-generic:
 filesystem blocksize 4096, begins at LBA 658507776; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  669739008  669755391      16384
     8388608  669911040  669927423      16384
    16777216  669960192  670025727      65536
    50331648  669845504  669911039      65536
    83886080  670566400  670582783      16384
    92274688  670828544  670844927      16384
   100663296  670877696  670894079      16384
   109051904  670926848  670936311       9464

La documentation dit "Les numéros de secteur sont donnés sous forme de numéros LBA absolus, référencés à partir du secteur 0 du périphérique physique plutôt qu'à partir de la partition ou du syst
J 'ai envie de dire (sous toute réserve)
Qu'il y a un bug sur le premier offset, il ne peut pas commencer à zero
=> trouvé dans le net

$ sudo hdparm --fibmap test
test:
 filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
       40960    8928120    8928199         80

et que l'offset serait exprimé en BYTE  et indiquerait le début du morceau par rapport à la fin/au debut  du morceau précédant. Mais je n'arrive pas à confirmer en prenant mon exemple avec filefrag

A prio

Dernière modification par geole (Le 23/04/2022, à 09:28)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#8 Le 23/04/2022, à 21:48

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Je ne comprends toujours pas ce que représente le byte d'offset:
Ah oui j'ai compris! : il faut multiplier le nombre de secteurs par 512 et sommer sur chaque ligne
oui mais pourquoi il y a 8 lignes?(il y a 8 fichiers?)

sudo hdparm --fibmap initrd.img-5.13.0-39-generic

initrd.img-5.13.0-39-generic:
 filesystem blocksize 4096, begins at LBA 658507776; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  669739008  669755391      16384
     8388608  669911040  669927423      16384
    16777216  669960192  670025727      65536
    50331648  669845504  669911039      65536
    83886080  670566400  670582783      16384
    92274688  670828544  670844927      16384
   100663296  670877696  670894079      16384
   109051904  670926848  670936311       9464

Le nombre de secteurs est bien end_LBA-begin_LBA+1

Mais bon j'ai refait la commande pour un fichier fichier1 sur un disque dur.
Le fdisk -l de ce disque dur a donné:

/dev/sdb1.  start: 2048

Le sudo hdparm --fibmap fichier1 a donné:

byte_offset.    begon_LBA.   end_LBA.      sectors
0.            259106.           259692.         587

problème est que je ne suis pas arrivé à l'aide de ces commandes de dd d'effacer que ce fichier:

sudo dd if-/dev/zero.   of-/dev/sdb1.   bs-512.  seek-259106
sudo dd if-/dev/zero.   of-/dev/sdb.    bs-512.  seek-259106

Quelle est alors la bonne commande dd pour effacer que ce fichier sur /dev/sdb ?

Dernière modification par qolepam (Le 24/04/2022, à 00:45)

Hors ligne

#9 Le 24/04/2022, à 09:41

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Bonjour
Le fichier est tout simplement "fragmenté" en huit morceaux. http://www.ordinateur.cc/syst%C3%A8mes/ … 13040.html

Inutile de faire compliqué.

sudo dd if=/dev/zero   of=/boot/initrd.img-5.13.0-39-generic

ou utiliser la coomande wipe (logiciel à installer)
le plus simple est probablement de supprimer le fichier 

sudo rm -v /boot/initrd.img-5.13.0-39-generic

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#10 Le 24/04/2022, à 15:46

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

dans cette commande dd:

sudo dd if=/dev/zero   of=/boot/initrd.img-5.13.0-39-generic

quel est le rapport avec boot?
J'ai besoin d'explications

Hors ligne

#11 Le 24/04/2022, à 17:11

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Je ne suis bêtement  trompé de nom!!!!!!
En relisant, je viens de voir que c'est fichier1 qui est la cible de ta demande.


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#12 Le 24/04/2022, à 17:25

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

donc quelle est la bonne commande?

sudo dd if=/dev/zero   of=........

Dernière modification par qolepam (Le 24/04/2022, à 17:31)

Hors ligne

#13 Le 24/04/2022, à 17:42

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

sudo dd if=/dev/zero   of=fichier1

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#14 Le 24/04/2022, à 17:52

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

et si je voulais remplir de zeros un dossier dossier1 (à la place de fichier1),cette commande fonctionnerait-elle?:

sudo dd if=/dev/zero   of=dossier1

Hors ligne

#15 Le 24/04/2022, à 18:21

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

NON, il  faut un fichier en sortie
Mais il serait possible de faite un script pour traiter la totalité des fichiers du dossier.
Cependant,   pour ECRASER un dossier, tu peux utiliser la commande WIPE (logiciel à installer)

Dernière modification par geole (Le 24/04/2022, à 18:22)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#16 Le 24/04/2022, à 18:26

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Avec Wipe,on écrase de manière sécurisée avec des zéros comme le fait dd?

Dernière modification par qolepam (Le 24/04/2022, à 18:38)

Hors ligne

#17 Le 24/04/2022, à 18:36

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Encore plus sécurisé car on met de l'aléatoire qui masque plus.  En standard, il fait 4 fois.
( -Q <number-of-passes>
            Sets the number of passes for quick wiping. Default is 4. This option requires -q.

sudo apt install wipe

Dernière modification par geole (Le 24/04/2022, à 18:37)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#18 Le 24/04/2022, à 18:39

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Mon but est d'écraser un dossier avec des zéros.

Hors ligne

#19 Le 25/04/2022, à 14:18

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Bonjour
essaie cette commande en mettant ton dossier

find $HOME/TEST/essai -exec  shred -n0 -z -v  {}   \;

Il te faudra peut-être installer le logiciel  https://doc.ubuntu-fr.org/shred

Dernière modification par geole (Le 25/04/2022, à 14:29)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#20 Le 25/04/2022, à 14:44

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

A)cette commande:

sudo dd if=/dev/zero   of=fichier1

ne fonctionne pas chez moi car le device /dev/sdb n'est pas mentionné.
Dois-je alors me placer à l'aide de cd dans un répertoire spécifique pour qu'elle fonctionne?
Autre solution?

B)Le sudo hdparm --fibmap fichier1 a donné:

byte_offset.    begon_LBA.   end_LBA.      sectors
0             259106           259692        587

Pourquoi alors l'une de ces commandes  dd n'efface pas de manière sécurisée le fichier fichier1?:

sudo dd if=/dev/zero   of-=dev/sdb1   bs=512  count=587  seek=259106 
sudo dd if=/dev/zero   of=/dev/sdb     bs=512   count=587  seek=259106

Dernière modification par qolepam (Le 25/04/2022, à 14:49)

Hors ligne

#21 Le 25/04/2022, à 15:03

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Bonjour
Je ne sais pas comment tu as créé fichier1. Normalement on fabrique un fichier dans une partition.

Je pense que hdparm donne les références  en partant du début du disque
Ta seconde commande dd doit être bonne
Ta premiere commande dd  nécessite de retrancher le début de la partition SDB1 (probablement 2048) a la valeur seek   afin de compenser   l'ajout automatique du début de la partition


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#22 Le 25/04/2022, à 16:00

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Je viens de refaire cette commande:

sudo dd if=/dev/zero   of=/dev/sdb     bs=512   count=587  seek=259106

Elle ne fonctionne pas ! (le fichier n'est pas effacé) .Pourquoi?

Hors ligne

#23 Le 25/04/2022, à 16:57

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Pourtant cela fonctionne bien.

sudo hdparm --fibmap fichier1

fichier1:
 filesystem blocksize 4096, begins at LBA 658507776; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  694056768  694056775          8

sudo dd if=/dev/sda skip=694056768 count=8
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8+0 enregistrements lus
8+0 enregistrements écrits
4096 octets (4,1 kB, 4,0 KiB) copiés, 0,00120735 s, 3,4 MB/s

sudo dd if=/dev/zero of=/dev/sda seek=694056768 count=8
8+0 enregistrements lus
8+0 enregistrements écrits
4096 octets (4,1 kB, 4,0 KiB) copiés, 0,000422479 s, 9,7 MB/s

sudo dd if=/dev/sda skip=694056768 count=8
8+0 enregistrements lus
8+0 enregistrements écrits
4096 octets (4,1 kB, 4,0 KiB) copiés, 0,000218029 s, 18,8 MB/s

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#24 Le 25/04/2022, à 21:23

qolepam

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

Je ne comprends pas...
il a fallu faire 3 commandes dd dont la 2ème seule écrit des zéros?

Hors ligne

#25 Le 25/04/2022, à 22:14

geole

Re : comment repérer les secteurs ou clusters occupés sur un disque dur?

J'ai fait la première pour montrer ce qu'il avait avant de faire la seconde
J'ai fait la troisième pour montrer que les aaaaaaaaa ont bien disparus et prouvant donc que la seconde a bien fonctionné et a bien écrasé les données du fichier.

Dernière modification par geole (Le 25/04/2022, à 22:15)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne