Насколько я понимаю, единственное участие MBR / GPT в загрузке состояло в том, чтобы предоставить исходный код для загрузки.
И начальное меню на самом деле является частью этого кода. Это не предоставляется ОС; это показывает загрузчик (который также выполняет работу «менеджера загрузки»).
Загрузчик по своей природе специфичен для одного типа прошивки. (Даже GRUB2 имеет отдельные ядра для BIOS и UEFI, и его модули должны быть скомпилированы по-разному для любого типа.)
Так что вполне возможно, что на одном и том же установочном диске будут использоваться совершенно разные загрузчики для систем BIOS и UEFI (например, syslinux для BIOS, но systemd-boot для UEFI; или GRUB2 для BIOS, но rEFInd для UEFI). Если они предоставляют меню загрузки, они все делают это по-своему, со своим внешним видом и темами.
(Также может быть так, что исходный ISO не имеет загрузчиков для обоих типов прошивок - в некоторых ситуациях Rufus вставляет свою собственную конфигурацию загрузчика (syslinux) в смесь.)
Наконец, даже если это тот же GRUB2 с той же базовой конфигурацией, он может не иметь одинакового графического режима, доступного в обоих случаях. Опции меню могут отсутствовать из-за различий в самих прошивках: например, «Загрузка существующей ОС» выполняется совершенно по-разному между BIOS и UEFI; и «Тест памяти» (memtest86) - это отдельная программа, которая сама должна быть в вариантах BIOS и UEFI ...
Поскольку GRUB мог загружаться в режиме UEFI, почему он оказался в режиме восстановления, а не продолжил загрузку Kali просто из-за этого изменения?
Невозможно ответить на этот вопрос, не увидев точную ошибку GRUB. Возможно, ваш раздел EFI содержит файлы ядра GRUB, но в нем отсутствуют модули или файл grub.cfg.
Опять же, помните, что BIOS GRUB и UEFI GRUB действуют как две отдельные части программного обеспечения. Несмотря на то, что они используют большую часть исходного кода, они скомпилированы в разные форматы, они установлены в разных местах системы и по-разному запускаются микропрограммами.
Почему в режиме Legacy GRUB не смог обнаружить Windows? Я бы подумал, что, поскольку BIOS уже выполнил свою работу по загрузке GRUB, у него не было бы проблем, учитывая, что я знаю, что у GRUB нет проблем с обнаружением Windows при установке в режиме UEFI.
Похоже, ваша система Windows настроена на загрузку в режиме UEFI, что означает, что на ней установлен только UEFI-совместимый загрузчик.
Однако когда система находится в режиме BIOS, она не может запускать программы UEFI - потому что они зависят от присутствия ядра UEFI и предоставления определенных услуг. (Так же, как MS-DOS не может запускать программы для Windows ...)
В конце концов, весь смысл «Legacy mode» заключается в том, что ОС будет видеть прошивку только так, как если бы это была традиционная BIOS для ПК; любые сервисы UEFI будут невидимы.
(Точно так же я не уверен, возможно ли, чтобы приложение UEFI «понизило» систему до 16-битного режима для загрузки по цепочке в BIOS-совместимый загрузочный код.)