DDE: affichage taille erroné

LitoteLED

Membre junior
6 Février 2018
15
0
27
Bonjour,

En branchant mon disque dur au mac, l'ordi m'annonce que mon disque est endommagé, que je peux encore copier ou lire les fichiers mais que je ne peux plus écrire dessus et il rajoute que mon disque dur externe a besoin d'être reformater.

Sans panique j'élabore mon plan: Acheter un nouveau disque dur, le formater en Exfat pour qu'il soit lisible sur mac et pc , sauvegarder les 1,95 to de mon DDE fatigué vers le neuf et reformater mon ancien disque en priant tous les dieux de l'informatique pour que mon ancien disque retrouve sa santé.
Ancien DDE: Western Digital My passport 2to format: mac OS étendu
DDE neuf: Maxtor M3 2 to formaté en Exfat au préalable par mes soins

J'arrive à faire ma copie seulement les choses se gâtent quand je vérifie que tous mes dossiers sont bien copiés en comparant la taille de mon premier DDE avec la taille du nouveau DDE.

Après 18h de copie l'ordi m'annonce que je ne peux plus copier car la capacité disponible du DDE neuf est épuisée. Je me lance donc dans une comparaison dossier par dossier sur les deux supports.
J'ai 1,64 to sur l'ancien et 1,62 to sur le nouveau. L'ancien DDE me dit qu'il y a 48,43 Go disponible et le nouveau me dit qu'il ne lui reste que 15,7 Mo disponible.

En fouillant je trouve effectivement un dossier qui est sensé faire 58,53 Go mais qui sur le nouveau disque m'affiche la taille de zéro ko. Surprenant dans la mesure ou il est remplis de fichiers qui individuellement ont bien été copiés et dont l'ordi affiche très clairement la taille quand on lui demande d'afficher individuellement chaque taille de chaque sous dossier.

Je débranche le DDE neuf pour vérifier sa taille quand il est lu par un ordi différent que celui sur lequel j'ai fait les copie. Le problème reste le même: il me dit que le dossier en question fait zéro ko pour autant j'arrive à accéder sans soucis au sous dossiers...
Ordi de copie: IMAC 10.9.5
Ordi de "vérification": Mac Book Pro Hight Sierra

Donc pour résumer: J'ai une sauvegarde qui m'a l'air niquel mais mes 2 ordis m'affichent une taille erronée de mes sous dossier et de la capacité utilisé du disque neuf.
Pourquoi l'un a 48 Go disponible et le nouveau 15 Mo alors qu'il n'y pas de fichiers doublement copiés?
Pourquoi certains dossier m'affiche zéro ko de taille alors qu'ils sont remplis de fichier?

Je suis ici pour vous demander si vous avez déjà rencontré cette situation en espérant que c'est juste un petit bug d'affichage sans conséquences sur les fichiers.

Comme j'en suis à l'étape ou je dois faire confiance à ma copie pour lancer le formatage du premier DDE, je dois être certaine de ne pas perdre des fichiers en route...

PS: je suis nouvelle alors je ne suis pas à 100% sure d'avoir choisi la bonne section du forum. Désolée



Note de la modération: c'est pô grave, je déplace dans le forum adéquat.
 
Dernière édition par un modérateur:

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
76 724
23 566
Forêt de Fontainebleau
Bonjour Litote

Quand bien même il n'y aurait pas eu le débusquement sournois de boninmi- :coucou: --> le seul choix de ton pseudo évocateur de souvenirs scolaires (« Va ! je ne te hais point... ») m'aurait incité à secourir la détresse de Chimène-


Après lecture de ton message --> j'ai une question à poser : comment t'y es-tu prise pour copier de disque à disque les 1,95 To de données ?
 
  • J’aime
Réactions: boninmi

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Il faut faire attention avec le formatage en ExFAT.
Lorsqu'on le réalise sur un Mac, avec l'Utilitaire de Disque par exemple, on ne dispose d'aucune option et macOS décide d'utiliser des paramètres complètement ineptes.
(ci-dessous j'utilise des unités d'informaticien mais que ce soit en base 2 ou en base 10, le problème est le même...)

Quand tu formates un système de fichiers, tu crées des blocs de données et une table qui référence ces blocs. Ensuite, quand on copie un fichier dans le volume, il est découpé en autant de blocs que nécessaire et on remplit ces blocs avec les données. Le dernier bloc occupé par le fichier est plus ou moins rempli : c'est le reste d'une division de la taille par le nombre de blocs.
Par exemple, pour une taille de blocs de 128 kB (le défaut choisi par Apple pour un formatage en ExFAT), tu divises la taille d'un fichier par 128 kB et tu as le nombre de blocs occupés par le fichier, plus un dernier pour ce qui reste.

Le choix de la taille de ces blocs est donc très important. Si tu as un grand nombre de petits fichiers (genre 10 kB), tu vas consommer 128 kB pour chacun d'eux.
Exemple : j'ai 10 000 fichiers ayant en moyenne une taille de 20 kB. Cela correspond, en terme de données, à
200 000 kB, soit environ 195 MB. Cependant :
  • sur un disque ExFAT dont la taille de bloc est 32 kB, tu auras en moyenne un seul bloc par fichier, donc cela consommera 10 000 blocs donc 320 000 kB soit environ 312 MB
  • sur un disque ExFAT dont la taille de bloc est 128 kB (encore une fois : le choix pas très malin d'Apple), on consommera 10 000 blocs aussi mais pour une taille de 1 280 000 kB soit 1250 MB. Oups !!
Que faire ? Soit tu reformates ton volume ExFAT depuis un PC sous Ouinedoze 7, 8 ou 10, en veillant à prendre la taille la plus petite possible. Soit tu ouvres Terminal et tu reformates le volume avec la commande newfs_exfat et le bon paramétrage (je ne l'ai pas en tête : je vais chercher le fil où je l'avais donné).

Ensuite tu pourras reprendre ta copie tranquillement, sans mauvaises surprises.

[edit]Bon.
Pour connaître la partition concernée, on a besoin de passer la commande :
Bloc de code:
diskutil list
qui retourne la liste de tous les disques connectés, avec toutes leurs partitions.
Pour connaître les paramètres actuels de la partition ExFAT, la commande à passer dans Terminal est du type :
Bloc de code:
sudo newfs_exfat -N /dev/diskXsY
Pour reformater avec une meilleure granularité (en général je prends 4096, soit 4 kB), ça doit être :
Bloc de code:
sudo newfs_exfat -b 4096 /dev/diskXsY
Remplacer X et Y par les valeurs déterminées à partir de la liste (si tu n'es pas sûr, affiche-nous le résultat de la première commande).
Note que lorsqu'on utilise sudo, la commande demande le mot de passe du compte (celui de ta session), qu'il faut taper à l'aveuglette puis appuyer sur la touche Enter.
 
Dernière édition:
  • J’aime
Réactions: boninmi

LitoteLED

Membre junior
6 Février 2018
15
0
27
Bonjour Litote

Quand bien même il n'y aurait pas eu le débusquement sournois de boninmi- :coucou: --> le seul choix de ton pseudo évocateur de souvenirs scolaires (« Va ! je ne te hais point... ») m'aurait incité à secourir la détresse de Chimène-


Après lecture de ton message --> j'ai une question à poser : comment t'y es-tu prise pour copier de disque à disque les 1,95 To de données ?
Haaa je suis ravie que ma figure de style t'ai attiré dans mes filet :) Pour répondre à ta question j'ai juste brancher les deux DDE à l'imac et j'ai sélectionné tous les fichiers du premier disque et fait un copier/coller sur le nouveau. Pourquoi? ça te parait inhabituel de copier beaucoup de données de disque à disque?
 

LitoteLED

Membre junior
6 Février 2018
15
0
27
Il faut faire attention avec le formatage en ExFAT.
Lorsqu'on le réalise sur un Mac, avec l'Utilitaire de Disque par exemple, on ne dispose d'aucune option et macOS décide d'utiliser des paramètres complètement ineptes.
(ci-dessous j'utilise des unités d'informaticien mais que ce soit en base 2 ou en base 10, le problème est le même...)

Quand tu formates un système de fichiers, tu crées des blocs de données et une table qui référence ces blocs. Ensuite, quand on copie un fichier dans le volume, il est découpé en autant de blocs que nécessaire et on remplit ces blocs avec les données. Le dernier bloc occupé par le fichier est plus ou moins rempli : c'est le reste d'une division de la taille par le nombre de blocs.
Par exemple, pour une taille de blocs de 128 kB (le défaut choisi par Apple pour un formatage en ExFAT), tu divises la taille d'un fichier par 128 kB et tu as le nombre de blocs occupés par le fichier, plus un dernier pour ce qui reste.

Le choix de la taille de ces blocs est donc très important. Si tu as un grand nombre de petits fichiers (genre 10 kB), tu vas consommer 128 kB pour chacun d'eux.
Exemple : j'ai 10 000 fichiers ayant en moyenne une taille de 20 kB. Cela correspond, en terme de données, à
200 000 kB, soit environ 195 MB. Cependant :
  • sur un disque ExFAT dont la taille de bloc est 32 kB, tu auras en moyenne un seul bloc par fichier, donc cela consommera 10 000 blocs donc 320 000 kB soit environ 312 MB
  • sur un disque ExFAT dont la taille de bloc est 128 kB (encore une fois : le choix pas très malin d'Apple), on consommera 10 000 blocs aussi mais pour une taille de 1 280 000 kB soit 1250 MB. Oups !!
Que faire ? Soit tu reformates ton volume ExFAT depuis un PC sous Ouinedoze 7, 8 ou 10, en veillant à prendre la taille la plus petite possible. Soit tu ouvres Terminal et tu reformates le volume avec la commande newfs_exfat et le bon paramétrage (je ne l'ai pas en tête : je vais chercher le fil où je l'avais donné).

Ensuite tu pourras reprendre ta copie tranquillement, sans mauvaises surprises.

[edit]Bon.
Pour connaître la partition concernée, on a besoin de passer la commande :
Bloc de code:
diskutil list
qui retourne la liste de tous les disques connectés, avec toutes leurs partitions.
Pour connaître les paramètres actuels de la partition ExFAT, la commande à passer dans Terminal est du type :
Bloc de code:
sudo newfs_exfat -N /dev/diskXsY
Pour reformater avec une meilleure granularité (en général je prends 4096, soit 4 kB), ça doit être :
Bloc de code:
sudo newfs_exfat -b 4096 /dev/diskXsY
Remplacer X et Y par les valeurs déterminées à partir de la liste (si tu n'es pas sûr, affiche-nous le résultat de la première commande).
Note que lorsqu'on utilise sudo, la commande demande le mot de passe du compte (celui de ta session), qu'il faut taper à l'aveuglette puis appuyer sur la touche Enter.

Alors, déjà merci bompi pour avoir pris le temps de me répondre de manière si complète. Je comprends mieux pourquoi y a une différences de taille aussi énorme. Je ne connaissais pas les entrailles des formatages exfat.
Si je voulais avoir le nouveau DDE en Exfat c'est pour parer à l'éventualité de lire mes fichiers sur un pc, en revanche moi je ne suis pas une utilisatrice pc je n'en ai aucun du coup. Est ce que tu penses que je pourrais quand même appliquer la procédure que tu m'as donné à partir d'un mac? après bon si c'est trop compliqué je peux toujours le formater en mac os étendu et arrêter de vouloir le beurre et l'argent du beurre...
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
76 724
23 566
Forêt de Fontainebleau
Je comprends mieux pourquoi y a une différence de taille aussi énorme.

en bonne litote > ce devrait être : Je comprends mieux pourquoi y a une différence de taille qui n'est pas si nulle-

Je te propose de donner quelques informations ainsi -->

  • tes 2 DDE (source et destination) attachés au Mac > va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur apfs si présent

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->

  • dans la page de ce fil de MacGé > presse le bouton (carré avec un + inscrit - juste au milieu de la largeur de la fenêtre totale) dans la barre de menus au-dessus du champ de saisie d'un message > menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

=> ces informations donneront l'identité de tes disques > et permettront de te passer une autre commande mesurant la taille des données contenues.
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Alors, déjà merci bompi pour avoir pris le temps de me répondre de manière si complète. Je comprends mieux pourquoi y a une différences de taille aussi énorme. Je ne connaissais pas les entrailles des formatages exfat.
Si je voulais avoir le nouveau DDE en Exfat c'est pour parer à l'éventualité de lire mes fichiers sur un pc, en revanche moi je ne suis pas une utilisatrice pc je n'en ai aucun du coup. Est ce que tu penses que je pourrais quand même appliquer la procédure que tu m'as donné à partir d'un mac? après bon si c'est trop compliqué je peux toujours le formater en mac os étendu et arrêter de vouloir le beurre et l'argent du beurre...
Hé bien, comme conseillé, tu peux déjà taper :
Bloc de code:
diskutil list
de manière à s'assurer du nom technique (quelque chose comme /dev/diskXsY) de la partition qui est formatée en ExFAT.
Ensuite, histoire de s'assurer de ce que j'avance, on fera une petite vérification (la deuxième commande indiquée).
Enfin, on pourra reformater cette partition : le formatage virera les données qui sont dessus, mais je ne pense pas que ce soit gênant puisque la sauvegarde qui les avait copiées avait échoué de toute façon.
 

LitoteLED

Membre junior
6 Février 2018
15
0
27
en bonne litote > ce devrait être : Je comprends mieux pourquoi y a une différence de taille qui n'est pas si nulle-

Je te propose de donner quelques informations ainsi -->

  • tes 2 DDE (source et destination) attachés au Mac > va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur apfs si présent

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->

  • dans la page de ce fil de MacGé > presse le bouton (carré avec un + inscrit - juste au milieu de la largeur de la fenêtre totale) dans la barre de menus au-dessus du champ de saisie d'un message > menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

=> ces informations donneront l'identité de tes disques > et permettront de te passer une autre commande mesurant la taille des données contenues.
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         125.7 GB   disk0s2
   3:                  Apple_HFS DATA DISK               125.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +125.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            103.8 GB   disk1s1
   2:                APFS Volume Preboot                 21.2 MB    disk1s2
   3:                APFS Volume Recovery                506.6 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *2.0 TB     disk2
   1:                  Apple_HFS MAC TITIA               2.0 TB     disk2s1

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *2.0 TB     disk3
   1:               Windows_NTFS LITOTE                  2.0 TB     disk3s1
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
OK. C'est curieux, mais la partition ExFAT semble être désignée comme Windows_NTFS.
Admettons que ce soit bien elle : le X et le Y dont je parlais sont alors respectivement 3 et 1.
Lance alors la commande (totalement inoffensive ;)) :
Bloc de code:
sudo newfs_exfat -N /dev/disk3s1

Petit rappel : si c'est la première fois que tu utilises sudo, tu vas avoir droit à un petit laïus ; puis tu dois taper ton mot de passe. Au bout de cinq minutes sans l'utiliser, il faudra retaper le mot de passe.
 

LitoteLED

Membre junior
6 Février 2018
15
0
27
Je crois que j'ai compris, du coup j'ai essayé de faire la deuxième commande, est ce que c'est normal que ca me sorte "resource busy"? J'ai pas l'impression que c'est la réponse qu'on recherchait, si? Désolé de vous prendre tant de temps, je n'y connais rien en code, j'e suis allé prendre une tasse de café rien que pour avoir le courage d'ouvrir mon terminal. Je sais , c'est ridicule...
Bloc de code:
sudo newfs_exfat -N /dev/disk3s1
Password:
newfs_exfat: /dev/disk3s1: Resource busy
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Pas de problème. J'avais oublié : il faut démonter le disque. Tu le laisses branché mais tu l'éjectes dans le Finder. Sans cela, on ne peut pas le manipuler.
 

LitoteLED

Membre junior
6 Février 2018
15
0
27
Pas de problème. J'avais oublié : il faut démonter le disque. Tu le laisses branché mais tu l'éjectes dans le Finder. Sans cela, on ne peut pas le manipuler.
Bloc de code:
Reformatting existing ExFAT volume
Partition offset : 2 sectors (1024 bytes)
Volume size      : 3907029165 sectors (2000398932480 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset       : 2048 sectors (1048576 bytes)
# FAT sectors    : 120832
Number of FATs   : 1
Cluster offset   : 122880 sectors (62914560 bytes)
# Clusters       : 15261352
Volume Serial #  : 5a78443a
Bitmap start     : 2
Bitmap file size : 1907669
Upcase start     : 17
Upcase file size : 5836
Root start       : 18
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
(désolé, coup de fil entretemps...)
C'est bien ça : on voit la ligne fatidique "Bytes per cluster: 131072" soit 128 kB.

Si tu es prête à reformater le disque, tu passes alors la commande :
Bloc de code:
sudo newfs_exfat -v LITOTE -b 1024 /dev/disk3s1
qui va recréer cette partition avec de petits blocs de 1k, tout en la nommant LITOTE.

(j'ai édité pour passer de 4k à 1k : les deux vont très bien)
(deuxième édition, pour expliquer :
on ne peut avoir que 2**32 blocs, soit = 4 294 967 296 blocs.
Le disque a une taille de 2 TB, donc 2 000 000 000 000 octets (car les
vendeurs utilisent la base 10...), la taille minimale d'un bloc est grosso modo :
2 000 000 000 000 / 4 294 967 296 soit 466 octets (en arrondissant).
Comme cette taille doit être une puissance de deux, on prend 512 ou 1024.
Prenons arbitrairement 1024. Pour un disque de 5 TB, il faudrait une taille de 2048 octets).
 
Dernière édition:

LitoteLED

Membre junior
6 Février 2018
15
0
27
(désolé, coup de fil entretemps...)
C'est bien ça : on voit la ligne fatidique "Bytes per cluster: 131072" soit 128 kB.

Si tu es prête à reformater le disque, tu passes alors la commande :
Bloc de code:
sudo newfs_exfat -v LITOTE -b 1024 /dev/disk3s1
qui va recréer cette partition avec de petits blocs de 1k, tout en la nommant LITOTE.

(j'ai édité pour passer de 4k à 1k : les deux vont très bien)
(deuxième édition, pour expliquer :
on ne peut avoir que 2**32 blocs, soit = 4 294 967 296 blocs.
En supposant que le disque est un disque de 3 TB, donc 3 000 000 000 000 octets (car les
vendeurs utilisent la base 10...), la taille minimale d'un bloc est grosso modo :
3 000 000 000 000 / 4 294 967 296 soit 699 octets (en arrondissant).
Comme cette taille doit être une puissance de deux, on prend 1024. CQFD)
Je reformate avec le disque monté ou démonté?
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Avec le disque démonté (sinon, on te dira poliment resource busy :))
 

LitoteLED

Membre junior
6 Février 2018
15
0
27
Avec le disque démonté (sinon, on te dira poliment resource busy :))
Il m'as dit ca et je sais pas si ca veut dire qu'on a gagné ou pas...
Bloc de code:
sudo newfs_exfat -v LITOTE -b 1024 /dev/disk3s1
Password:
Cluster size differs from command line argument; skipping reformat
Volume name      : LITOTE
Partition offset : 2 sectors (1024 bytes)
Volume size      : 3907029165 sectors (2000398932480 bytes)
Bytes per sector : 512
Bytes per cluster: 1024
FAT offset       : 2048 sectors (1048576 bytes)
# FAT sectors    : 15204352
Number of FATs   : 1
Cluster offset   : 15206400 sectors (7785676800 bytes)
# Clusters       : 1945911382
Volume Serial #  : 5a7b2d22
Bitmap start     : 2
Bitmap file size : 243238923
Upcase start     : 237541
Upcase file size : 5836
Root start       : 237547
Bus error: 10
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Comme tu peux le noter : Bytes per cluster: 1024. Donc c'est bon.

On peut noter que l'on est passé de 15 261 352 blocs à 1 945 911 382 blocs.
 
Dernière édition:

LitoteLED

Membre junior
6 Février 2018
15
0
27
Comme tu peux le noter : Bytes per cluster: 1024. Donc c'est bon.
Dans l'utilitaire de disque j'ai cliqué sur "monter" le disque mais l'ordi refuse de me le monter et a changer le nom du disque de "LITOTE" à "disk3s1". J'ai envie de débrancher le DDE et de le rebrancher, est ce que tu penses que c'est une bonne idée ou que le DDE va faire me faire une crise cardiaque?
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Dans la mesure où la partition n'est pas montée et que c'est la seule du disque, il n'y a pas de problème à le débrancher et le rebrancher.

En regardant de nouveau l'affichage, j'ai remarqué que je n'avais pas descendu l'ascenseur : il y a une erreur (Bus error) lors du formatage. Il est donc possible qu'il y ait eu une erreur de transmission et que le boulot ne soit pas fini.
Débranche-le, rebranche-le. Puis repasse la commande
Bloc de code:
diskutil list
juste pour vérifier que la partition s'appelle toujours pareil (disk3s1) puis relance un formatage
Bloc de code:
sudo newfs_exfat -v LITOTE -b 1024 /dev/disk3s1
Si tu as un doute, affiche ici le résultat de diskutil avant de relancer le formatage.