none
Загрузчик Bootmgfw.efi читает не тот BCD RRS feed

  • Вопрос

  • Здравствуйте.

    EFI-загрузчик Bootmgfw.efi (x64, последний дистрибутив) читает 2 разных файла BCD: \efi\microsoft\boot\BCD и \boot\BCD.

    Первый путь на самом деле не фиксирован, он определяется расположением Bootmgfw.efi.

    Из первого файла считвается содержимое ключа "Windows Boot Manager", в частности локализация меню (PreferredLocale). Из второго считываются пункты меню.

    Насколько я понимаю, ссылка \boot\BCD осталась из загрузчика под BIOS, код которого был скопирован.

    Ошибка состоит в том, что \boot\BCD должен содержать пункты для загрузчиков BIOS, а в текущей реализации приходится писать туда те же пункты, но для EFI. Получается что в зависимости от загрузчика половина пунктов будет нерабочей.

    Также привязка к расположению файла загрузчика неудобна, поскольку проще хранить загрузчики в папке соответствующего дистрибутива, чем собирать одноименные загрузчики в одной папке. Напротив, BCD должен быть  единым и расположенным в стандартной папке для общих файлов EFI - \efi\microsoft\boot.

    Хотелось бы донести это до разработчиков.

Ответы

  • Здравствуйте.

    EFI-загрузчик Bootmgfw.efi (x64, последний дистрибутив) читает 2 разных файла BCD: \efi\microsoft\boot\BCD и \boot\BCD.

    Первый путь на самом деле не фиксирован, он определяется расположением Bootmgfw.efi.

    Из первого файла считвается содержимое ключа "Windows Boot Manager", в частности локализация меню (PreferredLocale). Из второго считываются пункты меню.

    Насколько я понимаю, ссылка \boot\BCD осталась из загрузчика под BIOS, код которого был скопирован.

    Ошибка состоит в том, что \boot\BCD должен содержать пункты для загрузчиков BIOS, а в текущей реализации приходится писать туда те же пункты, но для EFI. Получается что в зависимости от загрузчика половина пунктов будет нерабочей.

    Также привязка к расположению файла загрузчика неудобна, поскольку проще хранить загрузчики в папке соответствующего дистрибутива, чем собирать одноименные загрузчики в одной папке. Напротив, BCD должен быть  единым и расположенным в стандартной папке для общих файлов EFI - \efi\microsoft\boot.

    Хотелось бы донести это до разработчиков.

    Здрравствуйте, Сергей Хоменко 

    Увы, но здесь нет и не бывает разработчиков Microsoft.

    Воспользуйтесь Центром отзывов: https://support.microsoft.com/ru-ru/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app


    Alexandr_Smirnoff

Все ответы

  • Здравствуйте.

    EFI-загрузчик Bootmgfw.efi (x64, последний дистрибутив) читает 2 разных файла BCD: \efi\microsoft\boot\BCD и \boot\BCD.

    Первый путь на самом деле не фиксирован, он определяется расположением Bootmgfw.efi.

    Из первого файла считвается содержимое ключа "Windows Boot Manager", в частности локализация меню (PreferredLocale). Из второго считываются пункты меню.

    Насколько я понимаю, ссылка \boot\BCD осталась из загрузчика под BIOS, код которого был скопирован.

    Ошибка состоит в том, что \boot\BCD должен содержать пункты для загрузчиков BIOS, а в текущей реализации приходится писать туда те же пункты, но для EFI. Получается что в зависимости от загрузчика половина пунктов будет нерабочей.

    Также привязка к расположению файла загрузчика неудобна, поскольку проще хранить загрузчики в папке соответствующего дистрибутива, чем собирать одноименные загрузчики в одной папке. Напротив, BCD должен быть  единым и расположенным в стандартной папке для общих файлов EFI - \efi\microsoft\boot.

    Хотелось бы донести это до разработчиков.

    Здрравствуйте, Сергей Хоменко 

    Увы, но здесь нет и не бывает разработчиков Microsoft.

    Воспользуйтесь Центром отзывов: https://support.microsoft.com/ru-ru/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app


    Alexandr_Smirnoff

  • Алксандр, благодарю.
    5 июня 2020 г. 11:35