2016-04-10 7 views
0

Я пишу загрузчик в сборке 8086 под Windows, используя NASM. После его создания я пишу его на USB-носитель 16 ГБ с файловой системой FAT32, используя служебную программу DD. Команда я использую, чтобы обновить MBR является:Почему Windows запрашивает форматирование USB-накопителя при замене MBR?

dd if=source.bin od=drive: bs=512 count=1 

После использования DD обновить MBR, Windows просит меня отформатировать. Почему Windows это делает? Это потому, что я исказил файловую систему? Как я могу исправить это, так что запись моего MBR не заставит Windows думать, что мне может понадобиться переформатировать USB-накопитель?

В моем загрузчике/загрузчике есть блок параметров BIOS для файловой системы FAT32. Несмотря на это, моя проблема сохраняется.

+0

есть ли таблица разделов на USB, если нет, это будет непризнано. Обратите внимание на таблицу параметров BIOS <>. – t0mm13b

+0

Я не знаю. Но я просто выполнил формат (не быстрый), прежде чем записывать файл в загрузочный сектор. –

+0

Windows разбивает и форматирует дискету иначе, чем USB-устройство. На дискете нет данных раздела, а информации в BPB достаточно для определения файловой системы на носителе. Когда Windows разбивает и форматирует USB-устройство, на самом деле он размещает MBR на диске с BPB и содержит таблицу [Partition table] (http://wiki.osdev.org/Partition_Table) в последних 64 байтах MBR, It будет иметь один раздел, и он будет отмечен как активный. Вероятно, у вас нет таблицы разделов в вашем загрузчике. Когда вы пишете свой диск на диске, Windows не видит таблиц разделов и запросов в формат –

ответ

0

Есть две причины для Windows, чтобы задать переформатировать флешку:

  1. Мембранный биореактор поврежден;
  2. MBR не идентифицирует разделы, распознаваемые Windows.

(1) обнаружен, только если байты 0x1FE и 0x1FF MBR не равны 0x55 и 0xAA соответственно.

(2) сложнее: таблица разделов (4 16-байтных ввода в 0x1BE, 0x1CE, 0x1DE, 0x1EE) не перечисляет известный тип раздела при смещении 0x03 в любой (или только первой!) Записи ,

 Смежные вопросы

  • Нет связанных вопросов^_^