Bootx64 efi для windows 10

Восстановление 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, вот и все!

Читайте также:  Desktop windows manager 9027

Восстанавливаем запуск

Чтобы восстановить конфигурацию загрузчика (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).

Перезагружаемся, извлекаем все носители. И грузимся в обычном режиме. Если все сделано правильно, система начнет загрузку.

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

изменилось лишь пару пунктов. здесь указаны команды после каждой команды не забываем нажимать Enter

запускаем командную строку от имени Администратора

diskpart

list disk

select disk X (где X – номер флешки из списка, )

clean

create partition primary

select partition 1

active

format quick fs=fat32 label=”Win7UEFI”

assign

exit

Скопировать содержимое диска или образа на флешку.

Возможно просто распаковать iso образ любым архиватором.

Копируем папку boot которая находиться по пути (Y:\efi\microsoft\) в папку efi (Y:\efi\) (где Y – буква диска флешки)

Также нужно скопировать файл bootx64.efi.

Взять его можно с Windows 7 установленной на любом пк с помощью команды.

xcopy C:\Windows\boot\efi\bootmgfw.efi Y:\efi\boot\bootx64.efi (где Y – буква диска флешки)

на вопрос нажать ( F ).

Если вы являетесь владельцем иной операционной системы то берем из файла install.wim который лежит в папке Sources.

открыть его можно архиватором 7.zip.

Откроется окно архиватора в нем папки под цифрами от 1 до 9.

Заходим в последнею папку далее по пути Windows\boot\efi\bootmgfw.efi

Копируем данный файл в Y:\efi\boot\ и переименовываем в bootx64.efi (где Y – буква диска флешки)

не забудь сохранить к себе на стену в соц сети

Что такое файл EFI?

Файлы EFI являются загрузчиками UEFI и вот как они работают

Файл с расширением EFI является файлом интерфейса расширяемого микропрограммного обеспечения.

Файлы EFI являются исполняемыми файлами загрузчика, существуют в компьютерных системах на основе UEFI (Unified Extensible Firmware Interface) и содержат данные о том, как должен происходить процесс загрузки.

Файлы EFI можно открывать с помощью EFI Developer Kit и Microsoft EFI Utilities, но, честно говоря, если вы не разработчик оборудования, мало смысла в «открытии» файла EFI.

Где находится файл EFI в Windows?

В системе с установленной операционной системой диспетчер загрузки, существующий как часть прошивки UEFI материнской платы, будет иметь расположение файла EFI, хранящееся в переменной BootOrder . Это может быть еще один менеджер загрузки, если у вас установлен мультизагрузочный инструмент, но обычно это просто загрузчик EFI для вашей операционной системы.

В большинстве случаев этот файл EFI хранится в специальном системном разделе EFI. Этот раздел обычно скрыт и не имеет буквы диска.

Например, в системе UEFI с установленной Windows 10 файл EFI будет расположен в следующем месте в этом скрытом разделе:

Вы увидите файл bootx64.efi , если у вас установлена ​​64-разрядная версия Windows, или файл bootia32.efi , если вы используете 32-разрядную версию. , Смотрите 64-битные и 32-битные: в чем разница? подробнее об этом, если вы не уверены.

На некоторых компьютерах Windows файл winload.efi действует как загрузчик и обычно хранится в следующем месте:

Если системный диск отличается от C или Windows установлена ​​в папку, отличную от Windows , то точный путь на вашем компьютере, конечно, будет отличаться соответственно.

В системе без установленной операционной системы с пустой переменной BootOrder менеджер загрузки материнской платы ищет в предопределенных местах файл EFI, например на дисках в оптических дисках и другие связанные СМИ. Это происходит потому, что, если это поле пустое, у вас не установлена ​​работающая ОС, и, вероятно, вы собираетесь установить одну из следующих.

Читайте также:  Mfp m177fw windows 10

Например, на установочном DVD-диске Windows 10 или образе ISO существуют следующие два файла, которые менеджер загрузки UEFI вашего компьютера быстро найдет:

Как и в случае с установочным диском Windows и указанным выше путем, диск будет отличаться в зависимости от источника мультимедиа. В этом случае D – это буква, назначенная моему оптическому приводу. Кроме того, как вы могли заметить, на установочный носитель включены как , так и 64-разрядные и 32-разрядные загрузчики EFI. Это связано с тем, что установочный диск содержит оба типа архитектуры в качестве параметров установки.

Где находится файл EFI в других операционных системах?

Вот некоторые местоположения файлов EFI по умолчанию для некоторых операционных систем, отличных от Windows:

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

Загрузчик EFI для Linux будет отличаться в зависимости от установленного дистрибутива, но вот несколько:

Все еще не можете открыть или использовать файл?

Обратите внимание, что есть некоторые типы файлов, которые очень похожи на «.EFI», которые у вас могут быть, и поэтому вы можете открыть их с помощью обычной программы. Это наиболее вероятно, если вы просто неправильно прочитали расширение файла.

Например, у вас действительно может быть файл факсимильного документа eFax EFX, который не имеет ничего общего с файлами расширяемого интерфейса микропрограммы и является документом, который открывается службой факса. Или, может быть, ваш файл использует расширение .EFL и является файлом с внешним форматом или зашифрованным файлом Encryptafile.

Если вы уверены, что можете открыть файл, который у вас есть, то он, скорее всего, не в том формате, который описан на этой странице. Вместо этого дважды проверьте расширение файла для вашего файла и исследуйте программу, которая может открыть его или преобразовать в новый формат.

Вы можете даже попробовать загрузить его в службу конвертации файлов, например Zamzar, чтобы узнать, распознает ли он тип файла и предложить формат преобразования.

Уроки эникейщика: загрузочная флешка UEFI, Часть 1

Ранее мы ознакомились с существующими методиками загрузки персональных компьютеров на основе BIOS с флеш-карт памяти, возможные при этом проблемы и способы их обхода.

Однако BIOS, как известно, давно устарел, и не используется в современных компьютерах. На смену ему пришёл более современный и простой в использовании UEFI (не слушайте тех, кто считает UEFI надстройкой над BIOS — это в корне неверно, если только не считать BIOS’ом прошивку материнской платы как таковую, что тоже неверно).

Избавляясь от лишнего

Как известно, главной проблемой при загрузке BIOS-компьютера с флешки являются загрузочные записи. Это небольшие программы, записанные в строго определённых местах накопителя, причём не в виде файлов, а просто в виде множества следующих друг за другом байтов. Эти программки в большинстве случаев не делают ничего полезного, вся их работа заключается в запуске друг друга, а в конце концов — полноценной программы-загрузчика, оформленной в виде нормального файла (хотя бывают и загрузчики, целиком умещающиеся в эти записи).

В UEFI от загрузочных записей на самом накопителе предпочли избавиться, перенеся место хранения путей к загрузчикам в накопитель типа NVRAM на материнской плате. Туда же перенесён и минимально необходимый код для поддержки файловой системы. Поэтому UEFI запускает загрузчик из файла сразу, и не нуждается в «костылях».

Необходимый минимум

Итак, что необходимо для создания универсальной загрузочной флешки для UEFI-компьютеров? Для начала — определиться с архитектурами процессоров этих компьютеров. UEFI является кроссплатформенным, и с одинаковым успехом может использоваться и на старой, как мир, x86 , и на бьющейся в агонии IA-64 , и на завоёвывающей всё большую популярность ARM . Нельзя, к тому же, забывать, что 32-битные и 64-битные версии x86 и ARM являются, вообще-то, разными архитектурами, программы для которых несовместимы друг с другом.

Точнее, односторонне совместимы (32-битный софт заработает на 64-битном процессоре, но не наоборот), однако если программа зависима от функций среды, в которой она исполняется, то совместимость возможна только через программную «прослойку» наподобие WoW64 из Windows. В UEFI такой прослойки не предусмотрено, поэтому все запускаемые в нём загрузчики и драйверы должны быть созданы для той же архитектуры, для которой собран он сам.

Читайте также:  Как узнать версию efi mac os

К чему это всё? К тому, что для создания более-менее универсального загрузочного накопителя для UEFI не удастся обойтись одним загрузчиком, потребуется несколько , по одному для каждой процессорной архитектуры, с которой планируется работать. Путь к файлу загрузчика может быть указан явно в NVRAM, но так же поддерживается и старое доброе указание устройства с загрузчиком, в этом случае UEFI заглядывает в папку EFI\Boot , на этом устройстве, где ищет файл загрузчика с заранее заданным именем, причём для каждой архитектуры предусмотрено своё имя. Вот они:

bootia64.efi для IA-64 (серверы на процессорах серии Itanium)

bootaa64.efi для ARM 64-bit (смартфоны, планшеты, в ближайшем будущем предполагаются ПК и ноутбуки)

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

Поскольку UEFI работает напрямую с файлами, которые лежат в разделе с файловой системой, он должен эту самую систему понимать. Их существует множество разных, и согласно стандарту, понимать UEFI обязан, как минимум, одну: FAT32 . На практике понимают так же и более старые версии FAT, а вот более новый exFAT, он же FAT64, не понимают. Кроме того, производитель материнской платы волен встраивать драйверы и для любых других ФС, к примеру, Asus добавляет драйвер NTFS. Но если ориентироваться на универсальность, то наша флешка должна быть отформатирована именно в FAT32.

Как вы, вероятно, знаете из первой части статьи про загрузочные флешки BIOS , на флешках могут быть таблицы разделов MBR , GPT , или вообще никакой. Изначально предполагалось, что устаревший стиль MBR не будет поддерживаться в UEFI, но по факту поддерживаются все три варианта. В случае с GPT раздел с загрузчиками должен быть помечен как EFI-загрузочный , это может сделать любой современный менеджер разделов. В случае с MBR этот раздел должен быть, желательно, первым или последним , и помечен Активным . Если таблицы разделов нет, то дополнительных движений вовсе не потребуется.

Таким образом, можно сделать флешку, пригодную для загрузки как в BIOS, так и в UEFI. Нужно просто приготовить её для BIOS по варианту «как жёсткий диск» с любым желаемым загрузчиком, при этом первый (и желательно — единственный) раздел должен быть отформатирован в FAT32. Собственно, и для BIOS рекомендуется форматировать этот раздел в FAT32, поэтому никто ничего не теряет.

Далее достаточно просто положить EFI-загрузчики в куды следует. Конечно же, программы и ОС для работы в UEFI должны на флешке присутствовать и запускаться из используемого загрузчика, иначе толку от такой загружаемости будет мало.

Такой вариант позволит покрыть более 90% компьютеров с BIOS и чуть менее 100% компьютеров с UEFI . Возможно, ещё крохотный процент UEFI позволит покрыть флешка с GPT , все остальные стоит превентивно записать в кривые реализации, требующие не особой флешки, а обновления прошивки материнской платы.

Важные нюансы

Слишком хорошо и просто это всё выглядит, правда? Должна же быть причина, по которой столько людей, кричащих на каждом углу о трудностях загрузки в UEFI, не смогли с ним совладать, верно же?

Этих причин две. Первая — неработоспособность привычных программ и ОС для BIOS . Проблема решается включением имеющегося в UEFI модуля эмуляции BIOS, но во многих дешёвых ноутбуках он отсутствует уже сейчас, а через пару лет его грозятся вовсе убрать из стандарта , то есть, его перестанут встраивать в большинство новых компьютеров. Реальное решение — искать альтернативы привычным инструментам. Или создать альтернативный эмулятор. Это не шутка, я серьёзно

Вторая причина — Secure Boot , протокол защищённой загрузки , не позволяющий запускать что попало. В следующей части мы рассмотрим доступные способы совладать с этой технологией, чтобы она не доставляла неудобств, даже будучи включённой.

На этом пока всё. Не забудьте поставить лайк и подписаться на канал.

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