Редактирование MBR для флэш-устройства

Редактирование MBR для флэш-устройства

У меня есть система прошивки для планшета, которая форматирует внутреннюю SD-карту при каждой прошивке. По сути, она записывает на нее файл MBR, вместо использования приложения для разбиения на разделы (fdisk или что-то еще), и для этого мне понадобится приложение для создания этих файлов MBR. Поскольку у меня нет всех возможных размеров карт, мне действительно нужно приложение, которое могло бы создавать MBR-разметку разделов для заданных размеров (4/8/16/32 ГБ). Есть ли какое-либо решение?

решение1

MBR — это не файл; это формат таблицы разделов, занимающий первые 512 байт тома. 64 байта с 447-го по 510-й описывают разделы. Описание структуры формата можно найти наСтатья Википедии на эту темуТаблица разделов MBR может определять до четырех разделов, каждый из которых занимает 16 байт, что в сумме составляет 64 байта.

нужно приложение, которое могло бы создать макет раздела MBR для заданных размеров

MBR не отличается в зависимости от размера тома. Однако, если вы хотите создать MBR и определить раздел, охватывающий весь том, независимо от размера, это другой вопрос.

Умный способ создания MBR для разных размеров для последующего использования — создать файл размера тома, запустить partedего, создав таблицу разделов и раздел, а затем обрезать файл до первых 512 байт. Теперь вы можете повторно использовать этот файл, копируя его в начало стольких томов, сколько захотите.

MBR для одного раздела, охватывающего весь том на устройстве объемом 4 ГБ:

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 для одного раздела, охватывающего весь том на устройстве объемом 8 ГБ:

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 для одного раздела, охватывающего весь том на устройстве объемом 16 ГБ:

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 для одного раздела, охватывающего весь том на устройстве объемом 32 ГБ:

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

Связанный контент