Как использовать интерактивную оболочку UEFI и ее общие команды

How Use Uefi Interactive Shell



Материнские платы UEFI нового поколения поставляются с UEFI Interactive Shell. Интерактивная оболочка UEFI - это простая программа оболочки (например, bash), отвечающая за загрузку вашей операционной системы. Вы также можете использовать интерактивную оболочку UEFI для выполнения команд и сценариев оболочки EFI. Его также можно использовать для обновления системной прошивки материнской платы.

В этой статье показано, как получить доступ к интерактивной оболочке UEFI на материнских платах UEFI и использовать некоторые из распространенных команд EFI в интерактивной оболочке UEFI. Итак, приступим.







Оглавление:

  1. Что вам нужно знать
  2. Чтение USB-накопителей из оболочки UEFI
  3. Запуск интерактивной оболочки UEFI
  4. Команда cls
  5. Команда echo
  6. Псевдоним Command
  7. Команда помощи
  8. Команда набора
  9. Команда карты
  10. Команды cd и ls
  11. Команда cp
  12. Команда mv
  13. Команда rm
  14. Команда редактирования
  15. Команда выхода
  16. Команда сброса
  17. Другие команды оболочки EFI
  18. Перенаправление вывода
  19. Заключение
  20. использованная литература

Что вам нужно знать:

Я использовал 2 разных приглашения для написания команд оболочки EFI в этой статье.



Оболочка> - Я использовал это приглашение для команд, которые можно запускать откуда угодно.



fs1: *> - Я использовал это приглашение, чтобы пояснить, что вам нужно выбрать определенное устройство хранения (в данном случае fs1) ​​или находиться в определенном каталоге перед запуском команд.





Обязательно помните об этом, читая эту статью.

Чтение USB-накопителей из оболочки UEFI:

Интерактивная оболочка UEFI может читать флэш-накопители USB, если вы отформатируете их как FAT16 или FAT32. Итак, предположим, что вы написали несколько сценариев EFI или загрузили какие-либо сценарии EFI с официального сайта производителя вашей материнской платы. В этом случае вам нужно будет поместить их на флэш-накопитель USB, отформатированный в FAT16 или FAT32, чтобы получить доступ и запустить их из интерактивной оболочки UEFI.



Запуск интерактивной оболочки UEFI:

Сначала выключите компьютер. Затем включите компьютер. Сразу после нажатия кнопки питания продолжайте нажимать клавишу или на клавиатуре, чтобы войти в прошивку BIOS / UEFI на материнской плате.

Затем в разделе выбора загрузки прошивки BIOS / UEFI вашей материнской платы вы должны найти возможность войти в интерактивную оболочку UEFI.

На моем одноплатном компьютере Odyssey X86 эта опция находится в Сохранить и выйти> UEFI: встроенная оболочка EFI, как вы можете видеть на изображении ниже.

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

Когда вы впервые входите в интерактивную оболочку UEFI, она распечатывает все устройства хранения, обнаруженные вашим компьютером, как вы можете видеть на снимке экрана ниже.

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

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

Команда cls:

Команда cls в основном используется для очистки выходных данных на экране.

У вас может быть много текстов на экране, как вы можете видеть на скриншоте ниже.

Чтобы очистить тексты на экране, выполните команду cls следующим образом:

Оболочка>cls

Тексты на вашем экране должны быть очищены.

Вы также можете изменить цвет фона оболочки EFI с помощью команды cls.

Чтобы изменить цвет фона оболочки EFI, выполните команду cls следующим образом:

Оболочка>cls<цветовой код>

На момент написания этой статьи команда cls поддерживает следующее.

0 - Чернить

1 - Синий

2 - Зеленый

3 - голубой

4 - Сеть

5 - пурпурный

6 - Желтый

7 - Светло-серый

Например, чтобы изменить цвет фона на Синий (1), выполните команду cls следующим образом:

Оболочка>cls2

Цвет фона должен быть изменен на Синий (1), как вы можете видеть на скриншоте ниже.

Чтобы изменить цвет фона на черный, выполните команду cls следующим образом:

Оболочка>cls0

Цвет фона должен быть изменен на Черный (0), как вы можете видеть на скриншоте ниже.

Команда эха:

Команда echo используется для печати строки текста в оболочке EFI Shell.

Например, чтобы напечатать текст Hello World, выполните команду echo следующим образом:

Оболочка> выбросил 'Привет, мир'

Как видите, текст Hello World напечатан на оболочке EFI Shell.

При желании вы также можете отказаться от использования кавычек.

Команда псевдонима:

Вы можете перечислить все псевдонимы команд оболочки EFI с помощью команды alias.

Чтобы вывести список всех псевдонимов команд оболочки EFI, выполните команду псевдонима следующим образом:

Оболочка> псевдоним

Как видите, перечислены все псевдонимы команд оболочки EFI.

Вы также можете использовать команду alias для создания или удаления псевдонимов.

Чтобы создать псевдоним команды print_hello, который запускает команду echo Hello World, вы можете запустить команду псевдонима следующим образом:

Оболочка> псевдонимprint_hello'эхо, привет, мир'

Как видите, создается новый псевдоним print_hello.

Теперь вы можете запустить команду print_hello следующим образом:

Оболочка>print_hello

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

Вы можете создать тот же псевдоним print_hello, что и изменчивый псевдоним, используя параметр -v следующим образом:

Оболочка> псевдоним -vprint_hello'эхо, привет, мир'

Вы можете удалить псевдоним, используя параметр -d команды псевдонима.

Чтобы удалить псевдоним print_hello, запустите команду псевдонима с параметром -d следующим образом:

Оболочка> псевдоним -dprint_hello

Как видите, псевдоним print_hello удален из списка псевдонимов.

Оболочка> псевдоним

Команда помощи:

Команда help используется для поиска команд оболочки EFI с использованием шаблонов.

Например, чтобы найти все команды оболочки EFI, начинающиеся с m, вы можете запустить команду справки следующим образом:

Оболочка> помощьм*

В списке перечислены все команды оболочки EFI, начинающиеся с m, как вы можете видеть на снимке экрана ниже.

Таким же образом вы можете найти все команды оболочки EFI, заканчивающиеся на m, следующим образом:

Оболочка> помощь *м

В списке перечислены все команды оболочки EFI, заканчивающиеся на m, как вы можете видеть на снимке экрана ниже.

Вы также можете узнать, как использовать команду EFI Shell, какие параметры они поддерживают и для каких параметров используется команда справки. Наконец, вы можете сравнить это с командой Linux man.

Например, чтобы узнать, как использовать команду псевдонима, запустите команду справки следующим образом:

Оболочка> помощь псевдоним

Должно отображаться много информации о команде справки.

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

Если вывод слишком длинный, вам понадобится пейджер, чтобы прочитать его. Опять же, вы можете сравнить это с программой Linux less. Но в отличие от программы Linux less, пейджер EFI Shell прокручивает страницу за страницей, а не по строкам.

Чтобы использовать пейджер для команды справки, используйте параметр -b команды справки следующим образом:

Оболочка> помощь -b псевдоним

Информация об использовании команды псевдонима отображается на пейджере, как вы можете видеть на снимке экрана ниже.

Вы можете нажать, чтобы перейти на следующую страницу.

Чтобы закрыть пейджер, нажмите q, а затем нажмите.

Команда набора:

Команда set используется для вывода списка всех доступных переменных среды EFI Shell.

Чтобы вывести список всех доступных переменных среды оболочки EFI, выполните команду set следующим образом:

Оболочка> установленный

В списке перечислены все переменные среды EFI Shell, как вы можете видеть на снимке экрана ниже.

Вы также можете создать свои собственные переменные среды EFI Shell.

Чтобы создать файл переменной среды EFI Shell с содержимым boot.img, выполните команду set следующим образом:

Оболочка> установленный файлboot.img

Файл переменных среды установлен, как вы можете видеть на скриншоте ниже.

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

Например, чтобы создать ту же переменную среды файла, что и переменная среды volatile, выполните команду set следующим образом:

Оболочка> установленный -v файлimage.boot

Вы также можете удалить переменные среды EFI Shell.

Чтобы удалить файл переменной среды EFI Shell, выполните команду set следующим образом:

Оболочка> установленный -d файл

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

Оболочка> установленный

Команда карты:

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

Чтобы вывести список всех запоминающих устройств вашего компьютера из оболочки EFI, выполните команду map следующим образом:

Оболочка>карта

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

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

Вы можете обновить таблицу сопоставления оболочки EFI, используя параметр -r команды map следующим образом:

Оболочка>карта

Таблица сопоставления EFI Shell должна быть обновлена, и ваше новое устройство хранения должно быть указано в новой таблице сопоставления, как вы можете видеть на снимке экрана ниже.

Команды cd и ls:

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

Например, чтобы выбрать запоминающее устройство fs1, вы можете выполнить следующую команду:

Оболочка>fs1:

Приглашение следует изменить на fs1: >, как вы можете видеть на скриншоте ниже.

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

fs1: > ls

Как видите, перечислены все файлы и каталоги запоминающего устройства fs1.

Вы также можете использовать относительные пути к каталогам с командой ls для вывода списка файлов и каталогов этого каталога.

Например, чтобы вывести список файлов и каталогов каталога scripts (относительно вашего текущего рабочего каталога), вы можете запустить команду ls следующим образом:

fs1: > lsскрипты

Должны быть перечислены файлы и каталоги каталога scripts .

В моем случае каталог scripts пуст.

Вы также можете использовать абсолютные пути с командой ls.

Например, чтобы вывести список всех файлов и каталогов устройства хранения fs0, выполните команду ls следующим образом:

Оболочка> lsfs0:

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

Вы можете рекурсивно выводить список файлов и каталогов, используя параметр -r команды ls.

Например, чтобы рекурсивно вывести список всех файлов и каталогов устройства хранения fs0, выполните команду ls следующим образом:

Оболочка> ls fs0:

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

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

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

Оболочка> ls -bfs0:

Команда ls должна использовать пейджер для отображения вывода, как показано на снимке экрана ниже.

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

Например, чтобы перейти в каталог scripts выбранного запоминающего устройства fs1, вы можете запустить команду cd следующим образом:

fs1: > CDскрипты

Текущий рабочий каталог следует изменить на fs1: scripts , как вы можете видеть на скриншоте ниже.

Чтобы вернуться на один каталог - в родительский каталог, вы можете запустить команду cd следующим образом:

fs1: scripts> CD..

Вы должны быть на один каталог вверх, как вы можете видеть на скриншоте ниже.

Команда cp:

Команда cp используется для копирования файлов с одного запоминающего устройства на другое или внутри того же запоминающего устройства.

У меня есть файл hello.txt на устройстве хранения fs1, как вы можете видеть на скриншоте ниже.

fs1: > ls

Чтобы создать новую копию hello.txt, выполните команду cp следующим образом:

fs1: > cphello.txt hello2.txt

Необходимо создать новый файл hello2.txt, а содержимое файла hello.txt скопировать в файл hello2.txt.

fs1: > ls

Если вы хотите скопировать файл hello.txt в каталог scripts на том же устройстве хранения, используя относительный путь к каталогу, выполните команду cp следующим образом:

fs1: > cpскрипты hello.txt

Как видите, файл hello.txt скопирован в каталог scripts .

fs1: > lsскрипты

Вы также можете использовать абсолютный путь для копирования файла hello.txt в каталог scripts следующим образом:

fs1: > cp hello.txt scripts

Поскольку файл уже существует, команда cp спросит вас, хотите ли вы его перезаписать.

Если вы хотите перезаписать файл, нажмите y, а затем нажмите.

Если вы не хотите перезаписывать файл, нажмите n, а затем нажмите.

Если вы хотите перезаписать все уже существующие файлы, нажмите a, а затем нажмите.

Если вы не знаете, что делать, нажмите c, а затем нажмите, чтобы отменить операцию копирования.

Файл hello.txt нужно скопировать в каталог scripts.

Таким же образом, если вы хотите скопировать файл hello.txt в корневой каталог другого устройства хранения fs0, вы можете запустить команду cp следующим образом:

fs1: > cphello.txt fs0:

Как видите, файл hello.txt копируется в корень устройства хранения fs0.

Оболочка> lsfs0:

Вы также можете рекурсивно скопировать содержимое каталога в другой каталог или устройство хранения, используя параметр -r команды cp.

Чтобы рекурсивно скопировать содержимое каталога fs0: EFI на устройство хранения fs1, выполните команду cp следующим образом:

Оболочка> cp fs0: EFI fs1:

Все файлы и каталоги в каталоге fs0: EFI должны быть скопированы на устройство хранения fs1, как вы можете видеть на скриншоте ниже.

Как видите, каталоги ubuntu и BOOT из каталога fs0: EFI рекурсивно копируются на устройство хранения fs1.

Оболочка> lsfs0: EFI

Оболочка> lsfs1:

Если вы хотите скопировать каталог fs0: EFI, а также содержимое этого каталога на устройство хранения fs1, выполните команду cp следующим образом:

Оболочка> cp fs0: EFI fs1:

Как видите, каталог fs0: EFI рекурсивно копируется на устройство хранения fs1.

Оболочка> lsfs0:

Оболочка> lsfs1:

Команда mv:

Команда mv работает так же, как команда cp. Единственное отличие состоит в том, что команда mv перемещает файлы или каталоги из источника в место назначения, а не копирует их.

Поскольку команда mv и команда cp похожи, я не буду их здесь объяснять. Просто прочтите раздел «Команда cp» и замените команды cp на команду mv. Вам будет хорошо идти.

Есть еще один вариант использования команды mv. Команда mv также используется для переименования файлов и каталогов.

Например, чтобы переименовать файл hello2.txt в hello3.txt, выполните команду mv следующим образом:

fs1: > мвhello2.txt hello3.txt

Файл hello2.txt следует переименовать в hello3.txt.

Как видите, файла hello2.txt больше нет на устройстве хранения fs1, и он был переименован в hello3.txt.

fs1: > ls

Таким же образом вы можете переименовать каталог с помощью команды mv.

Например, чтобы переименовать каталог ubuntu в debian , выполните команду mv следующим образом:

fs1: > мвUbuntu Debian

Как видите, каталог ubuntu переименован в debian .

fs1: > ls

Команда rm:

Команда rm используется для удаления файлов и каталогов с ваших устройств хранения.

Чтобы удалить файл hello3.txt с устройства хранения fs1, выполните команду rm следующим образом:

fs1: > rmhello3.txt

Файл hello3.txt следует удалить.

Как видите, файла hello3.txt больше нет на устройстве хранения fs1.

fs1: > ls

Таким же образом вы можете удалить каталог debian с устройства хранения fs1 следующим образом:

fs1: > rmдебиан

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

Чтобы подтвердить операцию удаления, нажмите y, а затем нажмите.

Каталог debian и его содержимое следует удалить.

Как видите, каталог debian больше не доступен на устройстве хранения fs1.

fs1: > ls

Команда редактирования:

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

Вы можете открыть файл hello.txt с запоминающего устройства fs1 с помощью программы EFI Editor следующим образом:

fs1: >редактировать hello.txt

Файл hello.txt следует открыть с помощью программы EFI Editor. Здесь вы можете редактировать текстовый файл / файл конфигурации.

После редактирования файла hello.txt нажмите, а затем, чтобы сохранить файл.

Файл hello.txt следует сохранить.

Чтобы закрыть программу EFI Editor, нажмите.

Если у вас есть несохраненные изменения, программа EFI Editor спросит вас, хотите ли вы их сохранить.

Нажмите y, чтобы сохранить изменения и закрыть программу EFI Editor.

Нажмите n, чтобы отменить изменения и закрыть программу EFI Editor.

Нажмите c, если вы передумали и больше не хотите закрывать программу EFI Editor.

Программа EFI Editor имеет много других удивительных функций. К сожалению, показать их все выходит за рамки данной статьи.

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

Команда выхода:

Команда выхода используется для закрытия оболочки EFI и возврата к прошивке BIOS / UEFI вашей материнской платы.

Чтобы закрыть оболочку EFI, запустите команду выхода следующим образом:

Оболочка> выход

Было бы лучше, если бы вы вернулись к прошивке BIOS / UEFI своей материнской платы, как вы можете видеть на скриншоте ниже.

Команда сброса:

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

Чтобы перезагрузить компьютер из оболочки EFI, выполните команду сброса следующим образом:

Оболочка>сброс настроек

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

Чтобы выключить компьютер из оболочки EFI, выполните команду сброса с параметром -s следующим образом:

Оболочка>сброс настроек-s

Другие команды оболочки EFI:

Есть много других команд оболочки EFI. Все это выходит за рамки данной статьи. Но вы можете прочитать документацию EFI Shell [1], чтобы узнать о них. Вы также можете использовать команду help, чтобы узнать о доступных командах оболочки EFI. Вы также можете использовать команду help, чтобы прочитать документацию по командам EFI Shell. Документация EFI Shell очень обширна и полна информации и примеров. Это также очень просто и легко следовать. У вас не должно возникнуть проблем с его чтением.

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

Как и bash и другие оболочки Linux, оболочка EFI также поддерживает перенаправление вывода. Таким образом, вы можете перенаправить вывод команды EFI Shell в файл, используя функцию перенаправления вывода EFI Shell.

Например, вы можете перенаправить вывод команды echo Hello World в файл message.txt следующим образом:

fs1: > выбросил 'Привет, мир' >message.txt

Должен быть создан новый файл message.txt, как вы можете видеть на скриншоте ниже.

fs1: > ls

Как видите, в нем есть контент Hello World.

fs1: >редактировать message.txt

Если вы хотите добавить (добавить в конец файла) вывод другой команды echo Good Luck (скажем,) в файл message.txt, вы можете использовать символ >> вместо символа> следующим образом:

fs1: > выбросил 'Удачи' >>message.txt

Как видите, текст Good Luck добавлен в конец файла message.txt.

fs1: >редактировать message.txt

Таким же образом вы можете перенаправить вывод команды help map в файл map-help.txt следующим образом:

fs1: > помощькарта>map-help.txt

Как видите, создается новый файл map-help.txt.

fs1: > ls

Как видите, вывод команды help map перенаправляется в файл map-help.txt.

fs1: >отредактировать map-help.txt

ПРИМЕЧАНИЕ : Когда вы выполняете перенаправление вывода, вы должны помнить разницу между символами> и >>. Это очень важно. Если вы недостаточно знакомы с этими символами, вы можете потерять важные данные.

Допустим, вы выполнили следующую команду в EFI Shell:

Оболочка> команда > файл

Здесь символ> перенаправит вывод команды в файл. Если файл не существует, он будет создан. Если файл существует, его содержимое будет заменено выводом команды. Об этом очень важно помнить.

Теперь предположим, что вы выполнили указанную выше команду оболочки EFI, используя символ >> следующим образом:

Оболочка> команда >> файл

Здесь символ >> добавит (добавит в конец файла) вывод команды к файлу, если файл существует. Если файл не существует, он будет создан, и выходные данные команды будут добавлены в файл.

Итак, если файл не существует, символы> и >> будут делать то же самое - создать файл и добавить в него выходные данные команды.

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

Заключение:

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

Использованная литература:

[1] Справочное руководство по командам оболочки - Intel

[2] Основные инструкции по использованию расширяемого интерфейса микропрограмм (EFI)