Cómo usar el shell interactivo de UEFI y sus comandos comunes

Cómo usar el shell interactivo de UEFI y sus comandos comunes

Las placas base de la UEFI de la generación más nueva vienen con el caparazón interactivo de la UEFI. El Shell Interactive UEFI es un programa simple de shell (como Bash) responsable de iniciar su sistema operativo. También puede usar el shell interactivo UEFI para ejecutar comandos y scripts de shell EFI. También se puede usar para actualizar el firmware del sistema de su placa base.

Este artículo le mostrará cómo acceder a la capa interactiva de la UEFI en las placas base de la UEFI y usar algunos de los comandos EFI comunes en el shell interactivo de la UEFI. Entonces empecemos.

Tabla de contenido:

  1. Cosas que necesitas saber
  2. Leer unidades de pulgar USB de UEFI Shell
  3. Comenzando el caparazón interactivo de la UEFI
  4. El comando CLS
  5. El comando echo
  6. El comando alias
  7. El comando de ayuda
  8. El comando set
  9. El comando mapa
  10. Los comandos CD y LS
  11. El comando CP
  12. El comando MV
  13. El comando rm
  14. El comando editar
  15. El comando de salida
  16. El comando de reinicio
  17. Otros comandos EFI Shell
  18. Redirección de salida
  19. Conclusión
  20. Referencias

Cosas que necesitas saber:

He usado 2 indicaciones diferentes para escribir los comandos de shell EFI en este artículo.

Cáscara> - He usado este aviso para los comandos que puede ejecutar desde cualquier lugar.

FS1: \*> - He utilizado este indicador para aclarar que necesita seleccionar un determinado dispositivo de almacenamiento (FS1 en este caso) o estar en un directorio específico antes de ejecutar los comandos.

Asegúrese de tener eso en cuenta mientras lee este artículo.

Lectura de unidades de pulgar USB de UEFI Shell:

El caparazón interactivo UEFI puede leer unidades de pulgar USB si lo formatea como grasa16 o gaza32. Entonces, supongamos que ha escrito algunos scripts EFI o ha descargado cualquier script de EFI del sitio web oficial de su fabricante de placa base. En ese caso, tendrá que colocarlos en una unidad USB formateada Fat16 o Fat32 para acceder y ejecutarlos desde la capa interactiva de la UEFI.

Comenzando la capa interactiva de la UEFI:

Primero, cierre su computadora. Entonces, enciende tu computadora. Justo después de presionar el botón de encendido, siga presionando la tecla OR de su teclado para ingresar al firmware BIOS/UEFI de su placa base.

Luego, en la sección de selección de arranque del firmware BIOS/UEFI de su placa base, debe encontrar una opción para ingresar al shell interactivo de la UEFI.

En mi computadora Odyssey X86 de una sola tabla, la opción está en el shell Guardar y Salir> UEFI: EFI incorporado, como puede ver en la imagen a continuación.

La opción es el shell interno EFI en mi máquina virtual VMware, como puede ver en la captura de pantalla a continuación.

Cuando ingrese el shell interactivo UEFI por primera vez, imprimirá todos los dispositivos de almacenamiento que detectó su computadora, como puede ver en la captura de pantalla a continuación.

Una vez que presione cualquier tecla que no sea o espere 5 segundos, el shell EFI debe estar listo para ejecutar comandos.

En las siguientes secciones, le mostraré cómo usar algunos de los comandos de shell EFI más comunes. Entonces, sigamos adelante.

El comando CLS:

El comando CLS se usa principalmente para borrar las salidas de la pantalla.

Es posible que tenga muchos textos en la pantalla, como puede ver en la captura de pantalla a continuación.

Para borrar los textos de la pantalla, ejecute el comando CLS de la siguiente manera:

Cáscara> CLS

Los textos en su pantalla deben borrarse.

También puede cambiar el color de fondo del shell EFI usando el comando CLS.

Para cambiar el color de fondo de EFI Shell, ejecute el comando CLS de la siguiente manera:

Cáscara> CLS

En el momento de este escrito, el comando CLS admite lo siguiente .

0 - Negro

1 - Azul

2 - Verde

3 - Cian

4 - Rojo

5 - Magenta

6 - Amarillo

7 - Gris claro

Por ejemplo, para cambiar el color de fondo a azul (1), ejecute el comando CLS de la siguiente manera:

Shell> CLS 2

El color de fondo debe cambiarse a azul (1), como puede ver en la captura de pantalla a continuación.

Para cambiar el color de fondo a negro, ejecute el comando CLS de la siguiente manera:

Shell> CLS 0

El color de fondo debe cambiarse a negro (0), como puede ver en la captura de pantalla a continuación.

El comando Echo:

El comando echo se usa para imprimir una línea de texto en el shell EFI.

Por ejemplo, para imprimir el texto Hello World, ejecute el comando Echo de la siguiente manera:

Shell> echo "hola mundo"

Como puede ver, el texto Hello World se imprime en el Shell Efi.

Si lo desea, puede elegir no usar ninguna cita también.

El comando alias:

Puede enumerar todos los alias de comando del shell EFI con el comando alias.

Para enumerar todos los alias de comando del shell EFI, ejecute el comando alias de la siguiente manera:

Alias

Como puede ver, se enumeran todos los alias de comando de shell EFI.

También puede usar el comando alias para crear o eliminar alias.

Para crear un alias de comando print_hello que ejecute el comando echo hello world, puede ejecutar el comando alias de la siguiente manera:

Shell> alias print_hello "echo hello world"

Como puede ver, se crea un nuevo alias print_hello.

Ahora, puede ejecutar el comando print_hello de la siguiente manera:

Shell> print_hello

Por defecto, los alias que cree se reiniciará el sistema de sobrevivir. Eso es algo bueno, por supuesto. Pero si no desea que sus alias se reinicie el sistema de sobrevivir, puede crear un alias volátil utilizando la opción -v.

Puede crear el mismo alias print_hello que un alias volátil utilizando la opción -v de la siguiente manera:

Shell> alias -v print_hello "echo hello world"

Puede eliminar un alias usando la opción -d del comando alias.

Para eliminar el alias print_hello, ejecute el comando alias usando la opción -d de la siguiente manera:

Shell> alias -d print_hello

Como puede ver, el alias print_hello se elimina de la lista de alias.

Alias

El comando de ayuda:

El comando de ayuda se usa para encontrar comandos de shell EFI usando patrones.

Por ejemplo, para encontrar todos los comandos EFI Shell que comienzan con M, puede ejecutar el comando de ayuda de la siguiente manera:

Shell> Ayuda M*

Todos los comandos EFI Shell que comienzan con M se enumeran, como puede ver en la captura de pantalla a continuación.

De la misma manera, puede encontrar todos los comandos EFI Shell que terminan con M como sigue:

Shell> Ayuda *M

Todos los comandos EFI Shell que terminan con M se enumeran, como puede ver en la captura de pantalla a continuación.

También puede aprender cómo usar un comando EFI Shell, qué opciones admiten y qué opción usa el comando de ayuda. Finalmente, puede compararlo con el comando Linux Man.

Por ejemplo, para aprender a usar el comando alias, ejecute el comando de ayuda de la siguiente manera:

Shell> Ayuda alias

Se debe mostrar mucha información sobre el comando de ayuda.

Si la información de ayuda de un determinado comando es muy larga, puede presionar las teclas y su teclado para desplazarse hacia arriba y hacia abajo, respectivamente.

Si la salida es demasiado larga, necesitará un buscapersonas para leerla. Nuevamente, puede compararlo con el programa Linux Less. Pero a diferencia del programa Linux Less, la página EFI Shell Pager Scrolls Page por página en lugar de las líneas.

Para usar un buscapersonas para el comando de ayuda, use la opción -b del comando de ayuda de la siguiente manera:

Shell> ayuda -b alias

La información de uso del comando alias se muestra en un buscapersonas, como puede ver en la captura de pantalla a continuación.

Puedes presionar para ir a la página siguiente.

Para cerrar el buscapersonas, presione Q y luego presione .

El comando set:

El comando establecer se utiliza para enumerar todas las variables de entorno disponibles del shell EFI.

Para enumerar todas las variables de entorno disponibles del shell EFI, ejecute el comando set de la siguiente manera:

Shell> set

Se enumeran todas las variables de entorno del shell EFI, como puede ver en la captura de pantalla a continuación.

También puede crear sus propias variables de entorno EFI Shell.

Para crear un archivo variable de entorno de EFI Shell con el arranque de contenido.img, ejecute el comando set de la siguiente manera:

Shell> Establecer Archivo Boot.img

Se establece el archivo de la variable de entorno, como puede ver en la captura de pantalla a continuación.

Por defecto, las variables de entorno de shell EFI que cree sobrevivirán los reiniciados del sistema. Sin embargo, puede crear variables volátiles de entorno EFI Shell utilizando la opción -v del comando establecer si no desea eso.

Por ejemplo, para crear la misma variable de entorno de archivo como una variable de entorno volátil, ejecute el comando Establecer de la siguiente manera:

Shell> set -v imagen de archivo.bota

También puede eliminar las variables de entorno de shell EFI.

Para eliminar el archivo de la variable de entorno EFI Shell, ejecute el comando Establecer de la siguiente manera:

Shell> set -d archivo

La variable de entorno de archivo ya no debería estar disponible, como puede ver en la captura de pantalla a continuación.

Shell> set

El comando mapa:

El comando mapa imprime la tabla de mapeo de todos los dispositivos de almacenamiento de su computadora. Desde la tabla de mapeo, puede encontrar el nombre del dispositivo de los dispositivos de almacenamiento de su computadora. Para acceder a un dispositivo de almacenamiento desde el shell EFI, necesitará el nombre del dispositivo de ese dispositivo de almacenamiento.

Para enumerar todos los dispositivos de almacenamiento de su computadora desde el shell EFI, ejecute el comando de mapa de la siguiente manera:

Shell> mapa

Todos los dispositivos de almacenamiento y su nombre deben aparecer, como puede ver en la captura de pantalla a continuación.

Si inserta un nuevo dispositivo de almacenamiento como una unidad de pulgar USB en su computadora, no se enumerará automáticamente en la tabla de mapeo. En cambio, tendrá que actualizar la mesa de mapeo manualmente.

Puede actualizar la tabla de mapeo de la shell EFI utilizando la opción -r del comando mapa de la siguiente manera:

Shell> mapa -r

La tabla de mapeo de la shell EFI debe actualizarse, y su nuevo dispositivo de almacenamiento debe aparecer en la nueva tabla de mapeo, como puede ver en la captura de pantalla a continuación.

Los comandos CD y LS:

Puede seleccionar un dispositivo de almacenamiento utilizando el nombre del dispositivo de almacenamiento.

Por ejemplo, para seleccionar el dispositivo de almacenamiento FS1, puede ejecutar el siguiente comando:

Shell> FS1:

El aviso debe cambiarse a FS1: \> como puede ver en la captura de pantalla a continuación.

Ahora, puede enumerar todos los archivos y directorios que tiene en el dispositivo de almacenamiento FS1 (el directorio de trabajo actual) de la siguiente manera:

FS1: \> LS

Como puede ver, se enumeran todos los archivos y directorios del dispositivo de almacenamiento FS1.

También puede usar rutas de directorio relativo con el comando LS para enumerar los archivos y directorios de ese directorio.

Por ejemplo, para enumerar los archivos y directorios del directorio scripts \ (en relación con su directorio de trabajo actual), puede ejecutar el comando LS de la siguiente manera:

Scripts FS1: \> LS

Los archivos y directorios del directorio de scripts \ se deben enumerar.

El directorio de scripts \ está vacío en mi caso.

También puede usar rutas absolutas con el comando ls.

Por ejemplo, para enumerar todos los archivos y directorios del dispositivo de almacenamiento FS0, ejecute el comando LS de la siguiente manera:

Shell> LS FS0:

Se deben enumerar todos los archivos y directorios del dispositivo de almacenamiento FS0, como puede ver en la captura de pantalla a continuación.

Puede enumerar archivos y directorios utilizando de manera recursiva la opción -r del comando LS.

Por ejemplo, para enumerar todos los archivos y directorios del dispositivo de almacenamiento FS0 de manera recursiva, ejecute el comando LS de la siguiente manera:

Shell> ls -r fs0:

Todos los archivos y directorios del dispositivo de almacenamiento FS0 deben enumerarse de manera recursiva, como puede ver en la captura de pantalla a continuación.

Si el listado de archivo y directorio es demasiado largo para caber en la pantalla, puede usar la opción -b del comando LS para usar un buscapersonas.

Puede enumerar todos los archivos y directorios del dispositivo de almacenamiento FS0 de manera recursiva y usar un buscapersonas para la salida de la siguiente manera:

Shell> LS -R -B FS0:

El comando LS debe usar un buscapersonas para mostrar la salida, como se muestra en la captura de pantalla a continuación.

Puede usar el comando CD para navegar a un directorio diferente de su dispositivo de almacenamiento seleccionado. Esto acortará sus comandos, ya que no tendrá que escribir largas rutas de directorio.

Por ejemplo, para navegar al directorio scripts \ del dispositivo de almacenamiento seleccionado FS1, puede ejecutar el comando CD de la siguiente manera:

Scripts FS1: \> CD

El directorio de trabajo actual debe cambiarse a FS1: \ scripts \, como puede ver en la captura de pantalla a continuación.

Para regresar un directorio: al directorio principal, puede ejecutar el comando CD de la siguiente manera:

FS1: \ scripts> CD ..

Debe ser un directorio hacia arriba, como puede ver en la captura de pantalla a continuación.

El comando CP:

El comando CP se usa para copiar archivos de un dispositivo de almacenamiento a otro o dentro del mismo dispositivo de almacenamiento.

Tengo un hola.Archivo TXT en el dispositivo de almacenamiento FS1, como puede ver en la captura de pantalla a continuación.

FS1: \> LS

Para hacer una nueva copia de Hello.txt, ejecute el comando cp de la siguiente manera:

FS1: \> CP Hola.txt hola2.TXT

Un nuevo archivo hello2.se debe crear txt y el contenido del hola.El archivo txt debe copiarse al hello2.archivo txt.

FS1: \> LS

Si quieres copiar el hola.Archivo txt en el directorio scripts \ en el mismo dispositivo de almacenamiento utilizando una ruta de directorio relativo, ejecute el comando CP de la siguiente manera:

FS1: \> CP Hola.scripts txt

Como puedes ver, el hola.El archivo txt se copia en el directorio scripts \.

Scripts FS1: \> LS

También puede usar una ruta absoluta para copiar el hola.archivo txt en el directorio \ scripts de la siguiente manera:

FS1: \> CP \ Hola.txt \ scripts

Como el archivo ya existe, el comando CP le preguntará si desea sobrescribirlo.

Si desea sobrescribir el archivo, presione Y y luego presione .

Si no desea sobrescribir el archivo, presione N y luego presione .

Si desea sobrescribir todos los archivos que ya existen, presione A y luego presione .

Si no sabe qué hacer, presione C y presione para cancelar la operación de copia.

El hola.El archivo txt debe copiarse en el directorio \ scripts.

De la misma manera, si quieres copiar el hola.Archivo TXT en el directorio raíz de otro dispositivo de almacenamiento FS0, puede ejecutar el comando CP de la siguiente manera:

FS1: \> CP Hola.txt fs0: \

Como puedes ver, el hola.El archivo txt se copia en la raíz del dispositivo de almacenamiento FS0.

Shell> ls fs0: \

También puede copiar recursivamente el contenido de un directorio a otro directorio o dispositivo de almacenamiento utilizando la opción -r del comando CP.

Para copiar recursivamente el contenido del directorio FS0: \ EFI al dispositivo de almacenamiento FS1, ejecute el comando CP de la siguiente manera:

Shell> cp -r fs0: \ efi \ fs1: \

Todos los archivos y directorios en el directorio FS0: \ EFI deben copiarse en el dispositivo de almacenamiento FS1, como puede ver en la captura de pantalla a continuación.

Como puede ver, los directorios Ubuntu \ y Boot \ del directorio FS0: \ EFI se copian recursivamente al dispositivo de almacenamiento FS1.

Shell> LS FS0: \ EFI
Shell> LS FS1: \

Si desea copiar el directorio FS0: \ EFI, así como el contenido de ese directorio al dispositivo de almacenamiento FS1, ejecute el comando CP de la siguiente manera:

Shell> cp -r fs0: \ efi fs1: \

Como puede ver, el directorio FS0: \ EFI se copia recursivamente al dispositivo de almacenamiento FS1.

Shell> ls fs0: \
Shell> LS FS1: \

El comando MV:

El comando MV funciona de la misma manera que el comando CP. La única diferencia es que el comando MV mueve los archivos o directorios de la fuente al destino en lugar de copiarlos.

Como el comando MV y el comando CP son similares, no los explicaré aquí. Simplemente lea la sección de comando CP y reemplace los comandos CP con el comando MV. Serás listo para ir.

Hay otro caso de uso para el comando MV. El comando MV también se usa para cambiar el nombre de archivos y directorios.

Por ejemplo, para cambiar el nombre del archivo hello2.txt a hello3.txt, ejecute el comando mv de la siguiente manera:

FS1: \> MV Hello2.txt hello3.TXT

El hola2.Txt debe ser cambiado de nombre a Hello3.TXT.

Como puedes ver, el hello2.El archivo TXT ya no está en el dispositivo de almacenamiento FS1 y se renombró a Hello3.TXT.

FS1: \> LS

De la misma manera, puede cambiar el nombre de un directorio usando el comando MV.

Por ejemplo, para cambiar el nombre del directorio Ubuntu \ a Debian \, ejecute el comando MV de la siguiente manera:

FS1: \> MV Ubuntu Debian

Como puede ver, el directorio Ubuntu \ se renombra a Debian \.

FS1: \> LS

El comando rm:

El comando RM se usa para eliminar archivos y directorios de sus dispositivos de almacenamiento.

Para eliminar un archivo hello3.txt desde el dispositivo de almacenamiento FS1, ejecute el comando RM de la siguiente manera:

FS1: \> RM Hello3.TXT

El hello3.Se debe eliminar el archivo txt.

Como puedes ver, el Hello3.El archivo txt ya no está en el dispositivo de almacenamiento FS1.

FS1: \> LS

De la misma manera, puede eliminar el directorio debian \ del dispositivo de almacenamiento FS1 de la siguiente manera:

FS1: \> rm Debian

Como elimina un directorio que puede contener otros archivos y directorios, el comando RM le pregunta si desea eliminarlos. Esta es una medida de seguridad para que no elimine accidentalmente archivos importantes.

Para confirmar la operación de eliminación, presione y luego presione .

El directorio de Debian y su contenido deben eliminarse.

Como puede ver, el directorio debian \ ya no está disponible en el dispositivo de almacenamiento FS1.

FS1: \> LS

El comando Editar:

El EFI Shell viene con un programa básico de editor de texto llamado Editor EFI. Es muy útil ya que puede editar archivos de configuración muy fácilmente desde el shell de EFI.

Puedes abrir el hola.Archivo TXT del dispositivo de almacenamiento FS1 con el programa EFI Editor de la siguiente manera:

FS1: \> Editar hola.TXT

El hola.El archivo txt debe abrirse con el programa EFI Editor. Puede editar su archivo de texto/configuración desde aquí.

Una vez que hayas editado el hola.archivo txt, presione seguido para guardar el archivo.

El archivo hola.TXT debe salvarse.

Para cerrar el programa EFI Editor, presione .

Si tiene cambios no guardados, el programa EFI Editor le preguntará si desea guardarlos.

Presione Y para guardar los cambios y cierre el programa EFI Editor.

Presione N para descartar los cambios y cerrar el programa EFI Editor.

Presione C si ha cambiado de opinión y ya no quiere cerrar el programa EFI Editor.

El programa de editor de EFI tiene muchas otras características sorprendentes. Desafortunadamente, está fuera del alcance de este artículo para mostrarles a todos.

Puede ver la parte inferior del programa EFI Editor, y debe encontrar toda la información que necesita para usar las otras características del programa EFI Editor. Además, puede comparar el programa EFI Editor con el editor de texto Nano de Linux. Es asombroso.

El comando de salida:

El comando de salida se utiliza para cerrar el shell EFI vuelve al firmware BIOS/UEFI de su placa base.

Para cerrar el shell EFI, ejecute el comando de salida de la siguiente manera:

Cáscara> Salir

Sería mejor si volviera al firmware del BIOS/UEFI de su placa base, como puede ver en la captura de pantalla a continuación.

El comando de reinicio:

El comando de reinicio se usa para restablecer o reiniciar su computadora.

Para reiniciar su computadora desde el shell EFI, ejecute el comando RESET de la siguiente manera:

Shell> Restablecer

El comando de reinicio también se puede usar para apagar su computadora.

Para apagar su computadora desde el shell EFI, ejecute el comando RESET con la opción -s de la siguiente manera:

Shell> Restablecer -S

Otros comandos de shell EFI:

Hay muchos otros comandos EFI Shell. Está fuera del alcance de este artículo para cubrirlos todos. Pero, puede leer la documentación EFI Shell [1] para aprender sobre ellos. También puede usar el comando de ayuda para averiguar los comandos de shell EFI disponibles. Puede usar el comando de ayuda para leer la documentación de los comandos de shell EFI también. La documentación de EFI Shell es muy extensa y llena de información y ejemplos. También es muy simple y fácil de seguir. No deberías tener problemas para leerlo.

Redirección de salida:

Al igual que Bash y otras conchas de Linux, la Shell EFI también admite la redirección de salida. Por lo tanto, puede redirigir la salida de un comando EFI Shell a un archivo utilizando la función de redirección de salida del shell EFI.

Por ejemplo, puede redirigir la salida del comando echo "Hello World" a un mensaje de archivo.txt de la siguiente manera:

FS1: \> echo "Hello World"> Mensaje.TXT

Un nuevo mensaje de archivo.Se debe crear txt, como puede ver en la captura de pantalla a continuación.

FS1: \> LS

Como puede ver, tiene el contenido hola mundo.

FS1: \> Mensaje de edición.TXT

Si desea agregar (agregue al final de un archivo), la salida de otro comando hace eco de "buena suerte" (digamos) al mensaje.Archivo txt, puede usar el símbolo >> en lugar del símbolo> de la siguiente manera:

FS1: \> echo "Buena suerte" >> Mensaje.TXT

Como puede ver, el texto de buena suerte se agrega al final del mensaje.archivo txt.

FS1: \> Mensaje de edición.TXT

De la misma manera, puede redirigir la salida del comando de mapa de ayuda a un archivo de mapa de mapa.txt de la siguiente manera:

FS1: \> Ayuda Mapa> Help de mapas.TXT

Como puede ver, un nuevo archivo de mapa de mapa.se crea txt.

FS1: \> LS

Como puede ver, la salida del comando de mapa de ayuda se redirige al mapa-ayuda.archivo txt.

FS1: \> Editar mapa-Help.TXT

NOTA: Cuando realiza la redirección de salida, debe recordar la diferencia entre el símbolo> y >>. Es muy importante. Si no tiene suficiente conocimiento de estos símbolos, puede perder datos importantes.

Digamos que ha ejecutado el siguiente comando en EFI Shell:

Shell> comando> archivo

Aquí, el símbolo> redirigirá la salida del comando al archivo. Si el archivo no existe, se creará. Si el archivo existe, el contenido del archivo se reemplazará con la salida del comando. Esto es muy importante para recordar.

Ahora, digamos que ha ejecutado el comando EFI Shell arriba usando el símbolo >> de la siguiente manera:

Shell> comando >> archivo

Aquí, el símbolo >> agregará (agregará al final del archivo) la salida del comando al archivo si el archivo existe. Si el archivo no existe, se creará y la salida del comando se agrega al archivo.

Entonces, si el archivo no existe, el símbolo> y >> hará lo mismo: cree el archivo y agregue la salida del comando al archivo.

Si tiene muchos archivos en su dispositivo de almacenamiento, no es demasiado difícil cometer un error y perder datos importantes. Entonces, recomiendo usar el símbolo >> en lugar del símbolo de la redirección de salida a menos que tenga requisitos específicos. Entonces, hará lo mismo. De esta manera, si comete errores, siempre puede eliminar las líneas adicionales que se agregaron al archivo para volver al estado anterior.

Conclusión:

Este artículo le muestra cómo iniciar el shell interactivo UEFI y usar los comandos comunes de shell EFI. También le he mostrado cómo usar la función de redirección de salida del shell EFI. Finalmente, le he mostrado cómo acceder a los dispositivos de almacenamiento de su computadora desde el shell EFI y cómo crear, copiar, mover, cambiar el nombre y editar archivos desde el shell EFI. Este artículo debería ayudarlo a comenzar con los comandos de shell interactivo de UEFI y EFI Shell.

Referencias:

[1] Manual de referencia de comandos de shell - Intel

[2] Instrucciones básicas para usar la interfaz de firmware extensible (EFI)