Carte SD virtuelle pour Android. Panne de la carte mémoire microSD sur Android. Systèmes de fichiers pris en charge

La nécessité de diviser une carte mémoire en plusieurs sections survient généralement lorsqu'un téléphone/une tablette Android ne dispose pas de suffisamment de mémoire intégrée pour installer des applications. En effectuant une opération similaire, vous pouvez libérer de l'espace sur votre téléphone, par exemple en passant à la deuxième section d'une carte microSD. Précédemment, nous vous avons déjà expliqué comment créer/fusionner des partitions sur une carte mémoire en utilisant et.

Il n'est pas toujours possible de trouver une récupération pour un téléphone/une tablette spécifique prenant en charge le partitionnement de la carte mémoire, c'est pourquoi dans cet article, nous vous expliquerons comment procéder à l'aide de l'application Android AParted.

Cette application offre les fonctionnalités suivantes (extraites de la documentation officielle) :

  • Partitionnement de la mémoire externe/interne d'un appareil Android.
  • Formatage de la mémoire externe/interne d'un appareil Android.
  • Suppression des partitions.
  • Vérification et correction des erreurs du système de fichiers.
  • Redimensionner les partitions.
  • Mise à jour des systèmes de fichiers.

Dans cet article, nous n'utiliserons que le premier d'entre eux.

Préparation à l'implantation

Avant le fractionnement, assurez-vous de faire une copie de sauvegarde de vos données importantes (photos, vidéos, etc.), car tous les fichiers seront supprimés de la carte mémoire pendant le processus de fractionnement.

Assurez-vous qu'il soit présent sur votre téléphone ; sans lui, AParted ne fonctionnera pas.

Avant de lancer l'application, vous devez désactiver la carte mémoire dans les paramètres Android. Pour cela, allez dans « Paramètres > Mémoire », dans la section carte microSD connectée, cliquez sur l'élément « Supprimer en toute sécurité » et confirmez l'action.

Disposition des futures sections

Lancez l'application AParted, sur l'onglet "CREATE" vous verrez deux représentations graphiques de la carte mémoire sous forme de rectangles : le rectangle inférieur avec l'inscription "Tables de partition msdos de la carte mémoire SD" affiche la disposition actuelle des partitions, et le rectangle supérieur une "Nouvelles tables de partition msdos" - la disposition des futures partitions sur la carte microSD.

Cliquez sur le bouton "AJOUTER" pour ajouter la première section et utilisez le curseur pour préciser sa taille. Cette section sera disponible sur le téléphone/tablette comme mémoire externe pour les photos, la musique, etc. Pour une répartition plus précise, cliquez sur le nombre avec Mo, dans le champ qui apparaît, saisissez la taille exacte en mégaoctets et confirmez les modifications en cliquant sur « OK ». Laissez la case "Format" activée et le système de fichiers "fat32" inchangé.

Cliquez à nouveau sur le bouton "AJOUTER" pour ajouter une deuxième partition sur la carte microSD, qui servira à l'avenir d'extension de la mémoire système de l'appareil Android. Utilisez le curseur pour sélectionner tout l'espace restant, laissez la case "Format" activée, cliquez sur l'inscription "fat32" et sélectionnez l'un des systèmes de fichiers suivants : "ext2", "ext3" ou "ext4".

Et c'est ici que le plaisir commence, il est conseillé de sélectionner l'option « ext4 », mais il y a plusieurs raisons pour lesquelles vous ne pourrez pas créer de partition dans ce système de fichiers : le noyau/firmware du système Android, la classe/fabricant (qualité) de la carte mémoire, etc.

Par conséquent, expérimentez, essayez d'abord de créer une partition avec « ext4 », puis « ext3 » et « ext2 ». Après tout, l'application Link2SD prend en charge tous les systèmes de fichiers ci-dessus.

Après avoir effectué les opérations ci-dessus, le rectangle intitulé « Nouvelles tables de partition msdos » devrait afficher la disposition des futures partitions de votre carte mémoire.

Effectuer une implantation

Pour appliquer la disposition des nouvelles partitions à la carte mémoire, cliquez sur le bouton "APPLIQUER". L'application AParted vous avertira que toutes les données présentes sur le support amovible seront effacées.

Ensuite, le processus de partitionnement et de formatage des partitions de la carte mémoire sera affiché, à la fin duquel le graphique inférieur « Table de partition msdos de la carte mémoire SD » affichera le résultat du partitionnement des médias. Allez à nouveau dans « Paramètres > Stockage » de votre téléphone/tablette et dans la section mémoire externe, cliquez sur « Connecter la carte SD ». Après avoir connecté et analysé la carte microSD par le système Android, vous verrez que sa mémoire a diminué jusqu'à la taille que vous avez définie.

Si l'état du téléphone affiche un message indiquant que la carte SD est endommagée, redémarrez le système Android, après le redémarrage, la carte mémoire devrait se connecter automatiquement.

Configuration de Link2SD

Installez et exécutez. Le programme devrait détecter automatiquement la présence d'une deuxième partition sur la carte mémoire et vous inviter à créer un script de montage. Sélectionnez dans la liste le système de fichiers de la deuxième partition que vous avez spécifiée lors du partitionnement de la carte mémoire dans l'application AParted, confirmez la demande et après avoir terminé l'opération, cliquez sur le bouton « Redémarrer l'appareil ».

Après avoir redémarré le système Android, vous pouvez transférer des applications de la mémoire de l'appareil vers la deuxième partition de la carte mémoire externe.

Lors du développement d'une application de concours, j'ai rencontré un problème de stockage de base de données. Le problème était de savoir comment identifier la carte mémoire externe. En général, une recherche sur Internet n’a pas donné de réponse exacte. Par conséquent, en combinant tous les résultats trouvés, j'ai rassemblé ma classe. Si quelqu'un est intéressé, regardez sous la coupe.

Alors commençons par la théorie.

Terminologie

Google nous dit qu'il existe les concepts suivants :
  1. Interne ( interne) la mémoire fait partie de la carte mémoire intégrée au téléphone. Lorsqu'il est utilisé par défaut, le dossier de l'application est protégé de l'accès par d'autres applications (utilisation du stockage interne).
  2. Externe ( externe) la mémoire est le "stockage externe" général, c'est-à-dire cela peut faire partie de la mémoire intégrée ou d'un périphérique qui peut être retiré. Habituellement, cela fait partie de la mémoire intégrée, la dernière fois que j'ai vu un appareil supprimé, c'était sous Android 2.2, où la mémoire intégrée était d'environ 2 Go et la mémoire connectée est devenue externe (utilisation du stockage externe).
  3. Supprimé ( amovible) mémoire - tout le stockage qui peut être supprimé de l'appareil sans interventions « chirurgicales ».

Avant KitKat 4.4, l'API ne fournissait pas de fonctionnalité permettant de récupérer les chemins de mémoire externes. A partir de cette version (API 19), la fonction public abstract File est apparue getExternalFilesDirs(Type String), qui renvoie un tableau de chaînes avec des chemins vers la mémoire interne et externe. Mais qu’en est-il de notre carte SD, qui est insérée dans le slot ? Encore une fois, nous ne parvenons pas à trouver le chemin qui y mène.

résultats de la recherche

Pour répondre à la question, je me suis tourné vers l’omniscient Google. Mais il ne m’a pas non plus donné de réponse claire. De nombreuses options de définition ont été envisagées, depuis l'utilisation de fonctions standards menant à la mémoire externe, mais elles n'ont rien à voir avec la suppression des périphériques de stockage, jusqu'au traitement des règles de montage des périphériques (Android fonctionne sur le noyau Linux). Dans ces derniers cas, des chemins « câblés » vers le dossier contenant les périphériques montés ont été utilisés (ce répertoire est différent selon les versions). N'oubliez pas que les règles de montage changent d'une version à l'autre.

En fin de compte, j'ai décidé de combiner toutes les connaissances que j'avais acquises et d'écrire mon propre cours, qui peut renvoyer des chemins vers des appareils externes et supprimés.

Description des codes

Une classe a été créée Monter le périphérique, qui contient le chemin d'accès au périphérique, le type de périphérique et un hachage.
Il existe deux types d'appareils (je n'ai pas touché à la mémoire interne, puisqu'elle est accessible via l'API du système).

Énumération publique MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Et la classe a été créée Aide au stockage, qui recherche les cartes mémoire disponibles.

La classe StorageHelper implémente deux méthodes de recherche - via l'environnement système ( Environnement) et en utilisant l'utilitaire Linux monter, ou plutôt le résultat de son exécution.

Première méthode - Environnement
Lorsque je travaille avec l'environnement, j'utilise la fonction standard getExternalStorageDirectory() pour obtenir des informations sur la mémoire externe. Pour obtenir des informations sur la mémoire en cours de suppression, j'utilise la variable d'environnement " SECONDARY_STORAGE".

Il y a toujours une mémoire externe et elle existe généralement toujours, nous vérifions donc sa lisibilité, calculons le hachage et nous en souvenons. Il peut y avoir beaucoup de mémoire à supprimer, il est donc nécessaire de diviser la chaîne résultante par délimiteur et de vérifier chaque valeur.

fonction fillDevicesEnvirement

Chemin de chaîne = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD); ) // Obtenez le dissolvant Chaîne rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Toutes les cartes SD secondaires divisées en tableau final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


La solution a été tirée de stackoverflow. La réponse est quelque part là-bas.
Deuxième méthode - monter
Comme je n'ai pas réussi à obtenir du système qu'il me dise le chemin vers la mémoire supprimée pendant une longue période, j'ai décidé de regarder dans la direction des appareils montés. Le système dispose de fichiers de configuration qui décrivent les règles de montage des périphériques externes. Tout irait bien, mais sur Android version 4.*, les simples mortels n'ont pas accès à ce fichier, je n'envisagerai donc pas cette méthode.

Revenons à l'utilitaire de montage. Lorsqu'elle est exécutée sans paramètres, la commande renvoie une liste des systèmes de fichiers montés. Les appareils à supprimer sont généralement au format du système de fichiers FAT, nous mettrons donc en évidence les lignes qui contiennent la caractéristique " graisse". La mémoire externe sera caractérisée par le paramètre " fusible".

Remarque : lors de l'utilisation de cette méthode, les types d'appareils montés ne sont pas toujours déterminés correctement (je n'ai probablement pas pris en compte quelque chose). J'ai remarqué la différence sur les différentes versions d'Android. Cette méthode peut donc être utilisée en complément.

Fonction fillDevicesProcess

try ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (line = br.readLine()) != null) ( if (line.contains("secure")) continuer; if (line.contains("asec")) continuer; if (line.contains("fat") ) (// TF card String columns = line.split(" "); if (columns != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(" fuse")) (// interne(Externe) // stockage String columns = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) enfin ( ... ) ) catch (Exception e) ( ... )

Le code source de la classe entière ne se trouve encore nulle part. Un de ces jours, j'essaierai de le publier sur gitHub.

Qui d’autre utilise quelles méthodes ?

Balises : ajouter des balises

Dolphin peut stocker des données sur une carte SD virtuelle nommée sd.raw. Par défaut, il sera créé avec une taille de 128 Mo.

La carte SD virtuelle a une utilité importante pour les applications homebrew sur Dolphin. Les pistes personnalisées Project M et Mario Kart Wii en sont deux bons exemples, car certaines applications homebrew ne peuvent fonctionner qu'avec des fichiers stockés sur la carte SD du matériel réel pour lequel elles ont été conçues.

Contenu

Création d'une carte SD virtuelle

Il est recommandé d'en créer un d'au moins 1 Go pour les grandes applications homebrew, par exemple Project M, et pas plus de 2 Go pour une meilleure compatibilité, car il existe des problèmes de compatibilité avec certaines applications homebrew essayant de s'exécuter sous une carte SDHC sur le matériel réel. .

Ligne de commande et fichiers exécutables

WinImage n'est pas fiable, car curieusement, cela provoquera une désynchronisation et quelques autres problèmes imprévisibles. ImDisk ira bien.

Guide rapide pour monter et éditer la carte SD virtuelle avec le Pilote de disque virtuel ImDisk:

  1. Faites un clic droit sur sd.raw fichier puis cliquez sur "Monter en tant que disque virtuel ImDisk" dans le menu contextuel.
  2. Case à cocher Média amovible puis frappe "D'ACCORD". La lettre de lecteur prédéfinie et tout le reste feront très bien l'affaire.
    • La carte SD virtuelle apparaîtra désormais comme "Disque amovible" dans lequel la fenêtre native de l'Explorateur pourra y lire et écrire.
  3. Une fois l'édition de la carte SD virtuelle terminée, démontez-la simplement en faisant un clic droit sur le "Disque amovible" puis cliquez sur "Démonter le disque virtuel ImDisk" dans le menu contextuel.
    • La carte SD virtuelle doit être démontée avant de l'utiliser avec Dolphin.

Cadre de dauphin

Allez dans Options > Configurer... > Wii > et activez Insérer la carte SD.

Usage

Avec l'application Homebrew

Les fichiers externes utilisés pour l'application homebrew doivent être stockés dans sd.raw et l'application homebrew elle-même ( démarrage.elf ou boot.dol) doit exister en dehors de celui-ci pour que Dolphin puisse se charger. Le projet M, par exemple, se chargera à partir de la racine SD \projectm\ et Dolphin devra lancer le projet M via \apps\projectm\boot.elf, PAS dans la carte SD virtuelle. Pour des raisons de commodité, il est idéal d'avoir les mêmes copies parallèles entre l'intérieur et l'extérieur de la carte SD virtuelle.

Cependant, il est possible de démarrer une application homebrew à partir d'une carte SD virtuelle via des exploits homebrew pour Wii.

L'application de lancement de jeux Wii ne fonctionnera que si un jeu Wii particulier est défini comme ISO par défaut. Dans la liste des jeux Dolphin, ouvrez le menu contextuel (clic droit) sur n'importe quel jeu Wii et cliquez sur Définir comme ISO par défaut. Faites-le avant de charger une application homebrew avec Dolphin.

Pour le jeu en ligne

Netplay finira par se désynchroniser si quelque chose lit la carte SD virtuelle qui n'est pas clonée, quelle que soit la même taille qu'elle a été créée et les structures de fichiers/dossiers identiques au sein de sa racine. Pour éviter cela, sd.raw doit être copié de l'ordinateur de l'hôte vers les ordinateurs des participants avant de démarrer NetPlay. Si la carte SD virtuelle a été utilisée hors ligne ou en ligne avec le bloc d'écriture désactivé, la somme de contrôle MD5 changera ("La date d'accès" des fichiers est ce qui est différent dans la carte SD virtuelle), mais n'entraînera pas de désynchronisation. La carte SD doit être venu d'ailleurs ou soumis à des fichiers modifiés à l'intérieur pour être "différents".

Pour l'application de lancement de jeu Wii, les utilisateurs des deux côtés doivent d'abord avoir les mêmes copies de l'application homebrew et du jeu dans leur liste de jeux, puis définir le jeu comme ISO par défaut, comme mentionné dans la section précédente.

Certains appareils Android disposent d'emplacements pour cartes mémoire (généralement au format microSD). Si votre appareil prend en charge les cartes SD, vous pouvez :

  • augmenter la capacité de mémoire ;
  • utilisez la carte pour certaines fonctions et applications.

Pour savoir si votre appareil dispose d'un emplacement pour carte SD, visitez le site Web du fabricant.

Note. Certaines de ces étapes ne peuvent être effectuées que sur les appareils exécutant Android 6.0 et versions ultérieures.

Comment installer une carte SD

Étape 1 : Insérez la carte SD.
  1. Vérifiez où se trouve l'emplacement pour la carte SD.
  2. Éteignez votre téléphone.
  3. Retirez le plateau de la carte SD ou retirez la façade arrière de l'appareil (selon le modèle). Si nécessaire, soulevez la languette qui maintient la carte.
  4. Placez la carte SD dans la fente. Si vous avez relevé la languette de retenue, abaissez-la.
  5. Réinstallez le plateau de la carte SD ou le capot arrière de l'appareil.
Étape 2 : Allumez la carte SD.
  1. Attendez que la notification de la carte SD apparaisse.
  2. Cliquez sur Régler.
  3. Sélectionnez le type de stockage souhaité.
    • Stockage amovible:
      Vous pouvez transférer la carte vers un autre appareil avec tous vos fichiers (tels que des photos et de la musique). Les applications ne peuvent pas être déplacées vers un lecteur amovible.
    • Mémoire intérieure :
      La carte peut stocker des applications et des données uniquement pour cet appareil. Si vous le déplacez vers un autre appareil, toutes les données qu'il contient seront supprimées.
  4. Suivez les instructions à l'écran pour configurer votre carte SD.
  5. Une fois terminé, cliquez sur Prêt.

Comment utiliser une carte SD

Comment déplacer des applications vers la carte SD

Si vous avez connecté la carte comme stockage interne, vous pouvez y transférer des applications.

Note. Toutes les applications ne peuvent pas être transférées sur une carte SD.

Comment déplacer des fichiers sur la carte SD

Si vous avez installé une carte SD comme périphérique de stockage amovible, vous pouvez y transférer divers fichiers, tels que de la musique et des photos. Après cela, ils peuvent être supprimés de la mémoire interne de l’appareil.

Étape 1 : Copiez les fichiers sur la carte SD.

Étape 2 : Supprimez les fichiers de votre stockage interne.

Vous pouvez afficher le contenu de la carte SD et voir combien d'espace il reste.

Lorsque la carte SD est utilisée comme stockage interne

Lorsque la carte SD est utilisée comme périphérique de stockage amovible

  1. Faites glisser votre doigt depuis le haut de l'écran pour ouvrir le panneau de notification.
  2. Sous la notification de la carte SD, appuyez sur Ouvrir.

Cet outil vous permet de créer et de gérer des partitions sur la carte SD/clé USB de votre téléphone ou tablette. Vous pouvez ajouter plus de RAM à votre appareil en créant une partition d'échange. Vous pouvez également réparer les systèmes de fichiers endommagés de la carte SD. Prend uniquement en charge le type de partition "principale".
Les fonctions:

  • créer des partitions;
  • supprimer des partitions ;
  • récupération des systèmes de fichiers endommagés.

Systèmes de fichiers pris en charge :

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (à partir de la version MoalBoal).

Exigences:

  • Téléphone racine ;
  • disponibilité de Busybox ;
  • installation dans la mémoire interne ;
  • Avant de commencer à travailler avec l'application, déconnectez la carte SD.

Instructions sur la façon de créer des partitions à l'aide du programme

La toute première chose à faire est de transférer tous vos fichiers précieux du lecteur flash vers votre PC, c'est-à-dire qu'après cela, tout sera supprimé du lecteur flash.

- Ouvrez le programme

Dans la section Créer, double-cliquez sur le signe plus « + »

La première section "Partie 1" sélectionne Fat32, la seconde "Partie 2" sélectionne l'ext2/3/4 ou le swap souhaité.
- Utilisez le curseur pour définir la taille de chaque section ; la case « Format » doit être cochée.

Confirmez "D'accord"

Tout est prêt.

Comment remettre une clé USB à pleine capacité
Si vous décidez de supprimer la deuxième partition du lecteur flash, vous pouvez le faire.
- Allez dans les paramètres du téléphone, « Mémoire » et cliquez sur « Supprimer la carte SD ».
- Ouvrez le programme
- Dans la section Créer, cliquez une fois sur le signe plus « + »
- Dans "Partie 1", sélectionnez Fat32, réglez le curseur sur la pleine capacité du lecteur flash, la case "Formater" doit être cochée.

Touche programmable, cliquez sur "appliquer les modifications"




Haut