Восстановление UEFI запуска Windows 8/8.1/10.
Автор: STRIDER · Опубликовано 05.01.2018 · Обновлено 17.03.2018
Добрый день! В этой статье я расскажу о восстановлении UEFI запуска Windows 8/8.1/10, а так же о том что же такое UEFI. Поехали!
Вспомните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? Это были насколько помню 1990 годы. И все было неизменным, менялись только характеристики оборудования. Но развитие серверов и технологий толкнули Intel к разработке EFI.
Изначально EFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов. Ограничения PC-BIOS были, очевидно, недопустимы в больших серверных платформах, для использования в которых планировался Itanium. После того как Intel передала разработку UEFI Forum (альянс AMD, American Megatrends, ARM, Apple, Dell, Hewlett Packard Enterprise, HP Inc., IBM, Insyde Software, Intel, Lenovo, Microsoft, Phoenix Technologies). 7 января 2007 года была выпущена первая версия универсальной платформы UEFI 2.1. И впервые на смену пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Терминология
UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки). В отличие от 16-битного BIOS’а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов.
MBR («Master Boot Record» — основная загрузочная запись) использует 32-битные идентификаторы для разделов, которые размещаются в очень маленьком кусочке пространства (64 байта) в самом начале диска (в конце первого сектора диска). Из-за такого маленького объёма поддерживаются только четыре первичных раздела. Поскольку используется 32-битная адресация, то каждый раздел может быть не более 2,2 ТБ. Кроме того, загрузочная запись не имеет никакой запасной MBR, так что если приложение перезапишет основную загрузочную запись, то вся информация о разделах будет потеряна.
GPT («GUID Partition table» — таблица разделов GUID) использует уже 64-битные идентификаторы для разделов, поэтому кусочек пространства, в котором сохраняется информация о разделах, уже больше чем 512 байт, кроме того, не существует ограничения на количество разделов. Заметьте, ограничение на размер раздела в этом случае почти 9,4 ЗБ (да-да, вы всё прочитали правильно — зеттабайт, единичка с двадцатью одним нулём!). А в конце диска имеется копия GPT, которая может использоваться для восстановления повреждённой основной таблицы разделов в начале диска.
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию загружается и запускается файл \efi\boot\boot[название архитектуры].efi, например: \efi\boot\bootx64.efi.
То есть чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней активный FAT32-раздел и скопировать все файлы с компакт-диска с дистрибутивом операционной системы
Пример создания GPT диска в Linux:
- gdisk: создать раздел, указав тип EFI System (EFI System в fdisk или ef00 в gdisk). Затем отформатировать его в файловую систему FAT32 командой mkfs.fat -F32 /dev/ ;
- GNU Parted: создать раздел FAT32 и затем установить (активировать) загрузочный флаг (но не флаг legacy_boot) на этот раздел.
Также в большинстве реализаций UEFI возможна загрузка в режиме совместимости с диска с разметкой MBR.
Менеджер загрузки
Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI). То есть сам загрузчик к которому мы так сильно привыкли, ни куда не делся. Он теперь универсальный для всех операционных систем и находится в ПЗУ основной прошивки системной платы (где раньше был BIOS). И для того что бы загрузить нужную нам операционную систему, нужно всего лишь загрузочный файл с расширением .efi на загрузочном разделе. Теперь нет надобности в загрузочной записи в MBR, вот и все!
Восстанавливаем запуск
Чтобы восстановить конфигурацию загрузчика (BCD), необходимо загрузится с оригинального установочного DVD диска с Windows 8
(или диска восстановления, или специально подготовленной загрузочной флешки)
и открыть окно командной строки: выбрав Восстановление системы -> Диагностика -> Командная строка (System Restore – > Troubleshoot-> Command Prompt ),
или нажав комбинацию клавиш Shift + F10 .
В открывшейся командной строке вводим последовательно:
diskpart
list volume
Выберите загрузочный раздел (100mb, и файловая система у него FAT32)
select volume 3
format fs=fat32 (форматируем загрузочный раздел, перед копированием новых загрузочных файлов).
assign letter=Z (присваиваем букву Z этому разделу).
exit (выходим из Diskpart)
bcdboot C:\Windows /s Z: /f ALL (где С: — диск с файлами Windows, Z: — буква, которую мы присвоили скрытому разделу).
Если у вас несколько OC Windows , повторите команду для второй копии (с новым расположением файлов).
diskpart
list volume
select volume N (номер скрытого раздела, которому мы присваивали букву)
remove letter=Z (удаляем букву, чтобы том не отображался в системе, когда мы перезагрузимся).
exit (выходим из diskpart).
Перезагружаемся, извлекаем все носители. И грузимся в обычном режиме. Если все сделано правильно, система начнет загрузку.
Не загружается windows uefi bios utility
В чем преимущества UEFI перед BIOS?
- Более быстрая загрузка за счет отсутствия необходимости поиска загрузчика на всех дисках
- Поддержка носителей объемом >2Тб
- Более простая подготовка загрузочных носителей, отсутствие необходимости в записи разных загрузочных секторов
- Наличие собственного менеджера загрузки. Теперь необязательно заводить многоуровневую чехарду загрузчиков, чтобы организовать мультизагрузочную среду, в EFI NVRAM штатно хранятся все записи о имеющихся загрузчиках, и переключение между загружаемыми ОС осуществляется так же, как и между загрузочными носителями.
- Более защищенная среда загрузки
- Графический режим конфигурации UEFI, с поддержкой графики и мыши
Сообщение отредактировал saintonotole — 01.06.13, 17:59
Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/
Сообщение отредактировал saintonotole — 01.06.13, 16:37
Здесь за гибкую настройку приоритета загрузки отвечает целый модуль CSM
|
Выбор, что грузить, если на носителе есть и бутсектор, и efi-загрузчик
Сообщение отредактировал saintonotole — 16.06.13, 18:52 Что такое GPT? Сообщение отредактировал saintonotole — 01.06.13, 16:38 В чем преимущества GPT перед MBR?
Сообщение отредактировал saintonotole — 08.06.13, 18:32 Где в GPT хранятся аналоги загрузочных секторов? Сообщение отредактировал saintonotole — 01.06.13, 16:38 Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных? Сообщение отредактировал Shoore — 21.05.14, 22:22 Что такое UEFI Shell? Сообщение отредактировал AndrewP_1 — 17.12.18, 10:03 Как редактировать/удалить/добавить пункты загрузки в загрузочное меню UEFI? Найдя таким образом необходимый диск, нужно перейти в него Сообщение отредактировал Shoore — 31.10.14, 16:34 Восстановление загрузки Windows 10 в режиме UEFIНедавно знакомые принесли ноутбук DELL Inspirion 15, с не загружающейся Windows 8/10. Загрузившись с загрузочного диска, проверив на ошибки структуру раздела и файловую систему, я пришел к выводу что поврежден загрузчик.
Ответ на вопрос, как восстановить загрузчик, подсказал Google и Yandex. Как оказалось, проблема заключалась в том, что конфигурация загрузчика BCD, установленная в режиме UEFI, хранится на отдельном скрытом разделе EFI, имеющим файловую систему FAT32 и размер от 100 Мбайт, который утилита bcdedit не видит, именно поэтому, ручное или восстановление из командной строки, не помогало. Для решение этой проблемы, необходимо указать нужный раздел для восстановления, в котором пересоздать и скопировать загрузочные файлы. И так приступим, загрузитесь с оригинального установочного DVD диска с Windows 8/10 или специально подготовленного диска восстановления, в командную строку, затем выполните последовательно все команды. 1. Запускаем утилиту |