Informagicien, crypto-enthousiaste, adorateur des internets 2.0, des chats et des logiciels libres

L’arnaque des tailles de disques dur expliquée

Publié le vendredi 6 mars 2015, par Djan

Mis à jour le mercredi 18 janvier 2017

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égaoctets) font donc 10000 Ko (kilooctets) 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).

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.

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.

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.

Sous MACOS les tailles sont affichées en mo de façon correct
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 !

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)