Как UEFI обнаруживает раздел операционной системы?
Современные системы устанавливают свои операционные системы на устройства с поддержкой UEFI (Unified Extensible Firmware Interface). Как же происходит процесс обнаружения раздела ОС? Давайте разберем этот вопрос подробнее.
Принципы работы UEFI
UEFI был разработан для замены устаревшего BIOS и предоставляет больше возможностей для загрузки операционных систем. Одной из ключевых задач UEFI является выявление загрузочных разделов на дисках. UEFI может обнаружить раздел EFI через GUID, однако основная задача — распознать раздел операционной системы.
Как UEFI обнаруживает раздел ОС?
Непосредственно UEFI не определяет раздел ОС — это задача загрузчика, специфичного для каждой операционной системы. Например, в случае Windows используется загрузчик Bootmgr, который располагает файлом BCD (Boot Configuration Data) в папке EFI\Microsoft\Boot
.
Этот файл BCD ссылается на раздел операционной системы с помощью GUID (Globally Unique Identifier) и других параметров. Он формируется с помощью утилиты bcdboot.exe
, которая копирует необходимые файлы из C:\Windows\Boot\EFI
. Данный файл можно проверить и редактировать с помощью bcdedit.exe
.
После этого загрузчик обращается к разделу напрямую, используя минимальный драйвер NTFS, чтобы получить доступ к необходимым файлам и запустить ОС.
Загрузка в Linux
В случае операционных систем на базе Linux, таких как Ubuntu или Fedora, процесс аналогичен. Загрузчик GRUB использует команду grub-mkconfig
для создания файла grub.cfg
, который содержит общие параметры загрузки. При установке GRUB используются безопасные методы, и создаётся исполняемый файл grubx64.efi
, который инкапсулирует в себе необходимые модули и GUID/путь к загрузочному разделу.
Различия между загрузочными каталогами
Каталог EFI\Boot
Каталог EFI\Boot
определяется спецификацией UEFI и содержит загрузчики по умолчанию. Если UEFI не может найти подходящие записи загрузки, он обратится к этому каталогу и запустит файл Bootx64.efi
(для x64 процессоров). Это обеспечивает возможность загрузки, даже если конкретный загрузчик не был настроен.
Каталог EFI\Microsoft
Каталог EFI\Microsoft
управляется самой Microsoft и предназначен для хранения всех необходимых файлов, связанных с Windows. UEFI не заглядывает в этот каталог, если не указано иное, например, через «загрузочный регистр», который создается при помощи bcdboot.exe
. Он определяет конкретный путь к файлу, таким образом UEFI знает, куда обращаться при загрузке Windows.
Некоторые производители оборудования пытаются оптимизировать процесс, обнаруживая Windows и заглядывая в каталог EFI\Microsoft\Boot
, но это не является частью официальной спецификации UEFI.
Заключение
Понимание того, как UEFI работает с загрузочными разделами и как обнаруживаются операционные системы, имеет критическое значение для администрирования и устранения проблем с загрузкой. Сложная система загрузчиков и конфигурационных файлов делает этот процесс прозрачным для пользователей, однако знание его механизмов может помочь в решении различных проблем.