J'ai un Sony Xperia Z5 Compact, et je trouvais étrange que le gestionnaire de stockage montre que le système remplissait 20 Go des 32 Go de stockage interne, alors je suis allé creuser un peu plus loin dans ce domaine.
J'ai trouvé que la partition de données est p42 dans la rom interne en utilisant fdisk de TWRP, qui rapporte correctement qu'elle a 23 Go (je n'ai pas trouvé comment obtenir la sortie du terminal TWRP ici, cependant). Cependant, en utilisant fdisk avec l'appareil complètement démarré, via le shell ADB, j'obtiens ceci :
suzuran:/ # fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 31.2 GB, 31272730624 bytes
255 heads, 63 sectors/track, 3802 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 3803 30539775+ ee EFI GPT
ne montre pas la table de partition complète...
Cependant, lorsque j'essaie de lire la partition, il ne donne aucune erreur :
suzuran:/ # dd if=/dev/block/mmcblk0p42 of=/dev/null
48365568+0 records in
48365568+0 records out
24763170816 bytes transferred in 246.927 secs (100285391 bytes/sec)
La lecture de l'ensemble du stockage ne donne également aucune erreur :
suzuran:/ # dd if=/dev/block/mmcblk0 of=/dev/null
61079552+0 records in
61079552+0 records out
31272730624 bytes transferred in 365.211 secs (85629213 bytes/sec)
Mais lorsqu'il est monté, que ce soit au démarrage ou dans TWRP (je l'ai également monté manuellement), il n'affiche qu'une taille de 8 Go :
suzuran:/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
[ other skipped mounts ]
/dev/block/mmcblk0p43 5215496 1188900 4026596 23% /system
/dev/block/mmcblk0p42 8641912 6071544 2570368 71% /data
/dev/block/mmcblk0p41 197472 188 197284 1% /cache
/dev/block/mmcblk0p3 81872 57808 24064 71% /firmware
/dev/block/mmcblk0p31 28144 164 27980 1% /persist
/dev/block/mmcblk0p39 14327 160 14167 2% /idd
/dev/block/loop0 92656 980 91676 2% /su
J'utilise LineageOS, mais dans la rom Sony stock j'avais le même problème, seulement je n'avais pas les outils pour vérifier cela plus loin.
Quelqu'un a-t-il déjà eu ce problème ou peut-il m'aider ?
Edit : Je viens de découvrir la commande 'blockdev' :
suzuran:/ # blockdev --getsize64 /dev/block/bootdevice/by-name/userdata
24763170816
qui donne la taille correcte de la partition. Que se passe-t-il avec la commande 'mount' ? Cela pourrait-il être lié au noyau ? Si oui, pourquoi cela se produit-il aussi dans TWRP ?