Shellx64 efi что это
BootDev
Создание загрузочных дисков и прочие полезные мелочи
Страницы
2018-11-16
Загрузочная флешка с UEFI Shell
Содержание
Подготовка Флешки
Можно обойтись и без форматирования. Главное чтобы на флешке был раздел отформатированный в файловую систему FAT32. Замечу, что в Windows 10 последних редакций, отсутствует ограничение на создание только одного раздела на USB-флешках.
Для других версий Windows, несколько разделов на флешке можно создать с помощью программы BOOTICE. Подробнее об этом можно почитать по этой ссылке.
Скачиваем UEFI Shell
Скачать Clover можно по тут https://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/. На странице по ссылке качаем последнюю версию архива.
Загрузочная Флешка с Shell.efi
Открываем флешку, после подготовки. Копируем скачанный файл Shell.efi по пути /EFI/boot. Последовательность данных каталогов нужно создать.
Можно сделать и универсальный вариант. Разместить Shell.efi файлы всех архитектур, переименовав их в соответствующие имена. В таких условиях флешка будет грузиться на любой из архитектур, файлы которых расположены в папке /EFI/boot.
Проверим флешку в виртуальной машине.
Загрузочная Флешка с Clover
Открываем скачанный ISO-образ с загрузчиком. Для этих целей хорошо подойдет 7-Zip.
Извлекаем содержимое ISO-образа в корень флешки.
Проверяем на виртуальной машине.
Загрузочная Флешка с rEFInd
Открываем скачанный архив с загрузчиком. Для этих целей хорошо подойдет 7-Zip.
Извлекаем содержимое архива в корень флешки.
Проверяем на виртуальной машине.
Для Чего Нужна Флешка с Загрузчиком
Загрузочная флешка с Clover или rEFInd может помочь при различных ситуациях.
Ситуация 1 . когда у вас слетел основной загрузчик на жестком диске, и вы не можете загрузить операционную систему. Загрузчик на флешке автоматически определит все имеющиеся операционные системы, загрузочные устройства, и вы сможете корректно загрузить операционную систему и восстановить основной загрузчик.
Ситуация 2 . У вас был установлен дистрибутив Linux, с загрузчиком GRUB2. Вы решили установить второй операционной системой Windows. После установки загрузчик Windows перезаписал загрузчик GRUB2 и установленный Linux больше не доступен для загрузки. В данной ситуации загрузившись с флешки с загрузчиком, вы сможете загрузить установленный Linux, и уже через него вернуть загрузчик GRUB2 обратно. GRUB2 в свою очередь определит установленный Windows, и позволит грузить обе операционные системы.
Ситуация 3 . На используемой материнской плате отсутствует UEFI Shell. А вам он необходим, для установки специального драйвера в автозагрузку (такое обычно делают на системах с процессорами Xeon для увеличения быстродействия), или добавления новой загрузочной записи.
Вопросы рассмотренные в данном материале: Как создать загрузочную флешку с UEFI Shell? Где скачать UEFI Shell? Как установить Clover на флешку? Как установить rEFInd на флешку? Как можно использовать загрузочную флешку с UEFI Shell?
В заключении приведу пару полезных ссылок. Описание командной оболочки UEFI Shell, смотрим тут. Решение проблемы загрузки ОС с помощью UEFI Shell, описано здесь. Загрузка и установка драйверов в UEFI Shell, рассмотрена тут.
Что такое Launch efi shell from filesystem device?
Обычно данный пункт настроек BIOS можно встретить на материнских платах, поддерживающих загрузку в UEFI (EFI) режиме. Почти всегда он находится на вкладке Exit (Safe & Exit).
Пункт “launch efi shell from filesystem device” на платах Asus
Отличия BIOS и UEFI
BIOS является базовой системой ввода/вывода, которая запускается еще до загрузки операционной системы. Те, кто имеет хоть какой – то опыт в настройке компьютеров прекрасно знает как он выглядит:
Внешний вид настроек BIOS
UEFI, что расшифровывается как Unified Extensible Firmware Interface, является следующим этапом развития базовых управляющих интерфейсов материнских плат. У него, по сравнению с BIOS, есть ряд преимуществ:
Что делает пункт Launch efi shell from filesystem device?
Перевод данной фразы на русский язык звучит так: запуск EFI оболочки с файловой системы внешнего устройства. Под внешним устройством следует понимать флешку, CD/DVD диск, жесткий диск и т.д.
Штатные BIOS/UEFI материнской платы всегда располагаются на отдельной микросхеме памяти, находящейся недалеко от батарейки.
Иногда появляется необходимость в запуске сторонней оболочки EFI, например для установки операционной системы Linux. Для этого создается загрузочная флешка, на которую помещаются не только установочные файлы, но и сам EFI загрузчик.
Вставив эту флешку в USB порт и выбрав пункт Launch efi shell from filesystem device в биосе, осуществляется ее запуск.
Вот так выглядит запущенная оболочка EFI Shell
Shellx64 efi что это
Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/
Здесь за гибкую настройку приоритета загрузки отвечает целый модуль CSM
Что такое GPT? Где в GPT хранятся аналоги загрузочных секторов? Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных? BootDevСоздание загрузочных дисков и прочие полезные мелочи Страницы2018-05-23UEFI Shell: Описание командной оболочкиСодержание1. Командная оболочка UEFI ShellОсновные возможности похожи на оные у других командных оболочек. Если вам знакомы какие нибудь из них (bash, cmd и т. д.), то многие моменты будут вам знакомы. 1.1 Специальные Cимволы1.2 Экранирование Символов1.3 КавычкиКавычки ( « ) предназначены для объединение нескольких слов в единую строку. Командная оболочка воспринимает слова разделенные знаком пробел, как отдельные аргументы. Чтобы избежать такого восприятия, необходимую последовательность слов заключат в кавычки. К примеру, это бывает необходимо, когда в качестве аргументов используются полные пути до файла содержащие пробел. 1.4 Перенаправления1.4.1 Перенаправление ВыводаВывод любой команды может быть перенаправлен в файл. Например: command > file.log #перезапись unicode файла В первом случае, результат выполненной команды command будет сохранен в файл file.log, с перезаписью (файл создается заново). У команды перенаправления существуют два модификатора a (вывод происходит в кодировке ASCII), v (вывод происходит в переменную). Например: command >a file.log #перезапись ascii файла
command > NUL 1.4.2 Перенаправление ВводаДанные из существующего файла или переменной могут быть направлены на входной поток любой команды. Например: command #получение входящих данных из unicode файла 1.4.3 Конвейер КомандДанные из выходного потока одной команды можно направить на входящий поток другой, образуя при этом конвейер команд. Например: command1 | command2 В первом случае происходит перенаправление вывода команды command1 во входящий поток команды command2. Во втором случае все тоже самое но в кодировке ASCII. 1.5 Комментарии1.6 Переменные1.6.1 Переменные ОкруженияПеременные окружения создаются самой командной оболочкой при ее инициализации. Некоторые из них можно изменять а некоторые нет. Каждый новый сеанс командной оболочки содержит свой независимый список переменных окружения. Ниже представлен список переменных окружения UEFI Shell: 1.6.2 Позиционные Переменные1.6.3 ПсевдонимыПсевдонимы представляют собой дополнительное имя уже имеющейся команды или приложения. Возможны два варианта псевдонимов, на основе переменных, и созданные с помощью команды alias. Для создания псевдонима с помощью переменной, необходимо создать переменную содержащую текст выполняемой команды. После чего вызвать созданную переменную. 1.6.4 Файловые МаскиПример использования файловых масок: 1.7 Интерактивные Возможности1.7.1 Клавиши Истории КомандКомандная оболочка UEFI Shell запоминает последние выполненные команды. Нажатием на клавиши стрелок вверх или вниз, можно выводить в командную строку последние выполненные команды. Нажатием на клавишу F7 можно посмотреть список последних 24 команд, с возможностью повтора необходимой по ее номеру. 1.7.2 Прерывание Выполнения1.7.3 Контроль Выходного Потока1.7.4 Поддержка Прокрутки Буфера1.8 Справка Командной Строки2. Список команд UEFI ShellВ данном разделе будут кратко описаны стандартные команды оболочки UEFI Shell. Более подробное описание каждой команды на данный момент отсутствует. Если вы считаете, что подробное описание на русском все же необходимо, напишите об этом в комментариях. Настройка UEFI-загрузчика. Самое краткое руководство в миреКак устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав? Я обещал «самое краткое руководство». Вот оно: 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-скриптов, которые до сих пор валяются у меня в корневой ФС: Не надо использовать GRUBЭто чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на 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» с тремя строчками (привожу свои): Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском. Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием: Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС. Другие загрузчикиsystemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты. rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы. Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог. Различные неочевидные последствияВы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать. Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.
|