Как получить значения для блока параметров BIOS в VBR?

314
Panther Coder

Я создаю VBR, который повторяет первый сектор тома. VBR должен иметь блок параметров BIOS для реализации файловой системы FAT. Работая на моем диске (скажем), мне удалось найти значение для записей в VBR (скажем bpbSectorsPerTrack). Но что, если один и тот же VBR предназначен для работы в другой системе на другом томе? Значения отличаются ri8? Как я должен получить эти ценности.

Вкратце мои вопросы таковы:

1) Нужно ли, чтобы значения VBR были точными? 2) Если так, откуда я могу получить эти значения?

Спасибо

Запрос: Если возможно, пожалуйста, ответьте на другой мой вопрос, который я задал в другой день на «stackoverflow» по адресу https://stackoverflow.com/questions/41226127/how-to-access-the-chs-information-from-the-partition- область таблицы MBR? noredirect = 1 # comment69651023_41226127

Мне очень нужны ответы.

0

1 ответ на вопрос

1
Margaret Bloom

BPB используется для хранения метаданных о:

  1. Геометрия устройства.
  2. Положение структур ФС.

Первый актуален только для дискет.
Жесткие диски имеют фиксированную геометрию, вы можете взять это значение с вашего диска BPB или просто отформатировать драйвер USB-пера.
Эти значения одинаковы для каждого устройства.

Обратите внимание, что драйверы сектора 4KiB начинают появляться на рынке.
Так что теперь жесткие диски имеют переменную геометрию .
Определение того, поддерживает ли устройство секторы 4 КБ, выходит за рамки этого ответа ( см. Спецификацию ATA / ATAPI8 ).

Второй фактически определен только для файловой системы NTFS и FAT.
Здесь делать особо нечего, во время создания FS вы знаете, где на диске записаны соответствующие структуры, и вы соответственно создаете BPB.
Википедия уже проделала большую работу по объяснению значений полей и того, какие из них могут быть установлены на ноль в несоответствующих контекстах.


BPB в основном используется технологиями Microsoft, например Unix использует другую схему .