> For the complete documentation index, see [llms.txt](https://docs.plenit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plenit.com/docs-en/support/tutorials/linux/how-to-check-bios-or-uefi-on-linux.md).

# How to tell if your server is BIOS or UEFI in GNU/Linux - Plenit

Migrations

Servers

## How to know if your server is BIOS or UEFI in GNU/Linux

Join us in this article and discover **how to know if your server is BIOS or UEFI in GNU/Linux**.

When preparing the migration of machines from any source to Plenit's infrastructure, it must be clear whether the server to be migrated is based on UEFI or BIOS.

Knowing this is really important since machines based on **UEFI technology are not supported** in Plenit's infrastructure.

In this case, we are going to see how to carry out the checks on GNU/Linux systems.

#### Method 1: Check the existence of firmware files

The first way we can find out whether the equipment is based on BIOS or UEFI is **to check whether the "/sys/firmware/efi" path is present on the system**. If the system is of the UEFI type, the path will exist, but that will not be the case if we are talking about a BIOS-based system.

![Comprobamos si existen los ficheros de firmware
EFI](https://jotelulu.com/wp-content/uploads/2025/02/Comprobamos-si-existen-los-ficheros-de-firmware-EFI-900x487.png){loading="lazy"}

We check whether the EFI firmware files exist

This, as can be seen, is a simple and straightforward way.

#### Method 2: Using efibootmgr

The second way to test it is by means of **the "efibootmgr" command**. This is a command that allows us to check whether the system is UEFI-compatible and that, if it is compatible, when run, will generate different variables related to UEFI. In the case of a BIOS-based system, a message will be displayed indicating that EFI variables are not supported.

To use it, the first thing will be to check whether it is available. To do this, you must **run the "efibootmgr" command**, which if present will directly show the execution output. If it is not available, it will show a command not found message after which it can be installed.

**The installation varies depending on the GNU/Linux system** distribution:

On GNU/Linux systems **RedHat, CentOS and derivatives** the "yum" command should be used:

**# yum install efibootmgr**

On GNU/Linux systems **Debian, Ubuntu and derivatives** the "apt" command should be used:

**# apt install efibootmgr**

Below, you can see an example of installation in CentOS.

![Instalamos efibootmgr para hacer consultas y
pruebas](https://jotelulu.com/wp-content/uploads/2025/02/Instalamos-efibootmgr-para-hacer-consultas-y-pruebas-900x487.png){loading="lazy"}

We install efibootmgr to make queries and tests

Once installed, it can be **run by typing** directly the name of the command without modifiers **"efibootmgr",** which will directly show the execution output.

**# efibootmgr**

If the system uses UEFI, the associated variable settings will be shown; otherwise, it will **show a message indicating that UEFI is not used**, something similar to this message **"EFI variables are not supported on this system"**.

![Lanzamos el comando efibootmgr para ver si tenemos un sistema
UEFI](https://jotelulu.com/wp-content/uploads/2025/02/Lanzamos-el-comando-efibootmgr-para-ver-si-tenemos-un-sistema-UEFI-900x484.png){loading="lazy"}

We run the efibootmgr command to see if we have a UEFI system

And what do we do if the server is a machine that uses UEFI? Well, not all is lost, we will only have to take an additional step, following the method described in the tutorial

***

\[![Plenit
Logo](https://jotelulu.com/wp-content/uploads/2025/02/cropped-favicon.png)]\(<https://jotelulu.com/)\\\\>

* [About Plenit](https://jotelulu.com/sobre-jotelulu/)\\
* [People & Jobs](https://jotelulu.com/people/)\\
* [Success stories](https://jotelulu.com/casos-de-exito/)\\
* [Sustainability](https://jotelulu.com/sostenibilidad/)\\
* [Incentive program](https://jotelulu.com/incentivos/)\\
* [Growth plan](https://jotelulu.com/crecimiento/)\\
* [Support](https://jotelulu.com/soporte/)\\
* [Status](https://status.jotelulu.com/)\\

  .small .text-light .text-decoration-none .d-inline-block}
* \[Policy of .small .text-light .text-decoration-none .d-inline-block}
* [Cookie Policy](https://jotelulu.com/politica-de-cookies/)\\
* [Legal Notice](https://jotelulu.com/aviso-legal/)\\
* [Terms of Use](https://jotelulu.com/condiciones-de-uso/)\\

\[![](data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiBmYS1icmFuZHMgZmEtbGlua2VkaW4iPjx1c2UgaHJlZj0iI2ljb24tbGlua2VkaW4iPjwvdXNlPjwvc3ZnPg==)]\(<https://www.linkedin.com/company/jotelulu)\\\\>

\[![](data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiBmYS1icmFuZHMgZmEteW91dHViZSI+PHVzZSBocmVmPSIjaWNvbi15b3V0dWJlIj48L3VzZT48L3N2Zz4=)]\(<https://www.youtube.com/@JOTELULU)\\\\>

\[![](data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiBmYS1icmFuZHMgZmEteC10d2l0dGVyIj48dXNlIGhyZWY9IiNpY29uLXgtdHdpdHRlciI+PC91c2U+PC9zdmc+)]\(<https://twitter.com/jotelulu?lang=es)\\\\>

\[![](data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiBmYS1icmFuZHMgZmEtYnNreSI+PHVzZSBocmVmPSIjaWNvbi1ic2t5Ij48L3VzZT48L3N2Zz4=)]\(<https://bsky.app/profile/jotelulu.com)\\\\>

![](https://jotelulu.com/wp-content/uploads/2024/06/CARBON-NEUTRAL_footer.png) ![](https://jotelulu.com/wp-content/uploads/2024/06/GDPR_footer.png) ![](https://jotelulu.com/wp-content/uploads/2025/02/FOOTER_ISO27001.png) ![](https://jotelulu.com/wp-content/uploads/2024/06/CISPE_footer.png) You can unsubscribe from these communications at any time. See our \[Policy of

You can unsubscribe from these communications at any time. See our \[Policy of

.fw-bold} \[|] [+34 911 333 712](tel:+34911333712)

You can unsubscribe from these communications at any time. See our \[Policy of

"}

You can unsubscribe from these communications at any time. See our \[Policy of


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plenit.com/docs-en/support/tutorials/linux/how-to-check-bios-or-uefi-on-linux.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
