Lors de la création d'une partition de sauvegarde de 250 Go pour mes données, j'ai remarqué de nombreuses différences entre la taille de partition signalée et l'espace libre dans Nautilus, gParted, df, tune2fs, etc.
Au début, je pensais que c'était une confusion GiB / GB. Ce n'était pas le cas .
Ensuite, j'ai pensé qu'il pourrait s'agir des blocs réservés d'ext4. Ce n'était pas le cas .
Je suis complètement perplexe. Voici quelques images. Voici les étapes:
- Tout d'abord, NTFS. 524288000 secteurs x 512 octets / secteur = 268435456000 octets = 268,4 Go = 250 Gio.
Nautilus dit " Capacité totale: 250,0 Go " (même si c'est en fait GiB, pas GB). En dehors de cette mauvaise étiquette mineure, jusqu'ici, tout va bien
- Maintenant, même partition, formatée en ext4 avec gparted:
Les secteurs Premier, Dernier et Total sont identiques. Il s'agit de la même partition 250 Go. La taille utilisée est de 4,11 Go (des blocs réservés peut-être?)
Nan. Il semble que les blocs réservés soient de 12,7 Gio (~ 5%. Aïe! ). Mais ... pourquoi la capacité totale n'est plus que de 246,1 Gio ??? . Cette différence (en quelque sorte) correspond aux 4,11 Gio rapportés par gparted. Mais ... si ce n'est pas des blocs réservés, c'est quoi? Et pourquoi gparted n'a pas signalé que 12,7 Go d'espace utilisé?
$ df -h /dev/sda5
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 247G 188M 234G 1% /media/BACKUP
df
correspond à Nautilus dans l'espace libre signalé. Mais .. seulement 188M utilisé? Cela ne devrait-il pas être ~ 12 Go? Et la capacité totale est toujours erronée. J'ai donc couru tune2fs
pour trouver des indices. (la sortie non pertinente est omise)
$ sudo tune2fs -l /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name: BACKUP
Filesystem UUID: 613d592e-47f5-4206-96a7-210090d340ef
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Filesystem state: clean
Filesystem OS type: Linux
Block count: 65536000
Reserved block count: 3276800
Free blocks: 64459851
First block: 0
Block size: 4096
65536000 blocs au total * 4096 octets / bloc = 268435456000 octets = 268,4 Go = 250 Gio. Cela correspond à gparted.
3276800 blocs réservés = 13421772800 octets = 13,4 Go = 12,5 Gio. Cela correspond (encore une fois) à Nautilus.
64459851 blocs libres = 264027549696 octets = 264,0 Go = 245,9 Gio. Pourquoi? Ne devrait-il pas s'agir de 250-12,5 = 237,5 (ou 250- (12,5 + 4,11) = ~ 233)?
Suppression des blocs réservés:
$ sudo tune2fs -m 0 /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 0% (0 blocks)
$ sudo tune2fs -l /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name: BACKUP
Filesystem UUID: 613d592e-47f5-4206-96a7-210090d340ef
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Filesystem state: clean
Filesystem OS type: Linux
Block count: 65536000
Reserved block count: 0
Free blocks: 64459851
Block size: 4096
Comme prévu, même nombre de blocs, 0 bloc réservé, mais ... mêmes blocs libres ? Je viens de libérer 12,5 Gio?
$ df -h /dev/sda5
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 247G 188M 246G 1% /media/BACKUP
On dirait que je l'ai fait. L'espace disponible est passé de 233 à 245,9 Gio. gparted ne s'en souciait pas du tout, montrant exactement les mêmes informations! (inutile de poster une capture d'écran identique)
Quel énorme gâchis!
J'ai essayé de le documenter du mieux que je pouvais ... Alors, s'il vous plaît quelqu'un peut-il me donner une idée de ce qui se passe ici?
- Que manquent ces mystérieux 4.11 Gio du formatage NTFS -> ext4?
- Pourquoi y a-t-il tant de divergences entre gparted, Nautilus, tune2fs, df?
- Quel est le problème avec mes mathématiques? (les questions en gras éparpillent ce post)
Toute aide est appréciée. Bien que je ne puisse pas comprendre ce qui se passe, j'envisage sereinement d'abandonner ext4 en faveur de NTFS pour tout sauf ma / partition.
Merci!
la source
Réponses:
Il se passe quelques choses ici. gparted indique l'espace réel utilisé / libre. Le noyau réduit le nombre disponible par l'espace réservé. Après avoir supprimé l'espace réservé, le nombre gratuit n'a pas changé car les blocs réservés étaient déjà libres; c'est juste que les utilisateurs non root ne sont pas autorisés à envahir cet espace pour les empêcher de causer des problèmes en remplissant le disque. Les numéros de gnome sont un peu floconneux à cause d'un bug . Au lieu de rapporter l'espace utilisé signalé par le noyau (et affiché par df), il le calcule en soustrayant l'espace libre du total. Cela lui fait afficher l'espace réservé comme utilisé.
Le 4 Go manquant est en fait utilisé est la surcharge fs pour ext4. NTFS n'alloue initialement qu'une petite quantité d'espace pour le MFT et l'agrandit au besoin. Cependant, la série ext de systèmes de fichiers alloue de l'espace pour la table inode (équivalent approximatif du MFT) au moment du formatage et elle ne peut pas augmenter. L'espace manquant dans l'espace total signalé est la table d'inode. Le reste de l'espace utilisé provient du journal (généralement 128 Mo) et redimensionne les inodes.
la source
df
même avec sudo, affiche la capacité totale (247 Go) et l'espace utilisé (188 Mo) comme Nautilus. Donc, si c'est un bug, ce n'est pas seulement des gnomes.stat -f /media/BACKUP
.Tout d'abord, les blocs réservés ne sont pas des blocs utilisés pour la gestion interne du système de fichiers.
Les blocs réservés sont simplement réservés pour
root
garantir que les services utilisant des fichiers sur cette partition ne peuvent pas être exclus de l'espace par un utilisateur non administrateur remplissant tout l'espace.Même sans blocs réservés (
-m 0
), il y a toujours une partie de l'espace utilisé pour la gestion interne du système de fichiers, je ne peux pas dire combien, je n'ai pas une connaissance aussi approfondie.De plus, Gparted est exécuté en tant que
root
, il voit donc les blocs réservés comme libres. Nautilus , exécuté en tant qu'utilisateur, les considère comme non libres.Ok, la réponse @psusi est très claire, je n'ai rien à ajouter.
la source
Essayez de réduire la taille de la partition de quelques mégaoctets à l'aide de gparted, puis augmentez-la à sa taille d'origine. Cela peut amener d'autres applications à lire correctement les tailles. J'ai récemment corrigé une erreur de 50 Go de cette façon!
la source