Но я не могу подтвердить с помощью исследований, что правильно сказать, что первый или второй этап - это первый читаемый сектор
Первый сектор является первым сектором. Что касается устаревшего BIOS, он будет загружать только первый сектор диска в память и передавать управление всему, что там находится (этот "этап 1"). Сам BIOS никогда не знает и не заботится о какой-либо «стадии 1.5», "стадии 2" и т.д. (Которые сами по себе специфичны для GRUB - в то время как другие загрузчики, как правило, применяют аналогичные методы, правила не требуется), На самом деле, BIOS даже не заботится о том, что представляет собой "этап 1", если этот сектор можно прочитать с диска (хотя некоторые микропрограммы действительно ищут флаг, помечающий его как загрузочный).
Когда люди говорят "первый читаемый сектор", они говорят с точки зрения операционной системы или прошивки (BIOS/UEFI)?
Вообще то же самое, хотя бывают и исключения. "первый читаемый сектор" сам по себе ничего не говорит о том, с какой точки зрения вы читаете. Это будет зависеть от контекста.
Существует ли разница между тем, что операционная система может видеть на диске mbr, и тем, что видит компьютер fimware (UEFI/bios)?
Как правило, нет - при условии, что ОС имеет прямой доступ к физическому диску. Единственное исключение - виртуализация.
Для дисков GPT существует ли загрузочный раздел BIOS только для обратной совместимости с BIOS?
Да. Большинство установок на базе GPT вообще не имеют загрузочного раздела BIOS. Вместо этого у них есть только системный раздел EFI, предназначенный для загрузки из EFI-совместимой прошивки.
Есть исключения из вышеперечисленного. Например, защищенная область хоста может эффективно скрывать часть диска, однако HPA находится в конце адресуемого пространства, а не в начале.
Другие абстракции могут вступать в игру. Например, некоторые типы RAID работают на уровне драйвера операционной системы, в результате чего микропрограмма материнской платы и операционной системы имеют различные представления о диске. Другие типы загружают дополнительное ПЗУ в микропрограмму материнской платы, что может привести к тому, что микропрограмма увидит другой "первый сектор", нежели тот, который открыт диском. "Поддельный" RAID-массив Intel является тому примером.
И даже то, что диск представляет как "первый сектор" (первый блок с LBA), может отличаться от того, что физически находится на диске. Мы давно прошли старые времена, когда контроллер диска был отделен от физического диска, и в наши дни мы больше не знаем точно, как устроена внутренняя структура диска. Если вы действительно хотите получить техническую информацию, вы можете утверждать, что "первый читаемый сектор" отличается от того, что находится внутри диска, но это в значительной степени бессмысленно. Современные накопители также могут переназначать "нечитаемые" (поврежденные) сектора на внутренние области - это прозрачно для всего внешнего.
Примечание:first readable sector
фактически появляется в комментарии в исходном тексте ядра Linux 2.4 (удалено в 2.6) для Advanced File Filing System в acorn.c
. Обратите внимание, что эта файловая система (и система, с которой она была представлена) относится к 1980-м годам и давно не используется. Из Википедии:
Поддержка жестких дисков в ADFS использовала тот же формат, что и дискеты формата L, с точки зрения 256-байтовых блоков; [5] только базовое расположение дорожек и секторов различалось в зависимости от фактического используемого диска, но это управлялось контроллером SCSI. Он подключался к винчестерскому устройству на базе ST506/ST412 через шину BBC Micro 1 МГц, интерфейсную карту, разработанную компанией Acorn (1 МГц шина к адаптеру SCSI), и готовый контроллер SCSI Adaptec (адаптер SCSI к ST-506) ).