Edición de MBR para dispositivo flash

Edición de MBR para dispositivo flash

Tengo un sistema de flasheo para una tableta que tiene una tarjeta SD interna para formatear en cada flash. Básicamente, le escribe un archivo MBR, en lugar de usar una aplicación de partición (fdisk o cualquier otra cosa), y para eso, necesitaría una aplicación para crear estos archivos MBR. Como no tengo todos los tamaños posibles de tarjetas, realmente necesito una aplicación que pueda crear MBR de diseño de partición para tamaños determinados (4/8/16/32 GB). ¿Hay alguna solución?

Respuesta1

Un MBR no es un archivo; es un formato de tabla de particiones que ocupa los primeros 512 bytes de un volumen. Los 64 bytes desde el byte 447 hasta el byte 510 describen las particiones. Puede encontrar una descripción de la estructura del formato enArtículo de Wikipedia sobre este tema.. Una tabla de particiones MBR puede definir hasta cuatro particiones, y cada una ocupa 16 bytes, con un total de 64 bytes.

Necesito una aplicación que pueda crear MBR de diseño de partición para tamaños determinados

Un MBR no difiere según el tamaño del volumen. Sin embargo, si desea crear un MBR y definir una partición que abarque todo el volumen, independientemente del tamaño, esa es otra cuestión.

Una forma inteligente de crear MBR para diferentes tamaños para su uso posterior es crear un archivo del tamaño del volumen, ejecutarlo parted, crear la tabla de particiones y la partición, y luego truncar el archivo a los primeros 512 bytes. Ahora puedes reutilizar ese archivo, copiándolo al inicio de tantos volúmenes como quieras.

MBR para una partición que abarca todo el volumen en un dispositivo de 4GiB:

0000000 b8fa 1000 d08e 00bc b8b0 0000 d88e c08e
0000010 befb 7c00 00bf b906 0200 a4f3 21ea 0006
0000020 be00 07be 0438 0b75 c683 8110 fefe 7507
0000030 ebf3 b416 b002 bb01 7c00 80b2 748a 8b01
0000040 024c 13cd 00ea 007c eb00 00fe 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 2ff7 000d 0000 0000
00001c0 1001 0383 ffe0 0800 0000 f800 007f 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200

MBR para una partición que abarca todo el volumen en un dispositivo de 8 GiB:

0000000 b8fa 1000 d08e 00bc b8b0 0000 d88e c08e
0000010 befb 7c00 00bf b906 0200 a4f3 21ea 0006
0000020 be00 07be 0438 0b75 c683 8110 fefe 7507
0000030 ebf3 b416 b002 bb01 7c00 80b2 748a 8b01
0000040 024c 13cd 00ea 007c eb00 00fe 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 4f7f 0000 0000 0000
00001c0 1001 0383 ffe0 0800 0000 f800 00ff 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200

MBR para una partición que abarca todo el volumen en un dispositivo de 16 GiB:

0000000 b8fa 1000 d08e 00bc b8b0 0000 d88e c08e
0000010 befb 7c00 00bf b906 0200 a4f3 21ea 0006
0000020 be00 07be 0438 0b75 c683 8110 fefe 7507
0000030 ebf3 b416 b002 bb01 7c00 80b2 748a 8b01
0000040 024c 13cd 00ea 007c eb00 00fe 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 d709 0003 0000 0000
00001c0 1001 0383 ffe0 0800 0000 f800 01ff 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200

MBR para una partición que abarca todo el volumen en un dispositivo de 32 GiB:

0000000 b8fa 1000 d08e 00bc b8b0 0000 d88e c08e
0000010 befb 7c00 00bf b906 0200 a4f3 21ea 0006
0000020 be00 07be 0438 0b75 c683 8110 fefe 7507
0000030 ebf3 b416 b002 bb01 7c00 80b2 748a 8b01
0000040 024c 13cd 00ea 007c eb00 00fe 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 7ca5 0001 0000 0000
00001c0 1001 0383 ffe0 0800 0000 f800 03ff 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200

información relacionada