Boot from efi file windows 7

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав? Я обещал "самое...

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?

Я обещал «самое краткое руководство». Вот оно:

  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному «пути по-умолчанию», где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Как делать не надо

Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.

Не надо лезть в NVRAM и трогать efivars

Наиболее «популярная» процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика. После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры. После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами. Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок «исполняемого файла EFI», позволяющий прошивке его запускать без внешнего загрузчика.

При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню. Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов. Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.

Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI. Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на «Маках», команда bcfg утилиты uefi shell (запускается из-под UEFI, «на голом железе» и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, «в настройках BIOS»).

За всеми вышенаписанными «многобуков» вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) «кирпичил» свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию «зайти в настройки».

Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции «редактировать существующую запись». Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную. При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке. Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:

efibootmgr -c -L "Archlinux (debug)" -l 'EFIarchlinuxvmlinuz-linux' -u "root=/dev/mapper/vg1-lvroot rw initrd=EFIarchlinuxinitramfs-linux.img systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M enforcing=0"

Не надо использовать GRUB

Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию

grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub

Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой

bootctl install --path=/boot

Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.

«Самое краткое руководство» — чуть более подробно

Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.

Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI

Что такое «EFI-раздел»? В теории, он должен иметь особый тип «EFI System» (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).

Пункт 3: «Скачиваем из интернета любой UEFI-загрузчик». Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.

Пункт 4: «Настроить конфиг». Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог «loader», а в нём файл «loader.conf» с тремя строчками (привожу свои):

default     archlinux
timeout     10
editor      1

Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.

Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:

title          Arch Linux
linux          /efi/archlinux/vmlinuz-linux
initrd         /efi/archlinux/initramfs-linux.img
options        root=/dev/mapper/vg1-lvroot rw initrd=EFIarchlinuxintel-ucode.img

Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.

Другие загрузчики

systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.

rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.

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

Различные неочевидные последствия

Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.

Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.

На чтение 4 мин. Просмотров 4.6k. Опубликовано 25.06.2019

Содержание

  1. Файлы EFI являются загрузчиками UEFI и вот как они работают
  2. Где находится файл EFI в Windows?
  3. Где находится файл EFI в других операционных системах?
  4. Все еще не можете открыть или использовать файл?

Файлы 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 будет расположен в следующем месте в этом скрытом разделе:

   EFI  boot  bootx64.efi  

или же

   EFI  boot  bootia32.efi  

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

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

  C:  Windows  System32  Boot  winload.efi  

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

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

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

  D:  efi  boot  bootx64.efi  

а также

  D:  efi  boot  bootia32.efi  

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

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

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

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

   System  Library  CoreServices  boot.efi  

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

   EFI  SuSE  elilo.efi  
EFI RedHat elilo.efi
EFI ubuntu elilo .efi

Вы поняли идею.

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

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

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

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

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

Установка Windows 7 на новый ноутбук или компьютер с интерфейсом UEFI вместо BIOS. Интеграция драйверов USB 3.0 и NVMe в дистрибутив Windows 7. Конвертация SSD из GPT в MBR и наоборот MBR в GPT

Привет друзья! В данном разделе, находятся статьи, описывающие процесс установки Windows 7 на новые ноутбуки и компьютеры с интерфейсом UEFI вместо простого BIOS. Сложность в том, что Windows 7 из коробки не поддерживает UEFI и для установки семёрки на новый ноутбук нам нужно включать в БИОСе совместимый режим CSM или Legacy и отключить Secure Boot. А что делать, если в вашем БИОСе не отключается Secure Boot, а режимов CSM или Legacy просто нет, а есть только UEFI? Ещё на новых ноутбуках установлены жёсткие диски стандарта GPT, а не MBR. И вообще, вместо HDD на вашем ноуте может быть SSD-накопитель, а они существуют обычного форм-фактора 2.5 интерфейса SATA AHCI, а могут M.2 SATA, поддерживающие интерфейс M2 PCI-E 3.0×4 с протоколом передачи данных NVMe. Короче, весь этот ультрасовременный зоопарк не поддерживает старушка Windows 7 и нам на сайте постоянно задают вопросы на эту тему, как сделать это или то, но всё-таки «заинсталить семёру» на новый ноут. Поэтому мы и создали данный раздел со статьями, в которых всё понятно объяснено. Конечно мы написали не про всё, что вас интересует, поэтому задавайте ваши вопросы в комментариях и мы на них ответим.

  1. Как установить на ноутбук с Windows 10 или 8.1 (БИОС UEFI) вторую операционную систему Windows 7 не конвертируя жёсткий диск в MBR или как создать диспетчер загрузки на флешке
  2. Как установить Windows 7 на новый ноутбук, на котором присутствуют только порты USB 3.0 и отсутствует оптический привод! Как после установки системы скачать и установить драйвера, ведь сетевой адаптер и порты USB 3.0 работать у вас не будут
  3. Как установить Windows 7 на компьютер с UEFI без поддержки CSM с помощью FlashBoot или интеграция драйверов USB 3.0, NVMe и AHCI/RAID в дистрибутив Windows 7 при помощи Dism
  4. Как установить Windows 7 на ПК с GPT-диском и включенным UEFI (самый старый способ)
  5. Сборки Windows 7 All in One с интегрированными драйверами USB 3.0/3.1 и NVMe от Sergei Strelec
  6. Как установить Windows 7 вместо Windows 10, 8.1 на новом ноутбуке
  7. Как установить Windows 7 второй системой на ноутбук ASUS с Windows 8.1, 10
  8. Как установить на новый ноутбук HP ENVY и БИОСом UEFI вторую операционную систему Windows 7 на диск GPT
  9. Как установить Windows 7 на новый ноутбук Acer с предустановленной Windows 10 или 8.1
  10. Создание установочной флешки UEFI с Windows 7 программой WinSetupFromUSB
  11. Создание загрузочной флешки UEFI тремя способами
  12. Создание загрузочной флешки UEFI с Windows 7, Windows 8, а также Windows 10
  13. Установка Windows 7 и Windows 8.1 на диск GUID (GPT) компьютера с материнской платой GIGABYTE с включённым UEFI
  14. Как переустановить Windows 8.1 на ноутбуке
  15. Как отключить Secure Boot на новом ноутбуке с интерфейсом UEFI
  16. Интеграция драйверов USB 3.0 в дистрибутив Windows 7 при помощи Dism
  17. Интеграция драйверов USB 3.0-3.1 в дистрибутив Windows 7 при помощи Win7USB3
  18. Как создать загрузочную флешку и для UEFI, и для BIOS Legacy с поддержкой файлов размером больше 4 Гб
  19. Как создать установочную UEFI флешку NTFS и установить с неё Windows 8.1 на диск GPT и ещё на диск MBR
  20. Создание мультизагрузочной UEFI флешки с файловой системой NTFS
  21. БИОС UEFI
  22. Установка Windows на данный диск невозможна. Выбранный диск имеют стиль разделов GPT
  23. Установка Windows на данный диск невозможна. На данном диске находится таблица MBR-разделов

Друзья! Если на вашем ноутбуке установлена Windows 10 или 8.1, то вы можете преобразовать ваш жёсткий диск или SSD из GPT в MBR без потери данных. После этого Windows 10 будет загружаться, активация не слетит, все программы останутся работоспособными, затем вы сможете установить Windows 7 второй или даже первой системой.

  1. Как преобразовать GPT в MBR без потери данных или как произвести конвертацию ноутбука с БИОСом UEFI из GPT в MBR и чтобы операционная система Windows 8.1 осталась работоспособной
  2. Как преобразовать GPT в MBR
  3. Как преобразовать GPT в MBR (и наоборот) без удаления данных бесплатной программой AOMEI Partition Assistant Standard Edition
  4. Как преобразовать жёсткий диск GPT в MBR, с установленной Windows 10 при помощи бесплатной программы AOMEI Partition Assistant. На первый взгляд это невозможно, ведь в этом случае нужна профессиональная версия программы — AOMEI Partition Assistant Professional
  5. Как преобразовать MBR в GPT без потери данных или как произвести конвертацию ноутбука с БИОСом UEFI из MBR в GPT и чтобы операционная система Windows 8.1 осталась работоспособной
  6. Самый простой способ конвертации жёсткого диска вместе с установленной Windows 10 из MBR в GPT! Процесс происходит прямо в работающей ОС за считанные секунды. Работоспособность операционной системы при этом сохраняется

     Рекомендуем другие статьи по данной теме

Заметили ошибку

Выделите и нажмите Ctrl+Enter

Комментарии (11)

На чтение 12 мин Просмотров 1.1к. Опубликовано 24.10.2020

Содержание

  1. Как загрузить с флешки или диска ноутбук HP Pavillion
  2. Преимущества UEFI
  3. Разница между UEFI и БИОС
  4. Возможность поддерживать разметку GPT;
  5. Модульная архитектура;
  6. Встроенный загрузочный менеджер;
  7. Использование UEFI для загрузки операционной системы с USB-носителя
  8. Порядок выполнения:
  9. Установка Windows UEFI
  10. Загрузка UEFI и подготовка к установке
  11. Устранение ошибки, возникающей в Windows 8.1
  12. Как отключить UEFI
  13. Алгоритм отключения UEFI:
  14. Как узнать, включен ли режим безопасного запуска

  • Просмотров: 528 732
  • Автор: admin
  • Дата: 13-01-2014

попадаю в «старт меню», теперь уже нажимаю F-9 Boot Device Options (изменение настроек загрузки),

попадаю в меню загрузки, но моей флешки Kingston там нет, хотя она уже подсоединена к ноутбуку (флешка точно загрузочная).

Тоже самое происходит и с загрузочным диском Windows 7.
Вот думаю и «чудо враждебной техники», тогда поступлю по другому, изменю приоритет загрузки прямо в БИОС UEFI, перезагружаю ноутбук, далее жму при загрузке опять ESC, попадаю в «старт меню», теперь уже нажимаю F-10 BIOS Setup

и вхожу в БИОС UEFI и выбираю опцию System Configuration , а в ней вкладку Boot Options , захожу в неё.

Как видим параметр безопасной загрузки Secure Boot в БИОС включен,

отключаю его, ставлю в положение «Disabled», а опцию «Legacy support» перевёл в положение «Enabled», выходит предупреждение, выбираю Yes,

затем жму F-10 (сохраняю настройки, жму Yes и перезагружаюсь),

после перезагрузки выходит вот это окно, с сообщением
A change to the operating system secure boot mode is pending. Please enter the pass code displayed below to complete the change. If you did not initiate this request, press the ESC key to continue without accepting the pending change

Как загрузить с флешки или диска ноутбук HP Pavillion

а после перезагрузки жмём на ESC, попадаем в «старт меню», нажимаем F-9 Boot Device Options (изменение настроек загрузки),

попадаем в меню загрузки и здесь уже присутствует наша флешка Kingston, выбираем её и жмём Enter, наш ноутбук загружается с флешки.

UEFI boot – это программа нового поколения, которая ускорит загрузку компьютера и она по структуре напоминает BIOS.

BIOS – это предпрограмма (код, вшитый в материнскую плату компьютера). Он запускается до загрузки операционной системы, проверяя работоспособность компьютера и отладку оборудования (драйверов). UEFI, в отличие от привычного BIOS-a, представляет собой графический интерфейс, гибко запрограммированный и действительно позволяющий быстрее запустить ОС.

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

Преимущества UEFI

  • ускорение загрузки ОС;
  • поддержка русского языка;
  • нет проблем с применением жестких дисков большого объема (2 Тб и выше);
  • поддерживание мультизапуска операционных систем, их правильная организация;
  • наглядный контроль состояния частей ПК ;
  • удобный и понятный для человека визуальный интерфейс;
  • микрокод программы содержит большую защиту от вирусов, чем BIOS;
  • подобно полноценным операционным системам имеет собственный софт и сетевое хранилище.

Что касается UEFI Secure Boot, то это заранее предусмотренный разработчиками способ защиты от запуска нелицензионного кода. Он не позволяет вирусным программам заменить загрузчик, а при использовании Microsoft – спасает от пиратской версии ОС. Однако чаще всего данный режим отключен по умолчанию, или же по некоторым причинам пользователям приходится самостоятельно его отключать.

В настоящее время UEFI представляется как отдельная часть стандартного BIOS-а, но уже выпускаются компьютеры с материнскими платами, где все наоборот – BIOS считается дополнительным модулем к UEFI.

Разница между UEFI и БИОС

Возможность поддерживать разметку GPT;

Разметка GPT была создана специально , чтобы было менее проблематично работать с дисками объемом 2 Тб и больше . Кроме этого , можно при первом настраивании операционной системы разбить диск на любое количество разделов, что ранее было невозможным. Предыдущий способ разметки – MBR не совместим с uefi и работа с ней возможна только при наличии дополнительного расширения CSM (Compatibility Support Module).

Модульная архитектура;

Модуль shell ( есть не на всех ноутбуках) “разрешает” управлять приложениями юзера прямо в режиме UEFI. Как уже упоминалось, UEFI похожа на самостоятельную операционную систему, даже с поддержкой сетевых драйверов. Спецификация программки «разрешает» использовать драйвера для UEFI при помощи ОС, например , если в основной операционной системе отсутствует или не работает сетевой драйвер.

Встроенный загрузочный менеджер;

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

Secure Boot не отменяет такой возможности для пользователей Windows 8. На всех устройствах есть возможность отключить данный режим, кроме планшетов на ARM, где Win 8 была установлена в качестве стандартной ОС. Защищенный режим не позволяет использовать неподписанный код даже при выполнении операционной системы, поэтому вредоносные трояны не проникнут ни в Windows, ни в Linux. Однако , если злоумышленник имеет физический доступ к ПК , он практически всегда может заменить лицензионные ключи на свои.

Использование UEFI для загрузки операционной системы с USB-носителя

Порядок выполнения:

  • Зайти в BIOS и в пункте Secure Boot (защищенная загрузка) выбрать Disable (отключено).

  • В пункте OS Mode Selection (выбор операционной системы) выбрать Uefi и Legacy boot (разрешить загрузку).

  • После этого можно перезапустить BIOS – загрузка с USB активируется.

Установка Windows UEFI

Установка windows через BIOS кардинально отличается от установки через UEFI. Первым делом необходимо создать загрузочную флешку. Одна из самых подходящих для таких целей программ – утилита Rufus 1.4.6. Она бесплатная, не требует установки и поэтому не занимает много места на жестком диске или съемном носителе. Что важно , она подходит для GPT-разметки жесткого диска и может работать со спецификацией UEFI. Подходящее обновление утилиты можно скачать на официальном веб-сайте разработчиков.

Запускаем утилиту и указываем название флешки, предназначенной для установки(предварительно нужно удалить важные файлы, очистив память). В пункте «File system» (файловая система) выбираем FAT 32, далее в качестве схемы раздела – GPT (GUID Partition Table), системный интерфейс – UEFI. Поставьте галочку у пункта «Create a bootable disk using:» (создать загрузочное устройство с использованием…), выберите рядом ISO Image и укажите полный путь к ISO-образу операционной системы Windows.

После введения всех описанных параметров можно нажимать на « Start » и программа самостоятельно подготовит флеш-накопитель к загрузке ОС. Время, затраченное на этот процесс, зависит от быстродействия вашего компьютера и от поколения USB.

Если работа утилиты Rufus вас не устраивает или появляются проблемы с загрузкой UEFI, можно использовать абсолютно аналогичную программу, которая называется WinSetupFromUSB.

Скачивание также доступно на сайте производителя, а ее название (в переводе «Загрузка Windows с USB») говорит само за себя. Загрузочная флешка создается полностью аналогично, так как программы имеют практически одинаковый интерфейс.

Загрузка UEFI и подготовка к установке

Настройка UEFI проводится подобно настройке БИОСа. Перезапустите ПК , и как только он начнет загружаться, нажмите клавишу F2 ( или Delete, это зависит от того , какая установлена материнская плата, проверить можно только опытным путем ). Откроется меню управления.

Нажмите кнопку F7 и выберите подраздел «Дополнительно». Во вкладке «boot» или «startup» (загрузка) нужно выбрать функцию «поддержка USB» и установить там пункт « Full initialization» ( полная инициализация).

Во вкладке «безопасная загрузка» (Secure Boot) следует отметить пункт «Windows uefi mode» (Режим Виндовс UEFI).

Во вкладке «Загрузка» выбирается «Compatibility Support Module» (модуль поддержки совместимости) и отмечается как «enabled» (доступный). Не будет лишним кликнуть на добавочные ссылки и найти строчку «настройки загрузочных устройств», где выбрать « only uefi» ( только uefi).

Эта предосторожность защищает от случайного использования носителей, которые не поддерживают вашу спецификацию. В записи «загрузка с носителей ( или устройств хранения)» нужно отметить « both , uefi first » ( оба , но uefi первым ).

Теперь вернитесь назад в основное меню и проверьте приоритет загрузочных устройств. Сначала выбирается флеш-накопитель, затем жесткий диск. Сохраните указанные параметры нажатием кнопки F10, потом – Enter и подождите, пока компьютер загрузится.

После выполнения всего вышеперечисленного можно установить операционную систему привычным для вас способом.

Устранение ошибки, возникающей в Windows 8.1

Если после установки windows или после обновления версии до 8.1 в правом углу монитора появляется уведомление о неправильной регулировке secure boot (защищенной загрузки).

На большинстве компьютеров неполадка решается заходом в меню uefi и включением режима «Secure boot» в БИОСе.

В том случае , когда в вашей версии BIOS нету пункта включения/отключения безопасной загрузки, необходимо скачать с официальной веб-страницы Microsoft обновление для версии 8.1. Оно находится там под номером КВ 2902864 и действует как для 32-х битных систем, так и для 64-битных.

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

Как отключить UEFI

Если у вас не Windows 7-8-10, а XP или Ubuntu, режим UEFI может вызвать проблемы при запуске ОС с диска или флеш-карты. Лучшим решением будет отключить данный режим.

Алгоритм отключения UEFI:

  • Зайдите в БИОС компьютера. Если планируется отключение UEFI в Виндовс 8 или 8.1, можно в меню «Пуск» нажать на «Перезагрузить» и выбрать в дополнительных опциях «Настройки ПО UEFI». Это наиболее удобный вариант — ноутбук запустится в требуемых настройках.

Если версия операционной системы не подходит, зайдите в БИОС при помощи F2 или Delete, как было предложено выше. Могут быть и другие варианты клавиш, чаще всего нужная кнопка указывается внизу начального экрана при включении ПК .

  • Откройте вкладку Boot (Загрузка), далее – Secure Boot (безопасная загрузка) и найдите подпункт « OS Type» (Вид операционной системы). Там необходимо указать « Other OS » ( другая ОС) и сохранить параметры нажатием клавиши F10. Иногда может понадобиться дополнительное отключение параметра безопасного запуска (положение «disabled»).

Описанная инструкция предназначена для ноутбуков марки ASUS, но для остальных марок алгоритм одинаков, разница в том, какую клавишу нужно нажимать во время старта компьютера.

Как узнать, включен ли режим безопасного запуска

Этот вариант подходит для восьмой и десятой версий Windows. Нажмите кнопки Windows+R и в полученном окне введите команду «msinfo32» ( без кавычек). Нажмите кнопку Enter.

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

При установке Windows® на компьютер на базе EFI необходимо включить режим EFI в микропрограмме ПК как при ручной, так и при автоматической установке. Необходимо загрузиться в 64-разрядном режиме EFI с предустановочного диска (64-разрядная версия среды предустановки Windows или 64-разрядная версия программы установки Windows в режиме EFI). Windows невозможно установить на компьютеры на базе UEFI, в режиме BIOS. (Дополнительные сведения о переключении режимов см. в документации по микропрограммам EFI.) Шаги, приведенные в данном разделе, служат только для справки и могут не соответствовать определенным командам вашего типа микропрограмм EFI.

После установки Windows можно выполнить дополнительные настройки образа. Образ Windows становится основным образом, который используется для развертывания на других компьютерах.

  1. Установите Windows, запустив установку Windows с записи загрузки EFI на компьютере-образце. Используйте оболочку EFI или меню микропрограммы Boot from file (Загрузка из файла), чтобы запустить загрузчик Windows EFI с установочного диска. Дополнительные сведения см. в документации по микропрограммам.

В оболочке EFI выберите устройство с установочным диском Windows и запустите приложение загрузки EFI. Предполагая, что fs0 — это устройство DVD, используйте следующие команды для компьютеров архитектуры x64:

Для компьютеров с архитектурой Itanium используйте следующую команду:

Если диспетчер загрузки EFI поддерживает загрузку с DVD-диска, то командная оболочка EFI не требуется. Можно загрузить DVD-диск непосредственно из диспетчера загрузки EFI.

При необходимости нажмите любую клавишу для загрузки с DVD-диска Windows. Windows устанавливается на компьютер.

Примечание.

При загрузке среды предустановки Windows с компакт-диска или DVD-диска можно пропустить приглашение «Нажмите любую клавишу для загрузки с компакт-диска или DVD-диска» и загрузиться напрямую в данную среду. Для архитектур x86 и AMD64 удалите файл Bootfix.bin из своего пользовательского образа среды предустановки Windows. Для компьютеров с архитектурой Itanuim при создании образа со средой предустановки Windows для своих клиентов используйте файл Efisys_noprompt.bin вместо файла Efisys.bin.

При выполнении ручной установки, следуйте подсказкам пользовательского интерфейса, чтобы завершить установку Windows.

При необходимости можно выполнить автоматическую установку, используя файл Autounattend.xml, хранящийся на USB-устройстве флэш-памяти или ином устройстве. Требования к файлу ответов для компьютеров на базе EFI см. в разделе Создание разделов жесткого диска на базе UEFI с помощью диспетчера установки Windows.

Примечание.

Некоторые платформы EFI поддерживают как микропрограммы UEFI, так и микропрограммы BIOS. На некоторых из этих систем не всегда ясно, какой вариант загрузки с DVD-диска стоит по умолчанию — EFI или BIOS. В этих системах может потребоваться использование командной оболочки EFI. Можно использовать стандартную запись загрузки микропрограмм для BIOS, если запись загрузки EFI не используются для запуска установки Windows. Если установка Windows запускается в режиме BIOS в комбинированной системе EFI/BIOS, то разделы ESP и MSR не создаются. После завершения установки Windows, используйте команду Diskpart чтобы проверить, что разделы ESP и MSR были созданы.

После того, как Windows установлена на компьютер, завершите остальные задачи по настройке.

Из командной строки запустите sysprep, чтобы подготовить образ Windows для создания образов и развертывания. Например:

После завершения работы программы Sysprep завершается забота компьютера.

Представим ситуацию, что по какой то причине, вместо обычной загрузки операционной системы, перед вами появилась командная строка UEFI Shell, с сообщением «Press ESC in 1 in seconds to skip staurtup.nsh or any other key to continue». Что делать?

Содержание

  • Возможные Причины
  • Что Делать в UEFI Shell
  • Вводим Команды
    • Настройка Консоли
    • Вывод Загрузочных Записей
    • Проверка Наличия EFI-раздела
    • Проверка Наличия EFI-приложения
    • Добавление Загрузочных Записей
  • Резюме

Возможные Причины

Загрузка в UEFI происходит согласно загрузочным записям. Если в BIOS данные записи представляли просто список имеющихся жестких дисков, то UEFI в данном плане действует по другой схеме. По умолчанию UEFI определяет все диски с таблицей разделов MBR и GPT, с последующим поиском на них разделов отформатированных в поддерживаемую файловую систему. Таковой является FAT(12, 16, 32). Данные диски попадают в загрузочный список. Приоритет загрузки данного списка можно конфигурировать через интерфейс UEFI, или с помощью командной оболочки UEFI Shell.

Каждая загрузочная запись может указывать либо просто на диск, в котором содержится соответствующий FAT-раздел, либо на конкретный *.efi файл. В первом случае UEFI будет искать загрузочный файл по умолчанию. Таковыми, к примеру, являются /EFI/boot/bootx64.efi, /EFI/boot/bootia32.efi, /EFI/boot/bootarm.efi или /EFI/boot/bootaa64.efi. В данном случае указаны файлы boot*.efi предназначены для разных архитектур ПК.

Исполняемые файлы boot*.efi выполняют запуск основного загрузчика операционной системы, таких как Windows Boot Manager, GRUB2, rEFInd, Clover, Xorboot и других. Загрузчик в свою очередь, уже выполняет запуск ядра операционной системы.

Учитывая все сказанное, можно сделать вывод. Раз перед нами красуется UEFI Shell, то значит подсистеме UEFI по какой то причине не удалось найти необходимый загрузочный *.efi файл. Он может быть поврежденным, или просто отсутствовать. Или как говорилось немного выше, может быть просто изменен приоритет загрузочных записей. И последний вариант, просто отсутствует необходимая загрузочная запись.

UEFI Shell — это инструмент управления загрузкой вручную. Если вы не инициировали запуск данной командной оболочки, то это означает, что нужно проверить загрузочную конфигурацию. И не обязательно делать это именно через командную строку. Сперва разбираемся с конфигурацией в меню UEFI. И если результатов нет, то переходим к следующему разделу.

Что Делать в UEFI Shell

Оказавшись в UEFI Shell, первым делом необходимо будет, на удивление, настроить цвета консоли и ее размер. Делается это для того, чтобы избавиться от нечитаемого синего текста на черном фоне. Изменение размера консоли, позволит отображать больше информации. Подправить внешний вид помогут команды cls и mode.

После настройки внешнего вида, необходимо будет просмотреть информацию о загрузочных записях. Эта информация позволит определить, какие загрузочные EFI-приложения должны грузиться, в какой последовательности, и на каких разделах они должны располагаться. Команда bcfg.

Последний шаг, это проверка вручную возможность загрузки с указанного EFI-приложения или диска.

Важным нюансом данного шага, является то, что необходимое EFI-приложение может присутствовать. Но может отсутствовать приложение которое запускается этим приложением. Или оно может быть повреждено.

К примеру, приложение /EFI/Boot/bootx64.efi, указанное в загрузочной записи, запускает /EFI/Microsoft/Boot/bootmgfw.efi, которое запускает приложение выполняющее запуск операционной системы с другого раздела /Windows/System32/Boot/winload.efi.

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

/efi/boot/boot*.efi

).

Для такой записи необходимо проверить наличие на диске EFI-раздела, и EFI-приложения расположенного в папке /EFI/boot/. В этом помогут команды map, cd и dir.

Вводим Команды

Все последующие операции будут производиться на виртуальной машине VirtualBox. На виртуальный диск которой, установлено две операционные системы, Windows 10 и Ubuntu 18.10. В качестве основного загрузчика используется GRUB2. Загрузчик Windows Boot Manager, так же присутствует, но не используется.

Не лишним будет, перед началом работы с UEFI Shell, ознакомиться с описанием данной командной оболочки, доступным по этой ссылке https://www.bootdev.ru/2018/05/EFI-Shell.html.

Настройка Консоли

Зададим параметры цвета фона и текста оболочки UEFI Shell. Оптимальными для читабельности, на мой взгляд, являются цвета — серый для фона, и черный для текста.

cls 7 0

Доступные варианты цветов можно посмотреть в справке по команде.

cls -? -b

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

А уже после, с указанием нужного разрешения.

mode 128 40

Вывод Загрузочных Записей

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

bcfg boot dump

Текущая загрузочная конфигурация состоит из трех записей.

Запись 0 — загрузка с дисковода.
Запись 1 — загрузка с жесткого диска.
Запись 2 — загрузка встроенной командной оболочки UEFI Shell.

Из присутствующих записей, только одна может осуществлять загрузку операционной системы, это запись под номером 1 (по факту вторая). Запоминаем номер диска и его тип из параметра DevPath.

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

Проверка Наличия EFI-раздела

Все распознанные дисковые (или блочные) устройства можно просмотреть командой map.

Вывод команды, представляет список точек монтирования FSx: и BLKx:, где x это номер.

Точки монтирования начинающиеся с префикса FS (File System), указывают на разделы или диски (в данном случае имеются в виду CD-диски) файловую систему которых подсистема UEFI смогла определить. То есть, с таким разделом/диском можно полноценно работать. Чтение, редактирование, создание, копирование, удаление, перемещение файлов и каталогов.

Точки монтирования начинающиеся с префикса BLK, это разделы или диски (в этом случае, подразумеваются любые диски), файловая система которых неизвестна UEFI. Или это точка монтирования многотомного диска, то есть она указывает на сам диск, а не на его разделы. Каждый раздел этого диска так же будет иметь свою точку монтирования.

Для понимания, ниже, на снимке экрана, отмечены все точки монтирования указывающие на диски (то есть доступ к данным начинается с первого сектора диска).

Все что не отмечено, это разделы отмеченных дисков.

Исключением из правила, что точки монтирования BLK не определяются, так же возможны. А возможны они если к примеру есть точка монтирования FS и BLK указывающие на один и тот же раздел/диск. Ниже, на снимке, отмечены таковые.

Теперь собственно ответ на вопрос, какой из указанных разделов или дисков может являться для подсистемы UEFI загрузочным, то есть может быть EFI-разделом. Таким может быть любая FSx: точка монтирования. Здесь логика проста, если UEFI может прочитать содержимое указанной точки монтирования, то значит возможен поиск загрузчика по умолчанию (тот что располагается в папке /efi/boot/).

В предыдущем разделе, при просмотре загрузочных записей, мы выяснили что загрузочным диском является диск

Sata(0x0, 0x0, 0x0)

. К данному диску относятся следующие записи, отмеченные на снимке ниже.

Понятной в плане файлового доступа, на уровне UEFI, является лишь запись — FS0:. Эта точка монтирования в данном случае, является загрузочным EFI-разделом (по крайней мере для подсистемы UEFI).

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

Проверка Наличия EFI-приложения

Определившись с разделом, который может выступать в качестве загрузочного, необходимо проверить наличие на нем соответствующих загрузочных файлов. Из прошлого раздела, мы выяснили, что в качестве такого может выступать раздел смонтированный под меткой FS0.

Для удобства восприятия, далее по тексту, метки точек монтирования, я буду называть дисками. По аналогии с дисками операционной системы Windows, буква после которой идет знак двоеточия. UEFI Shell в этом плане, как раз копирует, по своим повадкам в большей степени, именно командную оболочку Windows CMD.

Выполним переход на диск FS0.

FS0:

Приглашение ввода команд изменится, и будет отображать текущее ваше местоположение в файловой системе. На данный момент это корень диска FS0. Просмотрим его содержимое.

ls

В корне диска, присутствует только каталог EFI. Перейдем в данный каталог и посмотрим что в нем находится.

cd EFI
ls

Внутри каталога EFI находится три подкаталога Boot, Microsoft и ubuntu. Каталог Boot является в данном случае загрузочным по умолчанию. В нем располагаются загрузочные приложения boot*.efi, которые запускаются подсистемой UEFI автоматически. Просмотрим содержимое данного каталога.

ls Boot

Вывод команды показывает, что в каталоге Boot содержится три файла, один из которых bootx64.efi. Данный файл запускается подсистемой UEFI автоматически. Хочу обратить ваше внимание на цвета данных файлов, в выводе команды ls, они зеленые. Это говорит о том, что данные файлы являются исполняемыми, и их можно запустить вручную.

Если сейчас выполнить запуск файла bootx64.efi, то загрузится загрузчик GRUB2.

Bootbootx64.efi

Каталоги Microsoft и ubuntu, содержат файлы загрузчиков Windows Boot Manager и GRUB2 соответственно.

ls ubuntu
ls Microsoft

Для каталога Microsoft, основные файлы загрузчика располагаются в подкаталоге Boot.

ls MicrosoftBoot -b

Основной загрузчик на данный момент GRUB2. Это означает, что файл /EFI/Boot/bootx64.efi как то использует содержимое каталога /EFI/ubuntu/. Будь то запуск исполняемого файла, либо чтение файла конфигурации. Взглянем внимательно содержимое папок /EFI/Boot/ и /EFI/ubuntu/.

Обратите внимание на файлы shimx64.efi и bootx64.efi, а точнее на их размер. Думаю вы догадались, что данные файлы идентичны. А это означает что, файлу bootx64.efi нет смысла запускать свою копию. Остается два варианта, либо это файл grubx64.efi, что более очевидно исходя из имени файла, либо mmx64.efi. Запустим файл mmx64.efi, чтобы убедиться что это не то приложение.

ubuntummx64.efi

Ожидания подтвердились, открылся явно не загрузчик GRUB2.

Подведем промежуточный итог. Файл /EFI/Boot/bootx64.efi на само деле является файлом /EFI/ubuntu/shimx64.efi. Приложение /EFI/Boot/bootx64.efi при запуске, вызывает другое приложение, а именно /EFI/ubuntu/grubx64.efi. В последнем можно убедиться, просто переименовав файл /EFI/ubuntu/grubx64.efi, с последующей попыткой загрузки с данного диска.

Что полезного можно извлечь из этой информации? Самое важное, это то, что папка /EFI/ubuntu/ содержит полный набор файлов. Если вдруг по какой либо причине, оригинальный файл /EFI/Boot/bootx64.efi будет удален или поврежден, то его можно будет лего восстановить, простым копированием файла /EFI/ubuntu/shimx64.efi с последующим переименованием в bootx64.efi.

Такое поведение, характерно и для директории /EFI/Microsoft/Boot/. В ней так же содержится все необходимое. Роль файла /EFI/Boot/bootx64.efi будет исполнять /EFI/Microsoft/Boot/bootmgfw.efi. Который в свою очередь будет запускать файл /EFI/Microsoft/Boot/bootmgr.efi. То есть, выполнив такую подмену, вместо загрузчика GRUB2 будет запускаться Windows Boot Manager. Попробуем провести такую подмену.

# переименование текущего bootx64.efi
mv Bootbootx64.efi Bootbootx64.efi_

# копирование файла bootmgfw.efi в bootx64.efi
cp MicrosoftBootbootmgfw.efi Bootbootx64.efi

# просмотр полученного результата
ls Boot

Пробуем загрузиться.

Windows Boot Manager успешно запустился, и загрузил операционную систему Windows 10.

Чтобы вернуть на место загрузчик GRUB2, достаточно просто удалить (или переименовать) текущий файл /EFI/Boot/bootx64.efi, и переименовать /EFI/Boot/bootx64.efi_ к своему прежнему имени bootx64.efi.

# переходим в каталог Boot
cd Boot

# смотрим список файлов
ls

# удаляем текущий файл bootx64.efi (стартер загрузчика Windows)
rm bootx64.efi

# переименовываем обратно, то есть возвращаем на место файл загруpчика GRUB2
mv bootx64.efi_ bootx64.efi

# смотрим что получилось
ls

Добавление Загрузочных Записей

При обычных условиях, в моем примере с виртуальной машиной, происходит загрузка исполняемого файла по умолчанию /EFI/Boot/bootx64.efi. Этому способствует загрузочная запись указывающая на диск в целом.

bcfg boot dump

В прошлой главе, для того чтобы вернуть вместо загрузчика GRUB2 загрузчик Windows Boot Manager, приходилось производить файловые манипуляции. Переименование и подмена файла bootx64.efi. Точно такого же результата можно добиться просто добавив загрузочную запись, указывающей на нужный исполняемый файл необходимого загрузчика. Добавим ее.

# добавляем загрузочную запись в позицию 0, то есть на первое место
bcfg boot add 0 EFIMicrosoftBootbootmgfw.efi "Start Windows 10"

# смотрим текущую загрузочную конфигурацию
bcfg boot dump

Посмотрим на загрузочное меню, после добавление новой записи.

Аналогичным образом можно добавить запуск любой исполняемой программы *.efi. Теперь попробуем переместить добавленную запись. Или иначе говоря, изменить приоритет загрузки. Передвинем нашу запись на третье место.

# установка для записи 0 нового порядкового номера 2
bcfg boot mv 0 2

# вывод загрузочной конфигурации
bcfg boot dump

Взглянем на загрузочное меню.

И последнее что осталось сделать, это удалить добавленную запись.

# удаление записи под номером 2
bcfg boot rm 2

# вывод загрузочной конфигурации
bcfg boot dump

Смотрим загрузочное меню.

Загрузочная запись полностью удалена.

Важным нюансом является нумерация. Учтите что она начинается с нуля. То есть если речь идет о третей записи по списку, ее номер будет 2.

Итог

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

Думаю это не последняя статья на тему UEFI Shell. В следующих, мы поговорим о загрузке драйверов в UEFI Shell. И установке дополнительного загрузчика через UEFI Shell.

P.S. Некоторые цветовые схемы которые могу вам приглянуться cls 3 11, cls 7 0, cls 5 15.

попадаю в «старт меню», теперь уже нажимаю F-9 Boot Device Options (изменение настроек загрузки),

попадаю в меню загрузки, но моей флешки Kingston там нет, хотя она уже подсоединена к ноутбуку (флешка точно загрузочная).

Тоже самое происходит и с загрузочным диском Windows 7.
Вот думаю и «чудо враждебной техники», тогда поступлю по другому, изменю приоритет загрузки прямо в БИОС UEFI, перезагружаю ноутбук, далее жму при загрузке опять ESC, попадаю в «старт меню», теперь уже нажимаю F-10 BIOS Setup

отключаю его, ставлю в положение «Disabled», а опцию «Legacy support» перевёл в положение «Enabled», выходит предупреждение, выбираю Yes,

после перезагрузки выходит вот это окно, с сообщением
A change to the operating system secure boot mode is pending. Please enter the pass code displayed below to complete the change. If you did not initiate this request, press the ESC key to continue without accepting the pending change

а после перезагрузки жмём на ESC, попадаем в «старт меню», нажимаем F-9 Boot Device Options (изменение настроек загрузки),

попадаем в меню загрузки и здесь уже присутствует наша флешка Kingston, выбираем её и жмём Enter, наш ноутбук загружается с флешки.

попадаю в «старт меню», теперь уже нажимаю F-9 Boot Device Options (изменение настроек загрузки),

попадаю в меню загрузки, но моей флешки Kingston там нет, хотя она уже подсоединена к ноутбуку (флешка точно загрузочная).

Тоже самое происходит и с загрузочным диском Windows 7.
Вот думаю и «чудо враждебной техники», тогда поступлю по другому, изменю приоритет загрузки прямо в БИОС UEFI, перезагружаю ноутбук, далее жму при загрузке опять ESC, попадаю в «старт меню», теперь уже нажимаю F-10 BIOS Setup

отключаю его, ставлю в положение «Disabled», а опцию «Legacy support» перевёл в положение «Enabled», выходит предупреждение, выбираю Yes,

после перезагрузки выходит вот это окно, с сообщением
A change to the operating system secure boot mode is pending. Please enter the pass code displayed below to complete the change. If you did not initiate this request, press the ESC key to continue without accepting the pending change

а после перезагрузки жмём на ESC, попадаем в «старт меню», нажимаем F-9 Boot Device Options (изменение настроек загрузки),

попадаем в меню загрузки и здесь уже присутствует наша флешка Kingston, выбираем её и жмём Enter, наш ноутбук загружается с флешки.

Итак, вставляем загрузочный диск или флешку. Перезагружаемся и часто нажимаем на клавишу Esc.

Попадаем в «старт меню», теперь уже нажимаем клавишу F-9 Boot Device Options (изменение настроек загрузки).

Попадаем в меню загрузки, но, как видим, ни подключенной к ноутбуку флешки, ни CD-DVD привода в списке устройств нет.

Спокойно! Все будет хорошо. Перезагружаем ноутбук, далее жмем при загрузке опять ESC, попадаем в «старт меню», теперь уже нажимаем F-10 BIOS Setup.

Входим в БИОС UEFI и выбираем опцию System Configuration, а в ней вкладку Boot Options, заходим в неё.

Как видим включен параметр безопасной загрузки Secure Boot в БИОС. Нам надо его отключить.

Отключаем его, ставим в положение «Disabled», а опцию «Legacy support» (чуть выше) переведем в положение «Enabled», появляется предупреждение, выбираем Yes.

Затем жмем F-10 (сохраняем настройки, жмем Yes и перезагружаемся).

После перезагрузки появляется приблизительно вот такое окно.

В целях безопасности предлагается ввести проверочный код 8721 и нажать Enter. После этого ваши изменения в настройках БИОСа UEFI сохранятся и ноутбук перезагрузится.

После перезагрузки жмём на ESC, попадаем в «старт меню», нажимаем F-9 Boot Device Options (изменение настроек загрузки).

Мы опять попадаем в меню загрузки и здесь уже присутствуют наши ранее отсутствующие устройства: флешки и CD-DVD приводы. Выбираем то, что нужно и загружается с нашего выбранного носителя.

Компьютер этот размерами своими напоминает пластиковую кредитную карту – всего 50 на 87 миллиметров.

Некоторое время тому назад я установил на свой ПК в качестве второй операционной системы.

Интересное и недорогое решение для малого и среднего бизнеса предлагает компания Synology. DiscStation DS-412+ это 4-х дисковый.

Компания City Labs начала выпуск настоящих атомных батареек NanoTritium. Источником энергии в этих батарейках служит.

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

Мысли о собственном IT бизнесе не возникают спонтанно, они накапливаются месяцами или даже годами.

Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/

3088949

3088950

3088952

3032028

Что такое GPT?
GUID Partition Table, GPT — стандарт формата размещения таблиц разделов на жестком диске. Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует MBR.

Где в GPT хранятся аналоги загрузочных секторов?
EFI использует для хранения загрузчиков папку EFI/boot, находящуюся в корне раздела FAT32. По умолчанию должен загружаться файл /EFI/boot/bootx64.efi
Если загружаемый диск размечен в стиле MBR, то наличие файловой системы FAT32 на первом разделе (если их несколько) и файла с загрузчиком, лежащего по дефолтному пути, являются единственными условиями загрузки с этого носителя (CD/DVD тоже поддерживаются). В случае, если диск размечен в стиле GPT, раздел необязательно должен быть первым, но у него должен присутствовать флаг boot (проверить и выставить можно через gparted)

Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных?
Да. Для этого потребуется загрузочный диск/флешка с Gparted http://gparted.sourceforge.net/download.php
После загрузки с загрузочного носителя откроется окно gparted, в котором в верхнем правом углу будет отображен рабочий диск (обычно это /dev/sda). Необходимо запомнить имя диска, который вы хотите сконвертировать, открыть терминал, и набрать там sudo gdisk /dev/sda
где вместо sda, при необходимости, нужно подставить имя вашего диска. Затем нужно ввести команду w и подтвердить запись таблицы GPT на диск. Все, диск преобразован в таблицу GPT. Для обратной конвертации в MBR необходимо таким же образом открыть gdisk для вашего диска, и последовательно набрать команду r, затем g, после чего подтвердить запись новой таблицы при помощи команды w.
Так же в среде Windows вам поможет программа Partition Guru либо аналоги.

9039943

Источник

Как заставить мой ноутбук HP загружаться в grub из моего нового файла efi?

У меня есть ноутбук HP Pavilion Sleekbook 14, на котором я установил двойную загрузку Ubuntu 12.10 с оригинальной Windows 8. Я использовал boot-repair, чтобы настроить загрузку в grub.

После того, как я закончил запуск boot-repair, он сказал мне загрузиться с sda2/EFI/ubuntu/shimx64.efi. Я видел некоторые предложения, что мне следует переместить этот файл вместо windows bootmgfw.efi, но я обеспокоен тем, что буду сломать вещи и не сможет загрузить Windows 8 установки. Хотя я уже не люблю win8 даже больше, чем win7, он время от времени мне нужен для пары задач.

Подробная информация о моем ремонте загрузки здесь: http://paste.ubuntu.com/1418009/

17 ответов

У меня была такая же проблема с моим HP Pavilion g6 при попытке двойной загрузки Ubuntu 12.04.3 LTS и Windows 8. То есть даже после «успешного» запуска Boot-Repair у меня все равно была загрузка ноутбука непосредственно в Windows 8. Если я Я нажал клавишу F9, прежде чем появился символ HP, и я смог войти в меню загрузки (меню HP? Я не знаю. ) и оттуда выбрать запись «Ubuntu», что, в свою очередь, привело меня к GRUB. 2 и, наконец, к моей установке Ubuntu.

Тем не менее, я хотел, чтобы компьютер мог загружаться непосредственно под Linux без какого-либо вмешательства пользователя.

В конце концов, ответ Рода Смита выше, в сочетании с информацией, которую я нашел на другом форуме, помог мне. У меня отключена Безопасная загрузка и Legacy Boot.

Используя команду ниже, я проверил, где находится загрузчик Windows:

Согласно рекомендации Рода в его ответе (о том, как вручную восстановить загрузчик), я сделал резервную копию этого файла, переместив его на один уровень вверх:

Наконец, я скопировал загрузчик GRUB 2 в этом месте, «обманывая» систему, чтобы загрузить желаемый загрузчик вместо оригинального загрузчика Windows.

Наконец-то у меня была двойная загрузка с GRUB 2. В случае, если Windows перезаписывает загрузчик снова после обновления (как это было со мной), я уже знаю шаги, чтобы вернуть grub на свое место.

Надеюсь, это кому-нибудь поможет. Пожалуйста, дайте мне знать, если есть какие-либо проблемы с моим решением.

Я столкнулся с той же проблемой на HP ProBook 4340s с оригинальной Windows 8, уже перезаписанной новой Kubuntu 15.04 (я не предпочитаю двойную загрузку). Среди других попыток я также попробовал Boot-Repair (как с HD после его установки, так и через boot-repair-disk), но это упражнение, скорее всего, было ненужным.

Проверьте настроенную загрузку

Режим загрузки: выберите UEFI Hybrid или UEFI Native (я выбрал UEFI Native)

UEFI Boot Order: поместите настроенный Boot наверх

Определить индивидуальный вариант загрузки: выберите » Добавить» + введите настройки: EFIubuntugrubx64.efi

Мы нашли правильную строку пути при открытии GRUB через опцию Boot from EFI File в опциях быстрой загрузки (F9). В начале список опций содержал:

После добавления опции Customized Boot он был добавлен в список:

У меня была одна проблема: после вашего исправления я мог выбрать Windows 8 в GRUB, но затем Windows 8 отказалась запускаться, и мне снова показали меню GRUB.

Ноутбук теперь загружается на GRUB, Ubuntu и Windows 8 теперь нормально запускаются с GRUB.

Обычно при запуске Boot Repair выполняется резервное копирование исходного файла загрузчика Microsoft ( bootmgfw.efi ) как bootmgfw.efi.bkp и заменяет оригинал bootmgfw.efi файл с копией GRUB (или шимма), и вывод Boot Repair, который вы разместили, будет показывать это; однако, я не вижу такого файла резервной копии. Таким образом, я рекомендую вам сделать одну из трех вещей:

Кстати, проблемы, с которыми вы сталкиваетесь, связаны с известными ошибками в реализации EFI HP. По сути, прошивка жестко запрограммирована для загрузки с загрузчика Microsoft и затрудняет или делает невозможным загрузку с чего-либо еще. Я настоятельно рекомендую вам обратиться в HP по этому поводу; они не решат такие проблемы, если люди не будут жаловаться.

Из трех решений, использование Boot Repair, вероятно, будет самым легким для работы; но, как я уже заметил, нестандартное именование, которое использует Boot Repair, может в будущем вызвать проблемы для других утилит. Ручная регулировка потребует больше усилий, чтобы начать работать, но в конечном итоге будет чище. Некоторые люди сообщают о проблемах с загрузкой GRUB для загрузки загрузчика Windows, поэтому любой из этих вариантов может вызвать головную боль на этот счет. У rEFInd гораздо больше шансов загрузить Linux или Windows без проблем, но, как вы можете заметить из процедуры, для ее работы, вероятно, потребуется немного больше усилий, чем для повторного запуска Boot Repair, хотя, вероятно, меньше, чем для ручного перемещения файлов. Использование rEFInd в сочетании с Secure Boot требует большего количества прыжков с обруча в данный момент. (Подробнее см. Документацию rEFInd.) REFInd также представляет собой более симпатичный пользовательский интерфейс, чем GRUB, который может быть или не быть важным для вас.

Существует риск, связанный со всеми тремя решениями; Реализации EFI слишком сильно различаются между собой, что означает, что автоматизированная или ручная процедура, которая хорошо работает на одном компьютере, может с треском провалиться на другом. Чтобы защитить себя, я рекомендую создать резервную копию вашего ESP (обычно /boot/efi под Linux); просто упакуйте файлы в архив или скопируйте их в каталог резервных копий. Если что-то идет не так, как надо, вы можете загрузить аварийный диск и восстановить файлы. Это, вероятно, заставит компьютер загрузиться снова.

Я потратил день на ту же проблему и наконец решил ее. Ниже приводится точное решение. Полная статья для решения проблемы здесь, которая написана Родом Смитом.

Полезная информация

Для загрузки в таблицу разделов GPT с загрузчиками EFI. efi файлы создаются операционными системами во время установки, которые должны быть предоставлены биографии UEFI компьютера, чтобы дать ему возможность загружаться в их основные операционные системы.

Boot Папка: Is распознается как вариант загрузки по умолчанию и если NVRAM по какой-либо причине стирается. Это будет использоваться по умолчанию. Загрузчик efi называется «bootx64.efi». Если вы хотите выбрать загрузчик efi по умолчанию, скопируйте ваш файл efi и все файлы вокруг него в папку загрузки и переименуйте файл efi вашего источника в «bootx64.efi».

Microsoft Папка: содержит загрузочные файлы Windows EFI. Существует несколько файлов efi, но основным является «efibootmgfw.efi». Я уверен, что это используется Windows для загрузки.

что делать?

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

(Не рекомендуется) Как описано в некоторых ответах, мы можем заменить работающий вариант загрузки на тот, который не работает. Но проблема остается в другом.

Зарегистрируйте отсутствующий файл загрузчика EFI вручную.

Как сделать?

Загрузка с загрузочной флешки Linux (я использую загрузочную флешку Linux Mint). Это должно быть EFI USB. (GPT USB, который может быть создан такими программами, как rufus)

Смонтируйте раздел EFI, ваш дистрибутив может сделать это автоматически. Пропустите этот шаг, если /boot доступен и показывает структуру, аналогичную приведенной выше. Современные Ubuntu должны сделать это для вас.

Найдите адрес вашего раздела EFI. Это можно сделать с помощью parted команда или Disks программа. Обычно это первый или второй раздел загрузочного диска. ( /dev/sda1 или же /dev/sda2 ) Этот раздел обычно составляет от 100 МБ до 200 МБ с файловой системой FAT32 и типом системы EFI.

Смонтируйте раздел EFI. Ты можешь использовать df Команда, чтобы проверить, смонтирован ли раздел раньше.

Если раздел не был смонтирован ранее (не показано в предыдущей команде) Смонтируйте раздел с помощью mount команда:

Теперь, если вы просматриваете /boot/efi вы увидите структуру файла, похожую на мою, описанную выше. Проверьте, можете ли вы найти папку вашей потерянной операционной системы. В моем случае биос компьютера мог видеть только вариант загрузки Windows, однако у меня также была опция загрузки Grub Linux Mint.

(Рекомендуемый способ) Просто напишите адрес файла efi, который вы хотите, чтобы соответствующая операционная система была отображена в параметрах загрузки BIOS. В моем случае Linux Mint отсутствовал в списке загрузки BIOS компьютера. Адрес его файла EFI был /efi/ubuntu/grubx64.efi относительно корня раздела EFI. Затем я зарегистрировал его в NVRAM с помощью команды efibootmgr.

в p 1 часть команды 1 определяет номер раздела efi на данном диске. nameForBootOption это пользовательское имя, данное опции загрузки

* Позаботьтесь, чтобы написать правильный адрес. При монтировании раздела в linux. Он монтирует раздел в какую-то папку под корнем, что расширяет реальный адрес в нечто вроде /media/mint/CC1F-9708/EFI/ubuntu Однако нам нужно только дать /EFI/ubuntu часть.

Источник

Adblock
detector

На компьютерах поддерживающих UEFI интерфейс для улучшения работоспособности операционной системы, рекомендуется устанавливать Windows в режиме EFI.
Для установки Windows в режиме EFI Вам понадобиться образ 64-битной операционной системы Windows 7 SP1 или новее.
Системный диск на который будет установлена Windows в режиме EFI, должен быть размечен в 64-битной версии Windows утилите Diskpart (не Acronis!!!) и отконвертирован в формат GPT.

Вариант 1. Создание USB флеш-диска для установки Windows в режиме EFI.

1) Создайте стандартный флеш-накопитель (флешку) для установки Windows 7.

Ваш загрузочный флеш-диск должен быть отформатирован в файловую систему FAT32, чтобы быть распознанным как загрузочное устройство UEFI.
Для создания флеш-диска Windows 7 в режиме EFI не используйте утилиту Microsoft — Windows 7 USB/DVD Download Tool. Данная утилита форматирует установочный флеш-диск в NTFS.

1.1) Подключите USB флеш-накопитель (флешку) не менее 4 Гб к USB-порту.
1.2) В строке поиска меню Пуск введите cmd.exe, щелкните на найденном правой кнопкой мыши и нажмите Запуск от имени администратора
1.3) Введите поочередно команды, нажимая после ввода каждой из них клавишу Enter.

diskpart
list disk
select disk #

где # – это номер Вашего USB-драйва, полученного в предыдущей команде.
Указанные далее команды приведут к полной очистке всего содержимого на выбранном диске.

clean
create partition primary
select partition 1
active
format fs=FAT32
assign
exit

1.4) Распакуйте ISO-файл образа установочного диска во временную папку и скопируйте все его содержимое на созданный Вами флеш-диск.

Для создания загрузочного диска Вы также можете воспользоваться программой UltraISO.
Данная программа сразу создает установочный флеш-диск отформатированный в файловую систему FAT32.
Инструкцию Вы можете прочитать здесь.

2) Откройте на Вашем установочном флеш-диске папку *:efi (* — буква Вашего флеш-диска с установочными файлами Windows 7).
3) Создайте новую папку внутри данной папки с именем boot. (*:efiboot).
4) Скопируйте все содержимое папки *:efimicrosoftboot в созданную Вами папку *:efiboot .
5) Используя архиватор 7-zip откройте файл *:sourcesboot.wim или *:sourcesinstall.wim .
6) Перейдите в архиве в папку *:sourcesboot.wim1WindowsBootEFI .
7) Скопируйте из данной папки в архиве файл bootmgfw.efi в созданную Вами папку *:efiboot на флеш-диске.
8) Переименуйте скопированный файл bootmgfw.efi (*:efibootbootmgfw.efi) в bootx64.efi (*:efibootbootx64.efi)

Теперь в созданной Вами папке *:efiboot должно быть все содержимое, скопированное из папки *:efimicrosoftboot и файл bootx64.efi полученный из boot.wim или install.wim.
Для некоторых материнских плат дополнительно требуется скопировать файл bootx64.efi в корень флеш-диска либо с идентичным именем файла, либо с именем shellx64.efi.

Вариант 2. Создание DVD диска для установки Windows в режиме EFI.

1) Скачайте архив с программой Microsoft CD/DVD Premastering Utility и распакуйте его в любую папку.
2) Скопируйте файл oscdimg.exe в папку C:WindowsSystem32.
3) Распакуйте ISO-файл образа установочного диска во временную папку. (Например, в папку D:Win_7_x64)
4) В строке поиска меню Пуск введите cmd.exe, щелкните на найденном правой кнопкой мыши и нажмите Запуск от имени администратора
5) Введите указанную ниже команду для создания ISO-файла образа установочного диска и нажмите клавишу Enter.

oscdimg -lWin_7_x64_UEFI -m -o -u1 -pEF -e -bD:Win_7_x64efimicrosoftbootefisys.bin D:Win_7_x64 D:Win_7_x64_UEFI.iso

где:

-l — Задает метку тома. Не используйте пробелы.
-m — Игнорирует ограничение максимального размера образа.
-o — Оптимизирует хранилище используя алгоритм хэширования MD5 для сравнения файлов.
-u1 — Создает образ, который имеет как файловую систему UDF, так и файловую систему ISO 9660. Файловая система ISO 9660 записывается с использованием имен файлов 8.3, совместимых с DOS. Файловая система UDF записывается с использованием имен файлов в Юникоде.
-p — Указывает значение для идентификатора платформы в каталоге El Torito. Для представления системы UEFI используется идентификатор EF. Не используйте пробелы.
-e — Отключает эмуляцию дискеты в каталоге El Torito.
-b — Указывает файл загрузочного сектора El Torito, который будет записан в загрузочном секторе или секторах диска. Не используйте пробелы.
D:Win_7_x64 – Указывает расположение исходных файлов.
D:Win_7_x64_UEFI.iso – Указывает путь к создаваемому ISO-файлу.

Особенности установки Windows в режиме EFI.

— Если Вы разгоняли какое-либо аппаратное обеспечение, то восстановите настройки в стандартные значения.
— В UEFI/BIOS установите в значение AHCI для SATA режима и включите ACPI 2.0, если отключено.
— Если загрузка с устройства не происходит, то в UEFI/BIOS установите Ваш флеш-диск первым в очереди загрузки.
— Если у Вас имеются как USB 3.0 порты, так и USB 2.0, то для успешной установки рекомендуется подключить флеш-диск в USB 3.0 порт.
(Флеш-диски USB 2.0 можно успешно подключить к порту USB 3.0.) Скопируйте на Ваш флеш-диск папку с драйверами для порта USB 3.0.

1) Подсоедините флеш-диск и перезагрузите компьютер.
2) Нажмите при загрузке клавишу для вызова Boot Menu. Нужную Вам клавишу, или комбинацию клавиш, Вы можете найти здесь!       3)Выберите в списке «UEFI:[имя Вашего устройства]«.

При установке на чистый неразмеченный диск перейдите к седьмому пункту.
При установке на диск уже имеющий какие-либо разделы и использующий MBR, вместо GPT, продолжите со следующего пункта.

4) После загрузки в установочный экран Windows нажмите Shift + F10.
5) Введите поочередно команды, нажимая после ввода каждой из них клавишу Enter.

diskpart
list disk
select disk #

где # – это номер Вашего жесткого диска, на который будет установлена Windows, полученный в предыдущей команде.
Указанные далее команды приведут к полной очистке всего содержимого на выбранном диске.

clean
сonvert GPT
exit

6) Закройте окно команд и продолжите установку Windows.
7) Укажите драйвера для порта USB 3.0, если Вы подключали флеш-диск к нему вместо порта USB 2.0.
8) В окне выбора диска для установки Windows, выделите пункт Неразмеченное место на диске и нажмите кнопку Создать у Вас автоматически будет создано 3 раздела (системный раздел EFI (ESP), резервный раздел Майкрософт (MSR) и основной раздел Windows.)
9) Выберите основной раздел и продолжите установку Windows в режиме EFI, как обычную установку.

Примечание: Если установка завершилась успешно, а система не загружается, то в UEFI/BIOS установите «Windows Boot Manager» первым в очереди загрузки.

Процесс загрузки при использовании EFI отличается от процесса загрузки компьютера с BIOS

В случае использования EFI происходит следующее:

  1. Запускается загрузчик EFI. Его задача — выбрать устройство для дальнейшей загрузки, аналогично выбору пользователем устройства при использовании BIOS.
  2. После выбора устройства, загрузчик находит на диске системный раздел (EFI System partition) и загружает с него файл, отвечающий за дальнейшую загрузку операционной системы. Данный файл всегда расположен по одному адресу. Для amd64 это /efi/boot/bootx64.efi.
    ESR определяется загрузчиком по определенному GUID и отформатирована в системе FAT.
  3. После передачи управления загрузчику ОС из системного раздела ESR, дальнейший процесс продолжается как обычно и зависит от операционной системы.

Содержание

  • Описание от Redhat
  • Booting an OS using UEFI 
    • Multibooting on UEFI 
      • Linux Windows x86_64 UEFI-GPT Multiboot 
  • Boot Process under UEFI 
  • Detecting UEFI Firmware Arch 
  • UEFI Support in Linux Kernel 
    • Linux Kernel config options for UEFI 
  • UEFI Variables Support 
    • Userspace Tools 
    • Non-Mac UEFI systems 
      • efibootmgr 
  • Linux Bootloaders for UEFI 
  • Create an UEFI System Partition in Linux 
    • For GPT partitioned disks 
    • For MBR partitioned disks 
  • UEFI Shell 
    • UEFI Shell download links 
    • Launching UEFI Shell 
    • Important UEFI Shell Commands 
  • Hardware Compatibility 
  • Create UEFI bootable USB from ISO 
  • Remove UEFI boot support from ISO 

Описание от Redhat

GRUB выполняет загрузку самого себя в память поэтапно:

  1. Платформы с UEFI осуществляют чтение таблицы разделов и подключают раздел ESP (EFI System Partition) — раздел VFAT с уникальным идентификатором GUID (Globally Unique Identifier). ESP содержит приложения EFI — загрузчики и служебные программы. В Red Hat Enterprise Linux 6 это раздел /boot/efi/, а программы EFI расположены в /boot/efi/EFI/redhat/.

  2. /boot/efi/EFI/redhat/ содержит grub.efi — версию загрузчика, скомпилированную специально для EFI. В самом простом случае менеджер загрузки EFI выбирает этот файл в качестве загрузчика и загружает его в память.

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

  3. Как только GRUB определит операционную систему или ядро для загрузки, они будут загружены в память и им будет передано управление.

Так как производители оборудования обычно добавляют собственные каталоги в раздел ESP, необходимо создать условия для цепной загрузки. Менеджер загрузки EFI может запустить загрузчики любых операционных систем, если они расположены в ESP.

Booting an OS using UEFI 

UEFI firmware does not support booting through the above mentioned method which is the only way supported by BIOS. UEFI has support for reading both the partition table as well as understanding filesystems.

The commonly used UEFI firmwares support both MBR and GPT partition table. EFI in Apple-Intel Macs are known to support Apple Partition Map also apart from MBR and GPT. Most of the UEFI firmwares have support for accessing FAT12 (floppy disks) , FAT16 and FAT32 filesystems in HDD and ISO9660 (and UDF) in CD/DVDs. EFI in Apple-Intel Macs can access HFS/HFS+ filesystems also apart from the mentioned ones.

UEFI does not launch any boot code in the MBR whether it exists or not. Instead it uses a special partition in the partition table called «EFI SYSTEM PARTITION» in which files required to be launched by the firmware are stored. Each vendor can store its files under <EFI SYSTEM PARTITION>/EFI/<VENDOR NAME>/ folder and can use the firmware or its shell (UEFI shell) to launch the boot program. An EFI System Partition is usually formatted as FAT32.

Under UEFI, every program whether they are OS loaders or some utilities (like memory testing apps) or recovery tools outside the OS, should be a UEFI Application corresponding to the EFI firmware architecture. Most of the UEFI firmware in the market, including recent Apple Macs use x86_64 EFI firmware. Only some older macs use i386 EFI firmware while no non-Apple UEFI system is known to use i386 EFI firmware.

Note: Some older Intel Server boards are known to operate on Intel EFI 1.10 firmware, and require i386 EFI applications.

A x86_64 EFI firmware does not include support for launching 32-bit EFI apps unlike the 64-bit Linux and Windows which include such support. Therefore the bootloader must be compiled for that architecture correctly.

Multibooting on UEFI 

Since each OS or vendor can maintain its own files within the EFI SYSTEM PARTITION without affecting the other, multi-booting using UEFI is just a matter of launching a different UEFI application corresponding to the particular OS’s bootloader. This removes the need for relying on chainloading mechanisms of one bootloader to load another to switch OSes.

Linux Windows x86_64 UEFI-GPT Multiboot 

Windows Vista (SP1+) and 7 pr 8 x86_64 versions support booting natively using UEFI firmware. But for this they need GPT partitioning of the disk used for UEFI booting.Windows x86_64 versions support either UEFI-GPT booting or BIOS-MBR booting.Windows 32-bit versions support only BIOS-MBR booting. Follow the instructions provided in the forum link given in the references sections as to how to do this. Seehttp://support.microsoft.com/default.aspx?scid=kb;EN-US;2581408 for more info.

This limitation does not exist in Linux Kernel but rather depends on the bootloader used.For the sake of Windows UEFI booting, the Linux bootloader used should also be installed in UEFI-GPT mode if booting from the same disk.

Boot Process under UEFI 

  1. System switched on — Power On Self Test, or POST process.
  2. UEFI firmware is loaded.
  3. Firmware reads its Boot Manager to determine which UEFI application to be launched and from where (ie. from which disk and partition).
  4. Firmware launches the UEFI application from the FAT32 formatted UEFISYS partition as defined in the boot entry in the firmware’s boot manager.
  5. UEFI application may launch another application (in case of UEFI Shell or a boot manager like rEFInd) or the kernel and initramfs (in case of a bootloader like GRUB) depending on how the UEFI application was configured.

Detecting UEFI Firmware Arch 

If you have a non-mac UEFI system, then you have a x86_64 (aka 64-bit) UEFI 2.x firmware.

Some of the known x86_64 UEFI 2.x firmwares are Phoenix SecureCore Tiano, AMI Aptio, Insyde H2O.

Some of the known systems using these firmwares are Asus EZ Mode BIOS (in Sandy Bridge P67 and H67 motherboards), MSI ClickBIOS, HP EliteBooks, Sony Vaio Z series, many Intel Server and Desktop motherboards

Pre-2008 Macs mostly have i386-efi firmware while >=2008 Macs have mostly x86_64-efi. All macs capable of running Mac OS X Snow Leopard 64-bit Kernel have x86_64 EFI 1.x firmware.

To find out the arch of the efi firmware in a Mac, boot into Mac OS X and type the following command

ioreg -l -p IODeviceTree | grep firmware-abi

If the command returns EFI32 then it is i386 EFI 1.x firmware. If it returns EFI64 then it is x86_64 EFI 1.x firmware. Macs do not have UEFI 2.x firmware as Apple’s EFI implementation is not fully compliant with UEFI Specification.

UEFI Support in Linux Kernel 

Linux Kernel config options for UEFI 

The required Linux Kernel configuration options for UEFI systems are :

CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y

UEFI Runtime Variables/Services Support — ‘efivars’ kernel module . This option is important as this is required to manipulate UEFI Runtime Variables using tools likeefibootmgr.

CONFIG_EFI_VARS=m

Note: This option is compiled as module in Arch core/testing kernel.

Note: For Linux to access UEFI Runtime Services, the UEFI Firmware processor architecture and the Linux kernel processor architecture must match. This is independent of the bootloader used.

Note: If the UEFI Firmware arch and Linux Kernel arch are different, then the «noefi» kernel parameter must be used to avoid the kernel panic and boot successfully. The «noefi» option instructs the kernel not to access the UEFI Runtime Services.

GUID Partition Table GPT config option — mandatory for UEFI support

CONFIG_EFI_PARTITION=y

Note: All of the above options are required to boot Linux via UEFI, and are enabled in Archlinux kernels in official repos.

Retrieved fromhttp://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/x86/x86_64/uefi.txt;hb=HEAD.

UEFI Variables Support 

UEFI defines variables through which an operating system can interact with the firmware.UEFI Boot Variables are used by the boot-loader and used by the OS only for early system start-up. UEFI Runtime Variables allow an OS to manage certain settings of the firmware like the UEFI Boot Manager or managing the keys for UEFI Secure Boot Protocol etc.

Note: The below steps will not work if the system has been booted in BIOS mode and will not work if the UEFI processor architecture does not match the kernel one, i.e. x86_64 UEFI + x86 32-bit Kernel and vice-versa config will not work. This is true only for efivars kernel module and efibootmgr step. The other steps (ie. upto setting up <UEFISYS>/EFI/arch/refind/{refindx64.efi,refind.conf} ) can be done even in BIOS/Legacy boot mode.

Access to UEFI Runtime services is provided by «efivars» kernel module which is enabled through the CONFIG_EFI_VAR=m kernel config option. This module once loaded exposes the variables under the directory /sys/firmware/efi/vars. One way to check whether the system has booted in UEFI boot mode is to load the «efivars» kernel module and check for the existence of /sys/firmware/efi/vars directory with contents similar to :

Sample output (x86_64-UEFI 2.3.1 in x86_64 Kernel):

# ls -1 /sys/firmware/efi/vars/
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c/
BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c/
BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c/
BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c/
ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c/
ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c/
ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c/
ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c/
ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c/
Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c/
LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c/
MTC-eb704011-1402-11d3-8e77-00a0c969723b/
MemoryTypeInformation-4c19049f-4137-4dd3-9c10-8b97a83ffdfa/
PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c/
PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c/
RTC-378d7b65-8da9-4773-b6e4-a47826a833e1/
del_var
new_var

The UEFI Runtime Variables will not be exposed to the OS if you have used «noefi» kernel parameter in the boot-loader menu. This parameter instructs the kernel to completely ignore UEFI Runtime Services.

Userspace Tools 

There are few tools that can access/modify the UEFI variables, namely

  1. efibootmgr — Used to create/modify boot entries in the UEFI Boot Manager —efibootmgr or efibootmgr-git
  2. uefivars — simply dumps the variables — uefivars-git — uses efibootmgr library
  3. Ubuntu’s Firmware Test Suite — fwts — fwts-git — uefidump command — fwts uefidump

Non-Mac UEFI systems 

efibootmgr 

Warning: Using efibootmgr in Apple Macs will brick the firmware and may need reflash of the motherboard ROM. There have been bug reports regarding this in Ubuntu/Launchpad bug tracker. Use bless command alone in case of Macs. Experimental «bless» utility for Linux by Fedora developers — mactel-boot .

Note: efibootmgr command will work only if you have booted the system in UEFI mode itself, since it requires access to UEFI Runtime Variables which are available only in UEFI boot mode (with «noefi» kernel parameter NOT being used). Otherwise the message Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables is shown.

Initially the user may be required to manually launch the boot-loader from the firmware itself (using maybe the UEFI Shell) if the UEFI boot-loader was installed when the system is booted in BIOS mode. Then efibootmgr should be run to make the UEFI boot-loader entry as the default entry in the UEFI Boot Manager.

To use efibootmgr, first load the ‘efivars’ kernel module:

# modprobe efivars

If you get no such device found error for this command, that means you have not booted in UEFI mode or due to some reason the kernel is unable to access UEFI Runtime Variables (noefi?).

Verify whether there are files in /sys/firmware/efi/vars/ directory. This directory and its contents are created by «efivars» kernel module and it will exist only if you have booted in UEFI mode, without the «noefi» kernel parameter.

If /sys/firmware/efi/vars/ directory is empty or does not exist, then efibootmgr command will not work. If you are unable to make the ISO/CD/DVD/USB boot in UEFI mode try#Create_UEFI_bootable_USB_from_ISO.

Note: The below commands use gummiboot-efi boot-loader as example.

Assume the boot-loader file to be launched is /boot/efi/EFI/gummiboot/gummibootx64.efi./boot/efi/EFI/gummiboot/gummibootx64.efi can be split up as /boot/efi and/EFI/gummiboot/gummibootx64.efi, wherein /boot/efi is the mountpoint of the UEFI System Partition, which is assumed to be /dev/sdXY (here X and Y are just placeholders for the actual values — eg:- in /dev/sda1 , X=a Y=1).

To determine the actual device path for the UEFI System Partition (should be in the form/dev/sdXY), try :

# findmnt /boot/efi
TARGET SOURCE  FSTYPE OPTIONS
/boot/efi  /dev/sdXY  vfat         rw,flush,tz=UTC

Then create the boot entry using efibootmgr as follows :

# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Gummiboot" -l 'EFIgummibootgummibootx64.efi'

In the above command /boot/efi/EFI/gummiboot/gummibootx64.efi translates to /boot/efi and/EFI/gummiboot/gummibootx64.efi which in turn translate to drive /dev/sdX -> partition Y -> file /EFI/gummiboot/gummibootx64.efi.

UEFI uses backward slash as path separator (similar to Windows paths).

The ‘label’ is the name of the menu entry shown in the UEFI boot menu. This name is user’s choice and does not affect the booting of the system. More info can be obtained from efibootmgr GIT README .

FAT32 filesystem is case-insensitive since it does not use UTF-8 encoding by default. In that case the firmware uses capital ‘EFI’ instead of small ‘efi’, therefore usingEFIgummibootgummibootx64.efi or efigummibootgummibootx64.efi does not matter (this will change if the filesystem encoding is UTF-8).

Linux Bootloaders for UEFI 

See UEFI Bootloaders .

Create an UEFI System Partition in Linux 

Note: The UEFISYS partition can be of any size supported by FAT32 filesystem.According to Microsoft Documentation, the minimum partition/volume size for FAT32 is 512 MiB. Therefore it is recommended for UEFISYS partition to be at least 512 MiB.Higher partition sizes are fine, especially if you use multiple UEFI bootloaders, or multiple OSes booting via UEFI, so that there is enough space to hold all the related files.If you are using Linux EFISTUB booting, then you need to make sure there is adequate space available for keeping the Kernel and Initramfs files in the UEFISYS partition.

For GPT partitioned disks 

Two choices:

  • Using GNU Parted/GParted: Create a FAT32 partition. Set «boot» flag on for that partition.
  • Using GPT fdisk (aka gdisk): Create a partition with gdisk type code «EF00». Then format that partition as FAT32 using mkfs.vfat -F32 /dev/<THAT_PARTITION>

Note: Setting «boot» flag in parted in a MBR partition marks that partition as active, while the same «boot» flag in a GPT partition marks that partition as «UEFI System Partition».

Warning: Do not use util-linux fdisk, cfdisk or sfdisk to change the type codes in a GPT disk. Similarly do not use gptfdisk gdisk, cgdisk or sgdisk on a MBR disk, it will be automatically converted to GPT (no data loss will occur, but the system will fail to boot).

For MBR partitioned disks 

Two choices:

  • Using GNU Parted/GParted: Create FAT32 partition. Change the type code of that partition to 0xEF using fdisk, cfdisk or sfdisk.
  • Using fdisk: Create a partition with partition type 0xEF and format it as FAT32 usingmkfs.vfat -F32 /dev/<THAT_PARTITION>

Note: It is recommended to use always GPT for UEFI boot as some UEFI firmwares do not allow UEFI-MBR boot.

UEFI Shell 

The UEFI Shell is a shell/terminal for the firmware which allows launching uefi applications which include uefi bootloaders. Apart from that, the shell can also be used to obtain various other information about the system or the firmware like memory map (memmap), modifying boot manager variables (bcfg), running partitioning programs (diskpart), loading uefi drivers, editing text files (edit), hexedit etc.

UEFI Shell download links 

You can download a BSD licensed UEFI Shell from Intel’s Tianocore UDK/EDK2 Sourceforge.net project.

Shell 2.0 works only in UEFI 2.3+ systems and is recommended over Shell 1.0 in those systems. Shell 1.0 should work in all UEFI systems irrespective of the spec. version the firmware follows. More info at ShellPkg and this mail

Launching UEFI Shell 

Few Asus and other AMI Aptio x86_64 UEFI firmware based motherboards (from Sandy Bridge onwards) provide an option called "Launch EFI Shell from filesystem device" . For those motherboards, download the x86_64 UEFI Shell and copy it to your UEFI SYSTEM PARTITION as <UEFI_SYSTEM_PARTITION>/shellx64.efi (mostly /boot/efi/shellx64.efi.

Systems with Phoenix SecureCore Tiano UEFI firmware are known to have embedded UEFI Shell which can be launched using either F6, F11 or F12 key.

Note: If you are unable to launch UEFI Shell from the firmware directly using any of the above mentioned methods, create a FAT32 USB pen drive with Shell.efi copied as (USB)/efi/boot/bootx64.efi . This USB should come up in the firmware boot menu. Launching this option will launch the UEFI Shell for you.

Important UEFI Shell Commands 

UEFI Shell commands usually support -b option which makes output pause after each page. map lists recognized filesystems (fs0, ...) and data storage devices (blk0, ...). Run help -b to list available commands.

More info at http://software.intel.com/en-us/articles/efi-shells-and-scripting/

BCFG command is used to modify the UEFI NVRAM entries, which allow the user to change the boot entries or driver options. This command is described in detail in page 83 (Section 5.3) of «UEFI Shell Specification 2.0» pdf document.

Note: Users are recommended to try bcfg only if efibootmgr fails to create working boot entries in their system.

Note: UEFI Shell 1.0 does not support bcfg command.

To dump a list of current boot entries —

Shell> bcfg boot dump -v

To add a boot menu entry for rEFInd (for example) as 4th (numbering starts from zero) option in the boot menu

Shell> bcfg boot add 3 fs0:EFIarchrefindrefindx64.efi "Arch Linux (rEFInd)"

where fs0: is the mapping corresponding to the UEFI System Partition and EFIarchrefindrefindx64.efi is the file to be launched.

To remove the 4th boot option

Shell> bcfg boot rm 3

To move the boot option #3 to #0 (i.e. 1st or the default entry in the UEFI Boot menu)

Shell> bcfg boot mv 3 0

For bcfg help text

Shell> help bcfg -v -b
Shell> bcfg -? -v -b

EDIT command provides a basic text editor with an interface similar to nano text editor, but slightly less functional. It handles UTF-8 encoding and takes care or LF vs CRLF line endings.

To edit, for example rEFInd’s refind.conf in the UEFI System Partition (fs0: in the firmware)

Shell> fs0:
FS0:> cd EFIarchrefind
FS0:EFIarchrefind> edit refind.conf

Type Ctrl-E for help.

Hardware Compatibility 

Main page HCL/Firmwares/UEFI

Create UEFI bootable USB from ISO 

Note: The instructions below are specifically for Archiso /official media; Archbootpreparation is identical, with this refind.conf instead of the one mentioned below (which is for Archiso) and without the filesystem label requirement.

Note: The USB can use either MBR or GPT partition table. The filesystem should be either FAT32 (recommended) or FAT16. FAT12 is designed for floppy drives and therefore not recommended for USB drives.

First create a MBR partition table in the USB using fdisk. Mount the USB partition and create a FAT32 filesystem with LABEL as used in the Archiso configuration.

# mkdir -p /mnt/{usb,iso}
# mount -o loop archlinux-2012.12.01-dual.iso /mnt/iso

Obtain the label from /mnt/iso/loader/entries/archiso-x86_64.conf; this is used by the archisohook in initramfs to identify the udev path to the installation media.

# awk 'BEGIN {FS="="} /archisolabel/ {print $3}' /mnt/iso/loader/entries/archiso-x86_64.conf | xargs mkfs.vfat /dev/sdXY -n

Mount the newly created FAT32 USB partition, and copy the contents of the installation media to the USB media.

# mount /dev/sdXY /mnt/usb
# cp -r /mnt/iso/* /mnt/usb
# umount /mnt/{usb,iso}
# sync

If you find the error: «No loader found. Configuration files in /loader/entries/*.conf are needed.« A possible fix is to use a different uefi bootloader to the included one, gummiboot.

Download refind-efi pkg and extract the file /usr/lib/refind/refind_x64.efi from within the package to (USB)/EFI/boot/bootx64.efi (overwrite or rename any existing(USB)/EFI/boot/bootx64.efi file).

Then copy this text to EFI/boot/refind.conf. Take care that the label in the Arch menu section (ARCH_201302 here) matches that of your usb’s.

refind.conf
timeout 5
textonly

showtools about,reboot,shutdown,exit
# scan_driver_dirs EFI/tools/drivers_x64
scanfor manual,internal,external,optical

scan_delay 1
dont_scan_dirs EFI/boot

max_tags 0
default_selection "Arch Linux Archiso x86_64 UEFI USB"

menuentry "Arch Linux Archiso x86_64 UEFI USB" {
  loader /arch/boot/x86_64/vmlinuz
  initrd /arch/boot/x86_64/archiso.img
  ostype Linux
  graphics off
  options "archisobasedir=arch archisolabel=ARCH_201302 add_efi_memmap"
}

menuentry "UEFI x86_64 Shell v2" {
  loader /EFI/shellx64_v2.efi
  graphics off
}

menuentry "UEFI x86_64 Shell v1" {
  loader /EFI/shellx64_v1.efi
  graphics off
}

You should now be able to successfully boot, and you can choose which EFI you’d like to load.

Remove UEFI boot support from ISO 

Warning: In the event that UEFI+isohybrid El Torito/MBR really causes problems, it would be better to just UEFI boot using the USB stick instructions in the previous section

Most of the 32-bit EFI Macs and some 64-bit EFI Macs refuse to boot from a UEFI(X64)+BIOS bootable CD/DVD. If one wishes to proceed with the installation using optical media, it might be necessary to remove UEFI support first.

Mount the official installation media and obtain the archisolabel as shown in the previous section.

Rebuild the ISO using xorriso from libisoburn :

$ xorriso -as mkisofs -iso-level 3 
    -full-iso9660-filenames
    -volid "ARCH_201212" 
    -appid "Arch Linux CD" 
    -publisher "Arch Linux <https://www.archlinux.org>" 
    -preparer "prepared like a BAWSE" 
    -eltorito-boot isolinux/isolinux.bin 
    -eltorito-catalog isolinux/boot.cat 
    -no-emul-boot -boot-load-size 4 -boot-info-table 
    -isohybrid-mbr "/mnt/iso/isolinux/isohdpfx.bin" 
    -output "~/archiso.iso" "/mnt/iso/"

Burn ~/archiso.iso to optical media and proceed with installation normally.

Понравилась статья? Поделить с друзьями:
  • Boot camp скачать для windows 10 драйвера
  • Boot camp скачать для windows 10 macbook pro 2011
  • Boot camp скачать для windows 10 macbook air
  • Boot camp не видит флешку с windows 7
  • Boot camp не видит загрузочный том с windows