Linux check bios or uefi

How to know if I’m booting using UEFI?

I was searching, but didn’t find an obvious way to know if GRUB is using UEFI in the system boot, or the BIOS compatibility mode, or a full fledged BIOS. I found only Windows methods. Is there something in GRUB or the Kernel boot logs that shows if I’m using UEFI, EFI or BIOS?

Don’t have the time to look up the answer, but I’ve been doing a lot of UEFI troubleshooting lately, too. This site is pretty helpful with understanding UEFI. rodsbooks.com/refind/index.html

@ericx this question is under the pretense that you don’t have any idea of how to check it out. That’s why all solutions can be done on a booted system.

2 Answers 2

First method:

Ok, I booted up my UEFI box to check. First clue, near the top of dmesg . This shouldn’t appear if you’re booted via BIOS:

[ 0.000000] efi: EFI v2.31 by American Megatrends [ 0.000000] efi: ACPI=0xd8769000 ACPI 2.0=0xd8769000 SMBIOS=0xd96d4a98 [ 0.000000] efi: mem00: type=6, attr=0x800000000000000f, range=[0x0000000000000000-0x0000000000001000) (0MB) ⋮ 

Second method:

$ sudo efibootmgr BootCurrent: 0000 Timeout: 0 seconds BootOrder: 0000 Boot0000* debian 

If you are not, then the following should appear:

$ sudo efibootmgr EFI variables are not supported on this system. 

Note that you’ll have to have the efibootmgr package installed. You can also attempt to list the EFI variables:

$ efivar -l . over 100 lines of output . 

Third method:

Check if you have a /boot/efi :

$ df -h --local | grep /boot /dev/sda2 229M 31M 187M 14% /boot /dev/sda1 120M 250K 119M 1% /boot/efi 

Inside that partition should be the files that UEFI executes to boot.

If using any of these methods the relevant entries doesn’t appear, is very likely you are not using UEFI.

Источник

Как проверить, использует ли компьютер BIOS или UEFI; загрузчик GRUB или systemd-boot; таблицу разделов MBR или GPT

Если вам что-то непонятнои из данных терминов, то теорию смотрите в статьях:

Если на первом шаге используется BIOS, то на втором шаге, скорее всего, задействован загрузчик GRUB.

Если на первом шаге используется UEFI, то на втором шаге может использоваться как загрузчик GRUB, так и загрузчик systemd-boot.

Если у вас возник вопрос, используется ли на вашем компьютере UEFI или GRUB, то данный вопрос является неправильным, поскольку UEFI и GRUB не являются взаимоисключающими.

Читайте также:  Linux файл конфигурации сервиса

Современный GRUB2 может работать как с BIOS, так и с UEFI (с помощью efibootmgr). В Arch Linux поддержка BIOS и UEFI собрана в один пакет grub. В Debian и производных дистрибутивах GRUB представлен двумя версиями:

Как узнать, используется ли на компьютере БИОС или UEFI

Проще всего проверить, используется ли на компьютере UEFI. Если ответ будет отрицательным, то это означает, что на компьютере используется БИОС.

Для проверки поддержки компьютером UEFI выполните команду:

Если будет выведен список директорий, например такой:

То это означает, что данный компьютер поддерживает UEFI.

Если будет показано сообщение об ошибке:

ls: cannot access '/sys/firmware/efi': No such file or directory

То это означает, что данный компьютер работает с БИОСом.

Также вы можете проверить наличие переменных UEFI:

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

Если будет выведено сообщение об ошибке

-bash: efivar: command not found

То значит компьютер работает на БИОС.

Также для проверки можно использовать утилиту efibootmgr:

Если она выведет информацию об UEFI Boot Manager, то значит используется UEFI.

Обратите внимание, что последний способ не является надёжным, поскольку утилита efibootmgr не является обязательной даже для компьютеров на UEFI. То есть если при использовании UEFI вы получили сообщение, что команда не найдена, то возможно компьютер поддерживает UEFI, но на нём не установлен пакет efibootmgr.

Ещё один способ — это утилита bootctl:

Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi. Alternatively, use --esp-path= to specify path to mount point. System: Not booted with EFI

Обратите внимание на сообщение «Not booted with EFI», то есть компьютер использует БИОС.

Наконец, наличие EFI раздела можно проверить с помощью fdisk:

Если на загрузочном диске имеется раздел «EFI System», значит данный компьютер поддерживает UEFI.

Поскольку для UEFI необходим отдельный раздел «EFI System», то можно утверждать, что если на загрузочном диске отсутствует данный раздел, значит данный компьютер не поддерживает EFI, а работает с БИОСом.

Как узнать, используется ли на компьютере загрузчик GRUB или systemd-boot

Чтобы узнать, используется ли загрузчик systemd-boot, выполните команду:

Ответ довольно лаконичный: yes или no.

Ответ вы получите только в том случае, если ваш компьютер использует UEFI. В противном случае будет выведено:

Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi. Alternatively, use --esp-path= to specify path to mount point.

Методом исключения можно определить, что если не используется загрузчик systemd-boot, то, скорее всего, используется загрузчик GRUB. Но как достоверно подтвердить, что используется именно загрузчик GRUB?

В системе с установленным GRUB должна присутствовать папка /boot/grub и файл /boot/grub/grub.cfg. Чтобы подтвердить, что используется загрузчик GRUB, можно проверить их наличие:

Вы можете найти другие способы определения GRUB, в частности поиск строки «GRUB» в загрузочной области диска, но данный способ применим только к GRUB-PC! С GRUB-EFI данный способ не работает.

Поскольку в Debian сейчас существует две разных версии GRUB-EFI и GRUB-PC, которые различаются весьма сильно, то рассмотрим, как определить каждую из них.

Читайте также:  Pwntools install kali linux

Как узнать, используется ли GRUB-EFI или GRUB-PC

Как уже было сказано, в Debian и производных существует две версии GRUB:

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

В Arch Linux и производных этого дистрибутива версии GRUB-EFI и GRUB-PC объеденины в один пакет.

Используя предыдущую информацию можно логически определить, используется ли GRUB-EFI или GRUB-PC:

  1. Если на компьютере используется EFI, но не используется загрузчик systemd-boot, значит используется загрузчик GRUB-EFI
  2. Если на компьютере не используется EFI, то, вероятно, используется загрузчик GRUB-PC

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

В первую очередь проверьте содержимое папки /boot/grub:

Наличие в этой директории подпапки «x86_64-efi» говорит, что в данной операционной системе используется GRUB-EFI:

Наличие директории «i386-pc» говорит, что используется GRUB-PC:

Если вы получили сообщение об ошибке:

ls: cannot access '/boot/grub': No such file or directory

Оно означает, что в данной ОС не используется GRUB.

В репозиториях Debian и производных установочные пакеты GRUB-EFI и GRUB-PC отмечены как конфликтующие, то есть можно установить только один из них. Поэтому проверим установленные пакеты можно определить, какая именно версия GRUB исползуется:

dpkg -l | grep grub | grep ii

Установленные пакеты «grub-efi-amd64» и «grub-efi-amd64-bin» говорят о том, что используется GRUB-EFI:

Установленные пакеты «grub-pc» и «grub-pc-bin» говорят, что используется GRUB-PC:

Ещё один способ подтвердить, что в операционной системе используется загрузчик GRUB-PC это следующая команда:

dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings | grep GRUB

Если будет показан какой-либо вывод, значит используется GRUB-PC.

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

Пример команды, если операционная система установлена на диск /dev/vda:

dd bs=512 count=1 if=/dev/vda 2>/dev/null | strings | grep GRUB

На этом скриншоте видно, что в ОС используется GRUB-PC:

Для GRUB-EFI аналогичная команда отсутствует.

Как узнать, используется ли на компьютере таблица разделов MBR или GPT

Обычно компьютеры с EFI используют таблицу разделов GPT, а компьютеры с БИОС используют MBR, хотя возможны и исключения.

Следующая команда покажет тип таблицы разделов для конкретного диска:

lsblk -dno NAME,PTTYPE /dev/nvme0n1

А следующая команда выведет типы таблиц разделов для всех дисков в операционной системе:

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

Обратите внимание на значение «Disklabel type»:

Эту же информацию можно получить с помощью утилиты cfdisk:

Обратите внимание на значение «Label»:

Источник

Как проверить, использует ли ваш компьютер UEFI или BIOS

Система

Краткое описание: быстрое руководство, которые рассказывает о том, как проверить, использует ли ваш компьютер UEFI или BIOS. Мы сделали инструкции как для Windows, так и для Linux.

Когда вы пытаетесь выполнить двойную загрузку Linux с Windows, вам нужно знать, есть ли в вашей системе режим загрузки UEFI или BIOS. Это поможет вам решить, какой раздел нужно выбрать для установки Linux.

Читайте также:  Telegram desktop astra linux

Я не буду обсуждать, что такое BIOS здесь. Однако я хотел бы сказать вам несколько преимуществ UEFI над BIOS.

Интерфейс UEFI или Unified Extensible Firmware Interface был разработан для преодоления некоторых ограничений BIOS. Он добавил возможность использовать диски более 2 ТБ и имел независимую от процессора архитектуру и драйверы. Благодаря модульной конструкции он поддерживает удаленную диагностику и ремонт даже без установленной операционной системы и гибкой среды без ОС, включая сетевые возможности.

Преимущество UEFI над BIOS

  • UEFI быстрее инициализирует ваше оборудование.
  • Предложение «Безопасная загрузка» означает, что все, что вы загружаете до загрузки ОС, должно быть подписано. Это дает вашей системе дополнительный уровень защиты от запуска вредоносного ПО.
  • BIOS не поддерживает раздел размером более 2 ТБ.
  • Самое главное, если вы используете двойную загрузку, всегда рекомендуется установить обе ОС в том же режиме загрузки.

Если вы пытаетесь выяснить, работает ли ваша система UEFI или BIOS, это не так сложно. Позвольте мне сначала начать с Windows и потом, посмотрим, как проверить UEFI или BIOS на системах Linux.

Как проверить, использует ли ваш компьютер UEFI или BIOS в Windows

В Windows «Сведения о системе» в панели «Пуск» и в режиме BIOS вы можете найти режим загрузки. Если он говорит Legacy, ваша система имеет BIOS. Если это говорит UEFI, то это UEFI.

Альтернатива: если вы используете Windows 10, вы можете проверить, используете ли вы UEFI или BIOS, открыв проводник и перейдите в C: \ Windows \ Panther. Откройте файл setupact.log и найдите строку ниже.

. Detected boot environment .

Я бы посоветовал открыть этот файл в блокноте Notepad++, поскольку его огромный текстовый файл и блокнот могут зависать (по крайней мере, для меня с 6 ГБ ОЗУ).

Вы найдете пару строк, которые предоставят вам информацию.

. 2017-11-27 09:11:31, Info IBS Callback_BootEnvironmentDetect:FirmwareType 1. 2017-11-27 09:11:31, Info IBS Callback_BootEnvironmentDetect: Detected boot environment: BIOS .

Проверьте, используете ли вы UEFI или BIOS в Linux

Самый простой способ узнать, используете ли вы UEFI или BIOS, — искать папку /sys/firmware/ efi. Папка будет отсутствовать, если ваша система использует BIOS.

Альтернатива: Другой способ — установить пакет, называемый efibootmgr .

В дистрибутивах Debian и Ubuntu вы можете установить пакет efibootmgr, используя следующую команду:

sudo apt install efibootmgr

После этого введите следующую команду:

Если ваша система поддерживает UEFI, она выдаст различные переменные. Если нет, вы увидите сообщение о том, что переменные EFI не поддерживаются.

Это были все самые просты способы того, как проверить, использует ли ваш компьютер UEFI или BIOS. Знаете более быстрый путь — расскажите нам об этом в комментариях

Найти, что ваша система использует UEFI или BIOS, очень просто. С одной стороны, такие функции, как более быстрая и безопасная загрузка, обеспечивают преимущество UEFI, вам нечего беспокоить, если вы используете BIOS — если только вы не планируете использовать жесткий диск 2 ТБ для загрузки.

Источник

Оцените статью
Adblock
detector