L’arnaque des tailles de disques dur expliquée
Publié le vendredi 6 mars 2015, par
Mis à jour le dimanche 30 décembre 2018
Mots clés : stockage, vulgarisation - éducation populaire (AI²),

Il est communément admis que 1mo (mégaoctet) = 1024 ko (kilooctets)
Sauf que c’est faux. [1] En vérité 1mo = 1000ko.
Alors pourquoi un disque dur acheté dans le commerce affiche une taille moindre une fois branché à votre machine Windows ? Microsoft entretient allégrement la confusion entre mo et mio et donc un disque dur semble perdre de la capacité entre le moment où vous l’achetez et celui ou vous le branchez sur votre PC.
Reprenons au début : 1 Mo = 1000 Ko
C’est le Bureau International des Poids et Mesures qui définit les préfixes des mesures comme pour les kilogrammes ou les kilomètres. En cela le kilo-octet n’est donc pas différent et obéie aux mêmes règles.
Toutes les mesures sont des multiples de 10.
10Mo (méga-octets) font donc 10000 Ko (kilo-octets) et 10 Go (gigaoctet) font donc 10000 Mo.
Mais là ou ça se complique c’est qu’en informatique on parle en base 2. Et il se trouve qu’on utilise d’autres unités pour parler des unités binaires. Le kibioctet, créé par l’IEC.
Le kibioctet utilise les multiples de 2 pour exprimer les tailles de fichiers.
Et donc 1Mio (mébioctet) font 1024Kio (kibioctet).
Où est le problème alors ?
Disons que je génère sur ma bécane un fichier de 10Mio (mébioctet) avec la commande dd sous GNU/Linux.
Sur Pcmanfm, mon gestionnaire de fichier j’ai bien un fichier de 10Mio. Si demande à Pcmanfm de m’afficher les taille en préfixe décimaux (SI, base 10) j’ai un fichier de 10.5 Mo (un arrondi de 10,48576 Mo).
- 10mio pcmanfm
- PCmanfm affiche une taille de 10.5mo pour un fichier de 10mio ce qui est correct
Mais sous Windows qui n’affiche que les taille avec des unités décimales j’ai un fichier de 10Mo ! Or le fichier ne fait pas 10 Mo mais 10 Mio. Windows n’affiche donc pas la bonne taille.
- 10mio windows
Pourtant la taille affiché en octets est bien de 10485760 octets (10.5 Mo) soit 10 Mio ! Sur un fichier de 10Mo la différence est donc de 0.5Mo soit 0.476 Mio.
J’ai testé avec un fichier de 500 kio, même erreur de calcul de la part de Windows.
- 500kio windows
- Sur le fichier de 500 kio la taille affichée est également fausse
J’ai donc voulu partager ces fichiers avec un ami. Je lui ai transféré mes deux fichiers sur son MAC via Skype, logiciel de Microsoft. Voilà le résultat.
- 10mio 500kio macos
- Sous MACOS les tailles sont affichées en mo de façon correct
- 10mio 500kio skype
- Sous Skype les tailles sont fausses
Le problème semble affecter toutes les applications Microsoft.
Sur des disques dur de 500Go ou 2To quelle est la différence ?
Et bien sur un disque dur de 500Go Windows va afficher 465 Gio mais en giga-octets.
Et sur un disque de 2 To on a 1862 Gio que Windows va nous afficher comme étant des gigaoctets...
Les constructeurs affichent leurs valeurs en Gb (gigabytes) soit en français Go (gigaoctet) [2]. Mais une fois branché sur votre machine Windows, les valeurs s’affichent en gibioctets mais avec les unités du gigaoctet !!! De quoi devenir fou !
Conclusion la taille réelle de votre disque de 500 Go est bien 500 Go. Mais Windows vous affichera une valeur de 465 Gio avec la mauvaise unité.
Vous trouverez dans les sources un convertisseur pour aider à vous y retrouver.
Mise à jour du 3 septembre 2015 : Dr Gee en a fait un BD !
Sources
https://www.unitjuggler.com/convertir-memory-de-GB-en-GiB.html
https://lehollandaisvolant.net/tout/tools/mo-mio/
https://fr.wikipedia.org/wiki/Octet
[2] bien que ce ne soit pas tout à fait exacte : fiche wikipedia sur le byte
Un message, un commentaire ?
Note : Ce forum n'est pas un espace SAV. Merci de soumettre vos problèmes sur un forum spécialisé en rapport avec votre question. Si la question concerne un script que j'ai écrit merci de me contacter par courriel.