Windows efi boot loader

Как восстановить загрузчик EFI Windows?

Как восстановить загрузчик EFI Windows 7 и Windows 10?

В этой статье мы попробуем восстановить загрузчик EFI для Windows 7/8/10. Чуть ранее мы уже разбирали восстановление загрузки для таблицы MFT на примере Windows 7. Сейчас же позволю себе сразу отметить, что повреждение загрузчика в нашем случае чаще всего (помимо прочего) вызывается:

  • установкой второй операционной системы
  • неправильными операциями по восстановлению системы (или неудачным её завершением)
  • удалением неких данных из скрытых разделов
  • битые секторы
  • действием зловредов.

С помощью представленных инструментов можно будет попробовать восстановить загрузчик EFI, который отказывается загрузить систему из-за отсутствующего или битого файла конфигурации по адресу:

Скрытый диск:\EFI\Microsoft\Boot\BCD

Вот, кстати, его примерное содержимое из Heren’s BootCD:

Чтобы было понятно…

Структура разделов в таблице GPT на Windows, загруженной в режиме UEFI, чаще всего выглядит так:

  • EFI – раздел ESP (Extensible Firmware Interface) – раздел, где хранится программное обеспечение с драйверами, обеспечивающими загрузку Windows;
  • MSR – он же Microsoft Reserved – резервируемый во время установки Windows раздел; его вполне может и не быть на вашей машине
  • Первичный раздел – том, где хранятся системные файлы: реестр, службы, системные утилиты, файлы настроек и т.д.

Windows 10 сюда добавляет ещё и диск Восстановления. По умолчанию (т.е. при установке Windows на НЕФОРМАТИРОВАННЫЙ диск), первые два раздела имеют чёткий объём. И потому по необходимости их легко вычленить, ориентируясь только лишь на размеры обоих. В Windows 7, например, это соответственно 100 Мб и 128 Мб. И это, как говорится, типовая конфигурация. Некоторые производители компьютеров создают разделы по своему усмотрению, например, засовывая туда среду восстановления Windows PE в файл winre.wim. Если вы обнаружили у себя такой файл, знайте, что именно он содержит в себе образ восстановления системы от производителя. Раздел EFI обязателен на GPT дисках с UEFI поддержкой. Когда компьютер включается, среда UEFI загружает загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) из раздела EFI (ESP), передавая той контроль над загрузкой самой Windows. Нет раздела – нет загрузки.

Раздел же MSR на диске создаётся для облегчения обзора разделов и используется для системных операций (типа конвертации диска из простого в динамический). Это резервный раздел, которому Windows никогда не присваивает опознавательные знаки. И данных пользователя он не содержит. В Windows 10 размер раздела MSR – 16 Мб (в Windows 8 – 128 Мб), тип файловой системы – NTFS.

Данные конфигурации загрузки Windows

О том, что файл по указанному выше адресу EFI\Microsoft\Boot\BCD повреждён, вам может сообщить синий экран смерти BSOD с ошибкой следующего содержания:

Читайте также:  Управление кулером linux mint

Это означает, что данные в файле Boot Configuration Data не распознают конфигурацию загрузчика вашей Windows. Однако, пользователей, знакомых с утилитой восстановления загрузчика в MFT bcdedit.exe, в этот раз та не выручит. При попытке её запустить, пользователь увидит непривычное:

Мол, ни данных, ни самого устройства не существует. Причина одна: раз конфигурация загрузчика BCD в UEFI-режиме загрузки лежит в специальном разделе EFI:

efi раздел в Windows 7

efi раздел в Windows 10

…то наша утилита просто его не видит. Т.е. не видит сам загрузчик , а то и весь раздел . В общем, не спасают и традиционные средства восстановления, созданные на такой случай:

У вас тоже с ошибкой написано?

Как восстановить загрузчик EFI Windows 10: в лоб.

  • выбираем загрузочное устройство, вызвав меню быстрой загрузки клавишами в зоне F или через BIOS

  • загружаем с флешки с Windows 10 PE;
  • выходим на командную строку, зажав Shift + F10 после появления окна Установка Windows
  • как и в предыдущем режиме, нам нужно определиться со списком разделов компьютера. Далее я предполагаю, что жёсткий диск установлен в единственном экземпляре:
  • обнаруживаем EFI раздел. Его размеры, повторюсь, невелики (100 Мб в W7 и W10), и он имеет файловую систему FAT32:

у меня EFI – это безымянный Том 3

  • по умолчанию он скрыт, а значит не имеет буквы. Для дальнейшей работы она нам понадобится. Так что присваиваем букву прямо сейчас:

После закрытия программы отправляемся в этот раздел:

Здесь появляется небольшое отступление. Этот путь существует по умолчанию, и причин, чтобы консоль вам отказала в переходе в указанную папку, нет. Если ошибка появилась, см. абзац Возможные ошибки или сразу переходите к следующей части Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.

меня ошибка Отказано в доступе настигла сразу

  • создаём заново загрузочный сектор одноимённого раздела:
  • используя утилиту bcdedit.exe создадим хранилище заново, копируя загрузочные файлы из системной папки:

/f ALL – скопирует загрузочные файлы (и UEFI и BIOS режимов) для возможной поддержки загрузки на EFI и BIOS;

/l ru– ru – укажет на языковую локаль системы, которая будет использоваться, т.е. на русскую. Если всё проходит без ошибок, пропускайте абзац.

  • выполняем последовательно следующие команды:

Перезагружаемся в Windows 10 на жёстком диске и проверяем.

Возможные ошибки

Администратора здесь могут подстерегать некоторые ошибки. Среди них наиболее часто появляются:

  • BFSVC Error: Can not open the BCD template store. status – [c000000f] –
    нужно проверить вводимые команды и путь к хранению системных файлов Windows; иногда ошибка появляется из-за неправильного указания языковой локали;
  • BFSVC Error: Error copying boot files from Last Error = 0x570 – ошибка является следствием самого явления, что Windows не загружается. Вероятно, плохие сектора появились не только в разделе загрузки EFI, но и на диске с системой; прогоните жёсткий диск утилитой chkdsk.exe тут же из консоли командой

где с – диск с системой

  • Отказано в доступе – причин на то множество: от наличия плохих секторов до неверно выставленного режима загрузки (стоит Legacy вместо UEFI; нужно – только UEFI) с флешки. Однако. UEFI не был бы UEFI, если бы всё проходило вот так гладко: то, что раздел EFI не подпускает к своим файлам – это, скорее закономерность, чем исключение. Так что, если в доступе вам отказано, я советую вам просто сначала удалить сам раздел EFI (а он такой нам больше не нужен), воссоздать его заново с единственно необходимой для его работы директорией, а затем уже положиться на ремонтную bootrec, позволив ей завершить работу. Так что, если необходимость возникла, продолжаем работу с момента появления отказа команде
Читайте также:  Linux кто нагружает диск

Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.

Самое главное здесь – не промахнитесь с разделом/лами и не удалите тот из них, в котором хранятся данные Windows и ваша информация. Итак, раз bootrec.exe попасть в нужный нам раздел не смогла, раздел убираем . Для этого нам будет нужно вернуться в diskpart.exe, снова определиться с разделами и выбрать тот, что на 100 Мб. Возвращаемся в ремонтную консоль:

И начинаем заново:

можно проверить результат:

У нас осталось некоторое нераспределённое пространство, в котором мы заново создаём удалённый только что раздел:

Но при попытке присвоить применявшуюся ранее букву Y, консоль ответила отказом (надо было её перезапускать). Я присвою разделу букву Z:

Подготовим почву для bootrec.

  • копируем туда файлы из состава среды EFI из папки установленной Windows (С – буква диска с системными файлами Windows):
  • пусть bootrec с вашей флешки проверит диски на предмет системных файлов Windows:

Никуда они не денутся, если вы их случайно не удалили, или они не попали в зону бэд-секторов. Остаётся…

  • … заставить написать “правильный” файл BCD и прочие “конфиги”:

Выключаем компьютер, флешку вынимаем и включаем машину. Ждём появления Windows. Дайте ей загрузиться до Рабочего стола и проверяйте, всё ли на месте.

Ошибка вновь появляется…

Не беспокойтесь. Если вы вникли в процесс, и все команды вводили осознанно и корректно, ситуация, скорее всего, уже исправлена. Просто следует учесть особенности своеобразных фильтров безопасности, принятых для режима UEFI, и не путать буквы дисков. Их можно пройти, проделав такие шаги:

  • Разбудите BIOS:
    – снимите крышку боковую компьютера или нижнюю ноутбука
    – отключите жёсткий диск (отключив оба шлейфа на “стационарнике” или вынув из разъёмов на ноутбуке)
    – включите машину, дождавшись ошибки загрузки;
    – выключив компьютер, подключите жёсткий заново и снова, включив компьютер, проверьте;
  • проверьте UEFI меню платы компьютера на предмет правильной очерёдности разделов загрузки; первым должен стоять, как вы поняли, именно EFI;
  • убедитесь, что метка Загрузочный стоит только напротив EFI раздела, и ни у какого больше. Проверить и исправить ситуацию из Windows PE, к сожалению, не получится. И для этого придётся воспользоваться дополнительными инструментами в виде загрузочной флешки. Сделайте это любым удобным вариантом из статьи Метка диска Загрузочный: как добавить или удалить?
Читайте также:  Synology приложения для windows

BootDev

Создание загрузочных дисков и прочие полезные мелочи

Страницы

2018-11-16

Загрузочная флешка с UEFI Shell

Содержание

Подготовка Флешки

Можно обойтись и без форматирования. Главное чтобы на флешке был раздел отформатированный в файловую систему FAT32. Замечу, что в Windows 10 последних редакций, отсутствует ограничение на создание только одного раздела на USB-флешках.

Для других версий Windows, несколько разделов на флешке можно создать с помощью программы BOOTICE. Подробнее об этом можно почитать по этой ссылке.

Скачиваем UEFI Shell

Скачать Clover можно по тут https://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/. На странице по ссылке качаем последнюю версию архива.

Загрузочная Флешка с Shell.efi

Открываем флешку, после подготовки. Копируем скачанный файл Shell.efi по пути /EFI/boot. Последовательность данных каталогов нужно создать.

Переименовываем скопированный файл в boot * .efi. Вместо звездочки вписываем архитектуру скачанного файла x64 , ia32 , arm или aa64 . Должно получиться что то подобное boot x64 .efi, boot ia32 .efi, boot arm .efi или boot aa64 .efi.

Можно сделать и универсальный вариант. Разместить Shell.efi файлы всех архитектур, переименовав их в соответствующие имена. В таких условиях флешка будет грузиться на любой из архитектур, файлы которых расположены в папке /EFI/boot.

Проверим флешку в виртуальной машине.

Загрузочная Флешка с Clover

Открываем скачанный ISO-образ с загрузчиком. Для этих целей хорошо подойдет 7-Zip.

Извлекаем содержимое ISO-образа в корень флешки.

Проверяем на виртуальной машине.

Загрузочная Флешка с rEFInd

Открываем скачанный архив с загрузчиком. Для этих целей хорошо подойдет 7-Zip.

Извлекаем содержимое архива в корень флешки.

Проверяем на виртуальной машине.

Для Чего Нужна Флешка с Загрузчиком

Загрузочная флешка с Clover или rEFInd может помочь при различных ситуациях.

Ситуация 1 . когда у вас слетел основной загрузчик на жестком диске, и вы не можете загрузить операционную систему. Загрузчик на флешке автоматически определит все имеющиеся операционные системы, загрузочные устройства, и вы сможете корректно загрузить операционную систему и восстановить основной загрузчик.

Ситуация 2 . У вас был установлен дистрибутив Linux, с загрузчиком GRUB2. Вы решили установить второй операционной системой Windows. После установки загрузчик Windows перезаписал загрузчик GRUB2 и установленный Linux больше не доступен для загрузки. В данной ситуации загрузившись с флешки с загрузчиком, вы сможете загрузить установленный Linux, и уже через него вернуть загрузчик GRUB2 обратно. GRUB2 в свою очередь определит установленный Windows, и позволит грузить обе операционные системы.

Ситуация 3 . На используемой материнской плате отсутствует UEFI Shell. А вам он необходим, для установки специального драйвера в автозагрузку (такое обычно делают на системах с процессорами Xeon для увеличения быстродействия), или добавления новой загрузочной записи.

Вопросы рассмотренные в данном материале: Как создать загрузочную флешку с UEFI Shell? Где скачать UEFI Shell? Как установить Clover на флешку? Как установить rEFInd на флешку? Как можно использовать загрузочную флешку с UEFI Shell?

В заключении приведу пару полезных ссылок. Описание командной оболочки UEFI Shell, смотрим тут. Решение проблемы загрузки ОС с помощью UEFI Shell, описано здесь. Загрузка и установка драйверов в UEFI Shell, рассмотрена тут.

Оцените статью