Casa / Calefacción / Particionando una tarjeta de memoria microSD en Android. Obtener la ruta a la tarjeta SD en Android Si la tarjeta SD se usa como almacenamiento interno

Particionando una tarjeta de memoria microSD en Android. Obtener la ruta a la tarjeta SD en Android Si la tarjeta SD se usa como almacenamiento interno

Dolphin puede almacenar datos en una tarjeta SD virtual llamada sd.raw. De forma predeterminada, se creará con un tamaño de 128 MB.

La tarjeta SD virtual tiene un uso importante para aplicaciones caseras en Dolphin. Las pistas personalizadas de Project M y Mario Kart Wii son dos buenos ejemplos, ya que algunas aplicaciones caseras solo pueden funcionar con archivos almacenados en la tarjeta SD del hardware real para el que fueron diseñadas.

contenido

Creación de una tarjeta SD virtual

Se recomienda crear uno con un tamaño de al menos 1 GB para aplicaciones caseras grandes, por ejemplo, Project M, y no más de 2 GB para una mejor compatibilidad, ya que existen problemas de compatibilidad con algunas aplicaciones caseras que intentan ejecutarse con una tarjeta SDHC en el hardware real. .

Línea de comandos y archivos ejecutables

WinImage no es confiable porque, por extraño que parezca, causará desincronización y algunos otros problemas imprevisibles. ImDisk estará bien.

Guía rápida para montar y editar la tarjeta SD virtual con el Controlador de disco virtual ImDisk:

  1. clic derecho en sd.raw archivo y luego haga clic "Montar como disco virtual ImDisk" del menú contextual.
  2. casilla de verificación Media removible entonces golpea "DE ACUERDO". La letra de unidad predefinida y todo lo demás funcionará bien.
    • La tarjeta SD virtual ahora aparecerá como "Disco extraíble" en el que la ventana nativa del Explorador puede leer y escribir allí.
  3. Cuando haya terminado con la tarjeta SD virtual, simplemente desmóntela haciendo clic derecho en el "Disco extraíble" y luego haga clic en "Desmontar el disco virtual ImDisk" del menú contextual.
    • La tarjeta SD virtual debe desmontarse antes de usarla con Dolphin.

Ajuste de delfines

Ve a Opciones > Configurar... > Wii > y habilita Insertar tarjeta SD.

Uso

Con la aplicación Homebrew

Los archivos externos utilizados para la aplicación homebrew deben almacenarse dentro sd.raw y la propia aplicación homebrew ( boot.elf o bota.dol) debe existir fuera de él para que se cargue Dolphin. El Proyecto M, por ejemplo, se cargará desde la raíz SD \proyectom\ y Dolphin necesitarán lanzar el Proyecto M a través de \aplicaciones\proyectom\boot.elf, NO en la tarjeta SD virtual. Por conveniencia, es ideal tener las mismas copias en paralelo entre el interior y el exterior de la tarjeta SD virtual.

Sin embargo, es posible iniciar la aplicación homebrew desde una tarjeta SD virtual a través de exploits homebrew para Wii.

La aplicación de inicio de juegos de Wii solo funcionará si un juego de Wii en particular está configurado como ISO predeterminado. Dentro de la lista de juegos de Dolphin, abra el menú contextual (haga clic con el botón derecho) en cualquier juego de Wii y haga clic en Establecer como ISO predeterminado. Haga esto antes de cargar una aplicación homebrew con Dolphin.

Para netplay

Netplay finalmente se desincronizará si algo lee la tarjeta SD virtual que no está clonada, independientemente del mismo tamaño en que se creó y estructuras de archivos/carpetas idénticas dentro de su raíz. para prevenir eso sd.raw debe ser copiado desde la computadora anfitriona a las computadoras de los usuarios antes de iniciar netplay. Si la tarjeta SD virtual se usó fuera de línea o en línea con el bloqueo de escritura deshabilitado, la suma de verificación MD5 cambiará ("La fecha de acceso" de los archivos es lo que es diferente en la tarjeta SD virtual), pero no causará la desincronización. La tarjeta SD llegó a provenir de otro lugar o estar sujeto a los archivos modificados dentro para ser "diferente".

Para la aplicación de inicio de juegos de Wii, los usuarios de ambos extremos primero deben tener las mismas copias de la aplicación homebrew y el juego en su lista de juegos, luego configurar el juego como ISO predeterminado, como se mencionó en la sección anterior.

Esta herramienta le permite crear y administrar particiones en la tarjeta SD/disco USB de su teléfono o tableta. Puede agregar más RAM a su dispositivo creando una partición de intercambio. También puede reparar daños en el sistema de archivos de la tarjeta SD. Solo admite el tipo de partición "primaria".
Funciones:

  • creación de secciones;
  • eliminar particiones;
  • recuperación de sistemas de archivos dañados.

Sistemas de archivos compatibles:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (de MoalBoal).

Requisitos:

  • teléfono raíz;
  • presencia de Busybox;
  • instalación en memoria interna;
  • Desconecte la tarjeta SD antes de usar la aplicación.

Instrucciones sobre cómo crear particiones usando el programa

Lo primero es transferir todos los archivos valiosos a su PC desde la unidad flash, es decir, cómo se eliminará todo de la unidad flash después de eso.

- Abre el programa

En la sección Crear, haga doble clic en el signo más "+"

La primera sección "Parte 1" selecciona Fat32, la segunda "Parte 2" selecciona la ext2/3/4 deseada o swap.
- Use el control deslizante para establecer el tamaño de cada sección, la casilla de verificación "Formato" debe estar marcada.

Confirme "Aceptar"

Todo está listo.

Cómo devolver la unidad flash a todo volumen
Si decide eliminar la segunda partición de la unidad flash, puede hacerlo.
- Vaya a la configuración del teléfono, "Memoria" y haga clic en "Expulsar tarjeta SD".
- Abre el programa
- En la sección Crear, haga clic en el signo más "+" una vez
- En "Parte 1", seleccione Fat32, configure el control deslizante en el volumen completo de la unidad flash, marque la casilla "Formato".

Tecla programable, haga clic en "aplicar cambios"

La necesidad de dividir la tarjeta de memoria en varias secciones suele surgir cuando el teléfono/tableta Android tiene poca memoria integrada para instalar aplicaciones. Al realizar una operación similar, puede liberar espacio en su teléfono, por ejemplo, yendo a la segunda sección de la tarjeta microSD. Anteriormente, ya le dijimos cómo puede crear/combinar particiones en una tarjeta de memoria usando y .

No siempre es posible encontrar una recuperación para un teléfono/tableta específico que admita la partición de tarjetas de memoria, por lo que en este artículo le diremos cómo hacerlo usando la aplicación de Android - AParted.

Esta aplicación proporciona las siguientes características (de la documentación oficial):

  • Particionamiento de la memoria externa/interna de un dispositivo Android.
  • Formatear la memoria externa/interna de un dispositivo Android.
  • Eliminación de secciones.
  • Comprobación y corrección de errores del sistema de archivos.
  • Cambiar el tamaño de las particiones.
  • Actualización de sistemas de archivos.

En este artículo, usaremos solo el primero de ellos.

Preparándose para apostar

Antes de particionar, asegúrese de hacer una copia de seguridad de sus datos importantes (fotos, videos, etc.), ya que todos los archivos se eliminarán de la tarjeta de memoria durante el proceso de partición.

Asegúrese de que su teléfono tenga , de lo contrario, AParted no funcionará.

Antes de iniciar la aplicación, debe deshabilitar la tarjeta de memoria en la configuración de Android. Para hacer esto, vaya a "Configuración> Memoria", en la sección de la tarjeta microSD conectada, haga clic en el elemento "Quitar con seguridad" y confirme la acción.

Marcado para secciones futuras

Ejecute la aplicación AParted, en la pestaña "CREAR" verá dos representaciones gráficas de la tarjeta de memoria en forma de rectángulos: el rectángulo inferior etiquetado como "tarjeta de memoria SD de tablas de partición msdos" muestra el diseño de partición actual, y el superior " Nuevas tablas de particiones msdos": el esquema de futuras particiones en la tarjeta microSD.

Haga clic en el botón "AGREGAR" para agregar la primera sección y use el control deslizante para establecer su tamaño. Esta sección estará disponible para el teléfono/tableta como memoria externa para fotos, música, etc. Para un desglose más preciso, haga clic en el número con MB, en el campo que aparece, especifique el tamaño exacto en megabytes y confirme los cambios haciendo clic en "Aceptar". Deje la casilla de verificación "Formato" habilitada y el sistema de archivos "fat32" sin cambios.

Haga clic en el botón "AGREGAR" nuevamente para agregar una segunda partición en la tarjeta microSD, que servirá como una extensión de la memoria del sistema del dispositivo Android en el futuro. Seleccione el espacio restante con el control deslizante, deje activada la casilla de verificación "Formato", haga clic en la inscripción "fat32" y seleccione uno de los siguientes sistemas de archivos: "ext2", "ext3" o "ext4".

Y aquí comienza la diversión, es recomendable elegir la opción "ext4", pero hay una serie de razones por las que no podrá crear una partición en este sistema de archivos: el kernel / firmware del sistema Android, la clase / fabricante (calidad) de la tarjeta de memoria, etc.

Por lo tanto, experimente, intente crear una partición con "ext4" primero, luego "ext3" y "ext2". Después de todo, la aplicación Link2SD es compatible con todos los sistemas de archivos anteriores.

Después de completar las operaciones anteriores, el rectángulo etiquetado como "Nuevas tablas de partición de msdos" debería mostrar un diagrama de las futuras particiones de su tarjeta de memoria.

replanteo

Para aplicar el diseño de las nuevas particiones a la tarjeta de memoria, haga clic en el botón "APLICAR". La aplicación AParted le avisará que se borrarán todos los datos del medio extraíble.

A continuación, se mostrará el proceso de partición y formateo de particiones de la tarjeta de memoria, después de lo cual el gráfico inferior "Tarjeta de memoria SD de la tabla de partición msdos" mostrará el resultado de la partición de los medios. Nuevamente, vaya a "Configuración> Almacenamiento" de su teléfono / tableta y en la sección de memoria externa, haga clic en el elemento "Conectar tarjeta SD". Después de conectar y analizar la tarjeta microSD por el sistema Android, verás que su memoria ha disminuido al tamaño que configuraste.

Si aparece un mensaje en el estado del teléfono de que la tarjeta SD está dañada, reinicie el sistema Android, después de reiniciar, la tarjeta de memoria debería conectarse automáticamente.

Configuración de Link2SD

Instalar y ejecutar. El programa debería detectar automáticamente la presencia de una segunda partición en la tarjeta de memoria y pedirle que cree un script de montaje. Marque en la lista el sistema de archivos de la segunda partición, que especificó al dividir la tarjeta de memoria en la aplicación AParted, confirme la solicitud y después de la operación, haga clic en el botón "Reiniciar dispositivo".

Después de reiniciar el sistema Android, puede transferir aplicaciones desde la memoria del dispositivo a la segunda partición de la tarjeta de memoria externa.

Mientras desarrollaba una aplicación para una competencia, me encontré con un problema de almacenamiento en la base de datos. El problema era cómo identifico la tarjeta de memoria externa. En general, una búsqueda en la red no dio una respuesta exacta. Por lo tanto, al combinar todos los resultados que encontré, armé mi clase. Si alguien está interesado, mire debajo del corte.

Así que empecemos con la teoría.

Terminología

Google nos dice que existen los siguientes conceptos:
  1. Interno ( interno) la memoria es parte de la tarjeta de memoria integrada en el teléfono. De forma predeterminada, la carpeta de la aplicación está protegida contra el acceso de otras aplicaciones (Uso del almacenamiento interno).
  2. Externo ( externo) la memoria es un "almacenamiento externo" compartido, es decir puede ser parte de la memoria integrada o un dispositivo que se va a quitar. Por lo general, esto es parte de la memoria integrada, ya que la última vez que vi que se retiraba el dispositivo fue en Android 2.2, donde la memoria integrada era de aproximadamente 2 GB y la memoria conectada se convirtió en externa (Uso del almacenamiento externo).
  3. Eliminado ( retirable) memoria: todo el almacenamiento que se puede eliminar del dispositivo sin intervenciones "quirúrgicas".

Antes de KitKat 4.4, la API no proporcionaba funcionalidad para obtener rutas a la memoria externa. A partir de esta versión (API 19) hay una función pública de archivo abstracto getExternalFilesDirs(tipo de cadena), que devuelve una matriz de cadenas con rutas a la memoria interna y externa. Pero, ¿qué pasa con nuestra tarjeta SD, que se inserta en la ranura? Nuevamente no podemos encontrar el camino hacia él.

resultados de busqueda

Para responder a la pregunta, recurrí al omnisciente Google. Pero no me dio una respuesta clara. Se consideraron muchas definiciones, desde el uso de funciones estándar que conducen a la memoria externa, pero que no tienen nada que ver con los dispositivos de almacenamiento extraíbles, hasta las reglas de montaje de dispositivos de procesamiento (Android se ejecuta en el kernel de Linux). En estos últimos casos, se utilizaron rutas "cableadas" a la carpeta con dispositivos montados (este directorio es diferente en diferentes versiones). No olvide que las reglas de montaje cambian de una versión a otra.

Al final, decidí combinar todo el conocimiento adquirido y escribí mi propia clase, que puede devolvernos las rutas a dispositivos externos y eliminados.

Código Descripción

Se ha creado una clase. dispositivo de montaje, que contiene la ruta al dispositivo, el tipo de dispositivo y algo de hash.
Hay dos tipos de dispositivos asignados (no toqué la memoria interna, ya que se puede acceder a través de la API del sistema).

Enumeración pública MountDeviceType (EXTERNAL_SD_CARD, REMOVABLE_SD_CARD)
Y la clase fue creada. Ayudante de almacenamiento, que busca tarjetas de memoria disponibles.

La clase StorageHelper implementa dos métodos de búsqueda: a través del entorno del sistema ( Medioambiente) y usando la utilidad de Linux montar, o más bien el resultado de su implementación.

Método uno - Medio ambiente
Cuando trabajo con el entorno, uso la función estándar getExternalStorageDirectory() para obtener información sobre el almacenamiento externo. Para obtener información sobre la eliminación de la memoria, uso la variable de entorno " ALMACENAMIENTO SECUNDARIO".

La memoria externa siempre es una y generalmente siempre lo es, por lo que verificamos su legibilidad, calculamos el hash y recordamos. Puede haber mucha memoria para eliminar, por lo que debe dividir la cadena resultante por el separador y verificar cada valor.

función fillDevicesEnvirement

Cadena de ruta = 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); ) // Obtener eliminador de cadenas rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Todas las TARJETAS SD secundarias divididas en una matriz final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Solución tomada de stackoverflow. La respuesta está ahí abajo en alguna parte.
Método dos: montaje
Como no pude hacer que el sistema me dijera la ruta a la memoria que se eliminaría durante mucho tiempo, decidí mirar en la dirección de los dispositivos montados. El sistema tiene archivos de configuración que describen las reglas para montar dispositivos externos. Todo estaría bien, pero en la versión 4.* de Android no hay acceso a este archivo por parte de simples mortales, por lo que no consideraré este método.

Volvamos a la utilidad de montaje. Cuando se ejecuta sin parámetros, el comando devuelve una lista de sistemas de archivos montados. Los dispositivos eliminados suelen tener el formato del sistema de archivos FAT, luego seleccionaremos líneas que tengan la característica " grasa". La memoria externa se caracterizará por el parámetro " fusible".

Nota: al usar este método, no siempre es correcto (lo más probable es que no haya tenido en cuenta algo) se determinan los tipos de dispositivos montados. Noté la diferencia en diferentes versiones de Android. Por lo tanto, este método se puede utilizar como uno adicional.

función fillDevicesProcess

try ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (línea = br.readLine()) != null) ( if (line.contains("secure")) continuar; if (line.contains("asec")) continuar; if (line.contains("fat") ) (// Tarjeta TF String columnas = línea.dividir(" "); si (columnas! = nulo && columnas.longitud > 1) ( testAndAdd(columnas, MountDeviceType.REMOVABLE_SD_CARD); ) ) más si (línea.contiene(" fusible")) (// interno(Externo) // almacenamiento Cadena columnas = línea.dividir(" "); if (columnas != nulo && columnas.longitud > 1) ( // montaje = montaje.concat(columnas + " \n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) finalmente ( ... ) ) catch (Excepción e) ( ... )

El código fuente de toda la clase aún no se encuentra en ninguna parte. Intentaré publicarlo en github en los próximos días.

¿Quién más lo está usando?

Etiquetas: Agregar etiquetas

Algunos dispositivos Android tienen ranuras para tarjetas de memoria (generalmente microSD). Si su dispositivo admite tarjetas SD, puede:

  • aumentar la cantidad de memoria;
  • utilice la tarjeta para algunas funciones y aplicaciones.

Para ver si su dispositivo tiene una ranura para tarjeta SD, visite el sitio web del fabricante.

Nota. Algunos de estos pasos solo se pueden realizar en dispositivos con Android 6.0 y versiones posteriores.

Cómo instalar una tarjeta SD

Paso 1: inserte una tarjeta SD.
  1. Averigua dónde está la ranura para tarjetas SD.
  2. Apaga tu teléfono.
  3. Retire la bandeja de la tarjeta SD o quite la tapa trasera del dispositivo (según el modelo). Si es necesario, levante la pestaña que sujeta la tarjeta.
  4. Coloque la tarjeta SD en la ranura. Si levantó la pestaña de retención, bájela.
  5. Vuelva a instalar la bandeja de la tarjeta SD o la cubierta posterior del dispositivo.
Paso 2: Encienda la tarjeta SD.
  1. Espere a que aparezca la notificación de la tarjeta SD.
  2. Hacer clic Melodía.
  3. Seleccione el tipo de almacenamiento deseado.
    • Almacenamiento extraíble:
      La tarjeta se puede transferir a otro dispositivo junto con todos los archivos (como fotos y música). Las aplicaciones no se pueden mover al almacenamiento extraíble.
    • Memoria interna:
      La tarjeta solo puede almacenar aplicaciones y datos para ese dispositivo. Si lo mueve a otro dispositivo, se eliminarán todos los datos del mismo.
  4. Siga las instrucciones en pantalla para configurar su tarjeta SD.
  5. Cuando haya terminado, haga clic en Listo.

Cómo usar la tarjeta SD

Cómo mover aplicaciones a la tarjeta SD

Si ha conectado la tarjeta como almacenamiento interno, puede transferirle aplicaciones.

Nota. No todas las aplicaciones se pueden mover a una tarjeta SD.

Cómo mover archivos a la tarjeta SD

Si ha instalado una tarjeta SD como almacenamiento extraíble, puede transferirle varios archivos, como música y fotos. Después de eso, se pueden eliminar de la memoria interna del dispositivo.

Paso 1: Copie los archivos a la tarjeta SD.

Paso 2: elimine archivos del almacenamiento interno.

Puede ver el contenido de la tarjeta SD y ver cuánto espacio queda.

Si la tarjeta SD se utiliza como almacenamiento interno

Si la tarjeta SD se utiliza como almacenamiento extraíble

  1. Deslice hacia abajo desde la parte superior de la pantalla para abrir el panel de notificaciones.
  2. Debajo de la notificación de la tarjeta SD, toque Abierto.