0 votos

SD tarjeta múltiples particiones USB acceso

Quiero dividir mi SD cart en 2 particiones: una para android, y una que contiene un disco de arranque de OS utilizada desde los ordenadores a través de USB o mediante la inserción en los lectores de tarjetas. No puedo acceder a la segunda partición del USB!

Especificaciones:

  • Teléfono: motorola defy+
  • Sistema: CynogenMod 10 (android 4.1.2)
  • Diseño de la Tarjeta SD:
    1. Primaria FAT32, 1Gb, destinado sólo para android (aplicaciones de datos)
    2. Primaria EXT4, 15Gb, invisible desde android destinada a los equipos (de linux de arranque del sistema)

Estado actual:

  • Todo funciona con un ordenador portátil, lector de tarjetas SD: puedo montar y navegar tanto en FAT32 y EXT4 partiations. Puedo arrancar desde la tarjeta SD y arrancar el linux que tengo instalado en la partición ext.
  • Desde el teléfono android puede montar y acceder a la partición FAT32, ext4 es invisible como yo quiero.
  • Problema de USB: Al acceder a la tarjeta en el teléfono desde un ordenador a través de USB (android está configurado como dispositivo de almacenamiento masivo USB), sólo puedo acceder a la partición FAT32.

Mi pregunta:

Android parece estar exponiendo sólo la primera partición como un dispositivo de bloque a través de USB. Por lo tanto no puedo acceder a la segunda partición, o incluso ver con las herramientas de particionado. Obviamente, arrancar desde él también no funciona. Puedo hacer que Android para exponer la totalidad de la tarjeta SD como un dispositivo de bloque a través de USB, por lo que todas las particiones son visibles desde un ordenador y puedo arrancar con él.

Cualquier ayuda o consejos apreciado, gracias!

2voto

Sergey Vlasov Puntos 1419

Puedes probar a utilizar el MBRFAT hack - el primer sector que se ve tanto como una GRASA del sector de arranque y una tabla de particiones MBR. Tales imágenes pueden ser creadas por el makebootfat utilidad.

Yo no intente hacer esto en realidad, pero en teoría, usted debe hacer lo siguiente:

  1. Crear un files directorio que contenga los archivos para ser colocado en el sistema de archivos FAT32 de la imagen (que puede ser vacío).

  2. Busque los siguientes archivos:

    • mbrfat.bin - debe estar contenida en la makebootfat paquete;
    • ldlinux.sys y ldlinux.bss - provienen de la Syslinux 3.x paquete (el uso de un 3.x versión, no estoy seguro de que makebootfat es compatible con las versiones más recientes).
  3. Crear un archivo para el sistema de archivos FAT32 imagen con el tamaño deseado de la FAT32 parte:

    dd if=/dev/zero of=fat.img bs=1M count=1024
    
  4. Crear la imagen del sistema de ficheros FAT32 con MBRFAT:

    makebootfat -o fat.img -m mbrfat.bin -b ldlinux.bss  -c ldlinux.sys -F -Y -v files/
    

    (Tenga en cuenta que la colocación de ldlinux.sys en la files/ directorio no trabajo debe ser copiada con la -c opción).

  5. Poner su tarjeta en el teléfono y conectarlo a tu calcula como UMS (se trabaja con un lector de tarjetas, sería difícil para usted para montar anidada particiones).

  6. Escribir la imagen creada a todo el dispositivo de disco expuestos por el teléfono:

    dd if=fat.img of=/dev/sdX bs=1M
    
  7. Crear tus particiones adicionales en el mismo dispositivo en el que usted ha escrito que la imagen. Si desea colocar el gestor de arranque en la partición EXT4 en lugar de utilizar SYSLINUX en la partición FAT32, marca su partición EXT4 activo y quitar la bandera activa de la partición FAT32.

  8. Hacer una copia de seguridad del MBR+GRASA sector:

    dd if=/dev/sdX of=mbr_fat_backup.bin bs=512 count=1
    
  9. Instalar Linux en la partición EXT4, siendo muy cuidadoso para evitar instalar el gestor de arranque en el MBR del disco. Algunos instaladores no admiten la instalación del gestor de arranque en la partición de los sectores de arranque, en este caso de omitir el gestor de arranque de instalación e instalarlo manualmente más tarde, o (si es en el salto también que no es posible) restaurar el MBR+GRASA sector de la copia de seguridad después de la instalación, a continuación, instalar el gestor de arranque en el sector de inicio de partición. O usted puede configurar SYSLINUX en la partición FAT32 como el gestor de arranque (para esto se necesita copiar el kernel y la imagen initramfs a la partición FAT32).

Esta configuración funciona de la siguiente manera:

  • Android va a ver el exterior de la partición de contenidos así como una partición FAT32, aunque con el número de sectores en el sistema de ficheros más pequeños que el tamaño de la partición. El kernel de Linux en el dispositivo Android no se intenta analizar el anidado de la tabla de particiones, por lo tanto el anidado de partición EXT4 no será accesible a partir de ahí.
  • Cuando Android expone el contenido de la partición como un dispositivo de almacenamiento masivo USB, el sistema operativo en el equipo host analizará el sector 0 de la expuesta dispositivo como una tabla de particiones MBR, y veremos varias particiones allí. Para la partición FAT32 va a utilizar otro sector como el sector de arranque que contiene el FAT32 BPB; esta copia de BPB contendrá un valor menor en el "número de sectores reservados" de campo, de manera que la GRASA y los clústeres de datos va a terminar en el mismo físico sectores como cuando se utiliza el BPB en el sector 0 del exterior de la partición.

El problema con esta configuración es que el acceso a la partición EXT4, cuando el uso de la tarjeta en un lector de tarjeta no será posible, a menos que utilice los servicios públicos como kpartx a exponer anidada particiones. El arranque cuando se utiliza un lector de tarjetas podrían funcionar si se crea otra partición en la tarjeta directamente e instalar algún gestor de arranque (con una copia separada del núcleo y el initramfs imágenes); tenga en cuenta que esta partición no será accesible cuando se utiliza el teléfono.

Además, mbrfat.bin es un poco buggy, y algunos equipos no arranque cuando se utiliza.

0voto

forums Puntos 611

Sólo puede hacerlo a través de su Recovery mediante el uso de la Mount USB Storage función. Está presente en todas las recuperaciones personalizadas. La razón plausible que no puede acceder a la partición EXT4 en android es porque puede ser montado y utilizado por Cyanogenmod. Es posible que pueda desmontar con fuerza el EXT4 en la Recovery en el Mount menú y desmarcar el correspondiente montaje, si es compatible con el kernel.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X