1 votes

Des vérifications périodiques de la cohérence du système de fichiers sont probablement une bonne idée. Les appareils Android actuels les effectuent-ils ?

Permettez-moi tout d'abord de vous donner quelques informations générales. Ma question se trouve tout en bas de ce billet.


Contexte, partie 1 : Relecture du journal et contrôles de cohérence.

Veuillez supposer que votre appareil Android utilise le système de fichiers ext4 pour son stockage interne et le système de fichiers FAT32 pour son stockage MicroSD amovible (le cas échéant).

Sur ext4, une "relecture de journal" est une opération partielle de vérification et de réparation du système de fichiers qui ne prend normalement pas plus de quelques secondes. ( Source .) Le noyau d'Android effectue une relecture du journal chaque fois que cela est nécessaire. (Basé sur cette source y cette source .)

Sur ext4, un contrôle de cohérence complet du système de fichiers prend plus de temps. Pour un appareil Android moyen, cela prend environ 12 secondes. (D'après cette source .)

FAT32 est un système de fichiers sans journalisation. Il n'y a donc pas de relecture du journal. Il n'y a que des contrôles de cohérence.


Contexte, partie 2 : Il est probablement judicieux que votre système d'exploitation effectue des contrôles de cohérence périodiques. Voici pourquoi.

Kiran Bangalore, responsable de programme chez Microsoft écrit qu'il existe certains cas dans lesquels un système de fichiers peut être corrompu. Sur un système de fichiers avec journalisation tel que ext4, ces cas sont extrêmement rares. Sur les cartes MicroSD amovibles, je pense que ces cas ne sont pas si rares.

La manière habituelle de vérifier la présence d'une telle corruption est de configurer votre système d'exploitation pour qu'il exécute de temps en temps un outil de vérification de la cohérence. Parmi ces outils, citons chkdsk ScanDisk, Apple Disk Utility, fsck et d'autres.

Même sur un stockage ext4 intégré à un appareil Android, des contrôles de cohérence périodiques sont probablement une bonne idée. Les tune2fs explique pourquoi :

De mauvais disques, câbles, mémoires et bogues du noyau peuvent tous corrompre un système de fichiers sans marquer le système de fichiers comme étant sale ou en erreur. Si vous utilisez la journalisation sur votre système de fichiers, celui-ci ne sera jamais marqué comme sale et ne sera donc normalement pas vérifié. Une erreur de système de fichiers détectée par le noyau [peut] encore forcer un [contrôle de cohérence] au prochain redémarrage, mais il peut déjà être trop tard pour empêcher la perte de données à ce moment-là.

(Notez que, sur Android, je pense qu'une erreur de système de fichiers détectée par le noyau sera pas entraîne un contrôle de cohérence au prochain redémarrage. Android est étrange de cette façon).


Contexte, partie 3 : Voici ce que font les autres systèmes d'exploitation.

Fenêtres

Windows Vista, et toutes les versions ultérieures de Windows, comprennent une fonction Auto-cicatrisation de NTFS caractéristique. Kiran Bangalore donc écrit qu'aujourd'hui, les utilisateurs de Windows n'ont plus besoin d'exécuter des contrôles de cohérence périodiques. Il explique que le système d'exploitation "vous informe lorsqu'une corruption est détectée".

Windows 10 Mobile

Windows 10 Mobile est probablement le troisième système d'exploitation pour smartphone le plus populaire . Je pense qu'il utilise NTFS. Il est donc possible qu'il soit capable d'effectuer une auto-réparation NTFS.

OS X

Mac OS X fonctionne fsck_hfs -p pendant chaque démarrage . Je ne sais pas ce que cela fait. Voir le page du manuel .

Linux

Il est vrai que certains Les développeurs de ext4 disent que les contrôles de cohérence périodiques de ext4 ne sont pas particulièrement utiles. Mais autres Les développeurs d'ext4 affirment que ces contrôles améliorent la sécurité et la fiabilité.

En pratique, lorsqu'un système de fichiers est marqué par une erreur, Linux effectue un contrôle de cohérence au prochain redémarrage. À d'autres moments, les distributions Linux modernes n'effectuent jamais de contrôles de cohérence périodiques automatiques. Ceux qui le souhaitent doivent programmer eux-mêmes ces contrôles.

Android

Le système d'exploitation Android inclut un Outil de vérification de la cohérence ext4 . Il comprend également un contrôle de cohérence outil qui fonctionne avec les cartes MicroSD amovibles de 32 Go ou moins (mais peut corrompre les cartes plus grandes). Enfin, votre appareil peut ou non inclure les éléments suivants fsck.exfat o exfatfsck L'utilisation de la carte MicroSD, pour effectuer des contrôles de cohérence sur des cartes MicroSD amovibles de 64 Go ou plus.

Mais le système d'exploitation exécute-t-il automatiquement l'un de ces outils ?

iOS

Le système de fichiers d'iOS est normalement HFSX ou APFS, et fsck です inclus avec le système d'exploitation. Je ne sais pas si iOS exécute des contrôles de cohérence automatiques.


Voici ma question.

Veuillez prendre en compte les ROMs stockées dans les appareils Android actuels.

Ces ROM de base exécutent-elles périodiquement des contrôles de cohérence, que ce soit sur le périphérique de stockage interne ou (le cas échéant) sur la carte MicroSD amovible ?

(P.S. Dans les cas où un appareil s'éteint de manière élégante et qu'il lui reste suffisamment de charge de batterie, il est possible pour effectuer un contrôle de cohérence à l'arrêt et non au démarrage. Mais l'implémentation d'une telle fonctionnalité demande un certain effort d'ingénierie, et les développeurs de systèmes d'exploitation ne s'en préoccupent donc généralement pas. Je me demande ce que fait Android).

(P.P.S. Je me demande également s'il existe ou non des cualquier smartphones, course à pied cualquier OS, qui font cualquier un contrôle de cohérence périodique de routine. Une fois de plus, n'hésitez pas à nous faire part de vos commentaires).

1voto

Versions d'Android non encore publiées

Des améliorations ont été apportées récemment au code source d'Android.

La prochaine version de maintenance d'Android sera la 7.2 ou la 8.0. Dans une future version d'Android - soit cette version de maintenance ou une version ultérieure - Android exécutera le programme fsck -f -y lors de chaque arrêt normal . Cette commande impose un contrôle de cohérence sur le stockage interne, quoi qu'il arrive. (Basée sur cette source y cette source .)

Hourra ! Etant donné que très peu d'utilisateurs d'Android font des sauvegardes complètes (par exemple les sauvegardes Nandroid), je pense que cela peut être une amélioration utile.

Malheureusement, je n'ai toujours pas connaissance d'une preuve qu'Android vérifie une carte MicroSD amovible.

La réponse ci-dessus concerne le système d'exploitation Android. Je remercie néanmoins l'équipe de CyanogenMod et l'équipe de LineageOS de m'avoir indirectement aidé à découvrir l'information ci-dessus.

Effectuer les contrôles soi-même

Les paragraphes ci-dessus font référence à des versions d'Android qui n'ont pas encore été publiées.

Si vous utilisez une version antérieure d'Android, vous pouvez effectuer vous-même un contrôle de cohérence du système de fichiers interne si vous le souhaitez. Vous devez d'abord démonter le système de fichiers, et donc être en mode de récupération. Voir aquí .

Vérification de la carte MicroSD

Si vous disposez d'une carte MicroSD amovible, vous devez absolument la vérifier à certaines occasions, ainsi que périodiquement. Si vous souhaitez obtenir plus d'informations, veuillez consulter la page suivante :

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X