LINUX.ORG.RU

Как узнать как грузится ОС (загрузочная запись или UEFI)?

 , ,


1

1

На машине с UEFI диск размечен в gpt, ОС - Fedora35, инструментарий загрузчика - grub2. Как узнать, как грузится ОС, через загрузочную запись на диске, или через UEFI?

★★★

Последнее исправление: normann (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

Имеется в виду, грузится ли система через системный раздел UEFI /boot/efi/boot/boot*.efi, или же загрузка происходит по старинке с загрузочного сектора диска.

normann ★★★
() автор топика
Ответ на: комментарий от normann

Удалить один из вариантов, удачность последующей загрузки всё расставит на свои места =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Shushundr

А зачем?

Мне например надо знать как grub-install вызывать, что бы загрузчик перезаписать.

normann ★★★
() автор топика
#include <stdio.h>
#include <stdlib.h>	//	exit
#include <string.h>

#include <asm/bootparam.h>	//	boot_params

int main()
{
	struct boot_params boot_params;

	FILE *f = fopen("/sys/kernel/boot_params/data", "r");

	if (!f) {
		perror("fopen");
		exit(1);
	}

	fread(&boot_params, sizeof (boot_params), 1, f);

	if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
		     "EL32", 4)) {
		puts("efi32");
	} else if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature,
		     "EL64", 4)) {
		puts("efi64");
	} else {
		puts("not efi");
	};
}
moonmadness
()

В консоль grub2 перейти и набрать set , выведет список параметров действующих и там будет параметр про тип загрузки

irton ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

если есть, то UEFI, если нет, то BIOS

Хорошо, как я понял наличие каталога говорит о наличии UEFI на машине. Если так, то наличие UEFI само посебе ведь не гарантирует, что UEFI загружает систему именно через системный раздел UEFI на диске (/boot/efi/...). Так?

normann ★★★
() автор топика
Последнее исправление: normann (всего исправлений: 1)
Ответ на: комментарий от normann

Еще раз. Наличие каталога говорит, что в данный конкретный раз система загружена в ЕФИ-режиме.

Если у тебя два загрузчика, то загрузись в легаси режиме и увидишь, что каталога нет.

andytux ★★★★★
()
Ответ на: комментарий от Shushundr

Во всяком случае, в каталоге /sys/firmware/efi/efiwars файлы имеют права «rw». Попробуй.

andytux ★★★★★
()
Ответ на: комментарий от normann

Нет, наличие этого каталога определяется именно режимом загрузки, на системах с UEFI, что загружены в BIOS режиме он отсутствует.

Vsevolod-linuxoid ★★★★★
()

через загрузочную запись на диске, или через UEFI?

Наличие efivar в /proc?


Во FreeBSD есть machdep.bootmethod в выводе sysctl.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от Shushundr

чем всё закончилось?

Я думал, что у меня машина грузит grub2 по старинке через загрузочную запись в начале диска, но благодаря вашим коллективным наставлениям, я понял, что у меня машина грузится через UEFI, она загружает загрузчик из /boot/efi/..., а тот в свою очередь загружает grub2 с его меню (а может это он сразу и есть). А может быть это всё мне присинлось, но это уже другая история.

normann ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.