LINUX.ORG.RU

Сбрасывается EFI переменная

 , ,


1

1

На компьютере стоит Вин10, поставил рядом линукс.

Создал новую директорию на efi разделе, туда кинул ядро. Делаю efibootmgr -c -d foo -p bar -L 'bla-bla' -l '\path_to_kernel'

Перезагрузка и все нормально грузит.

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

МП: asus m5a97 r2.0

★★☆☆☆

Последнее исправление: BceM_IIpuBeT (всего исправлений: 2)

Винда пишет свой загрузчик в removable media path, что может приводить к этой хрени. Делают разрабы мелкомягкие это из-за кривых UEFI, чем ещё и усугубляют ситуацию, вот цитата из статьи про UEFI wiki Debian:

Many UEFI firmware implementations are unfortunately buggy, as mentioned earlier. Despite the specification for boot entries and boot order being quite clear about how things should work, there are lots of systems in the wild which get it wrong. Some systems simply ignore valid requests to add new boot entries. Others will accept those requests, but will refuse to use them unless they describe themselves as «Windows» or similar. There are lots of other similar bugs out there, suggesting that many system vendors have done very little testing beyond «does it work with Windows?»

As described above, on a UEFI system bootloaders should be installed only in the correct vendor-specific directory in the EFI System Partition (ESP). But, because of the buggy firmware implementations out there, operating system distributors cannot necessarily expect that this will work correctly for all systems. Microsoft have worked around this (and arguably also made the problem worse) - the Windows installer also installs to the removable media path in the ESP (e.g. \EFI\boot\bootx64.efi for amd64/X64 systems). All firmware implentations have to use this path to be able to run an OS installer. This means that Windows will always work on all these broken implementations, but it also means that system vendors can get away with shipping broken implementations. It removes the idea of having a fallback boot path and sensible control of boot order.

All OS installers installing things to this removable media path will conflict with any other such installers, which is bad and wrong. That's why in Debian we don't do this by default.

В общем, тебе мешает винда + кривой UEFI.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Товарисч выше уже отписал, почему так. Дополнительно рекомендую ознакомиться с тематической статьёй по ссылке в моём профиле.

asus

Искренне соболезную.

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

Установка Linux на EFI

lorwiki.ru использует недействительный сертификат безопасности.

Лиса негодуе по кривому ssl

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

Т.е. если винды не будет, то я смогу кидать ядро на место \EFI\boot\bootx64.efi и нормально грузить линукс?

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

Что мешает загрузчик линукса установить тоже в директорию «подключаемых» устройств? Я на всякий случай создаю линуксу отдельный esp-раздел на другом физическом диске, куда собственно линукс и устанавливается. А вообще есть сторонние boot-менеджеры универсальные, например refind

Liferer
()
Ответ на: комментарий от Liferer

Что мешает загрузчик линукса установить тоже в директорию «подключаемых» устройств?

Это как?

Я на всякий случай создаю линуксу отдельный esp-раздел на другом физическом диске, куда собственно линукс и устанавливается

А еще груб ругают за что-то

А вообще есть сторонние boot-менеджеры универсальные, например refind

Ну это такой-то шлак. Уже лучше груб поставить.

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

Лиса негодуе по кривому ssl

Сайт принадлежит одному из (уже не?) забаненных ЛОРовцев, ответственности за сертификат я не несу.

Это оно?

А понь его знает, у меня ссылка так и не открылась за всё время ни разу. Если там вначале про сборку ядра с пометкой, что не всем оно надо, то скорее всего оно.

Т.е. если винды не будет, то я смогу кидать ядро на место \EFI\boot\bootx64.efi и нормально грузить линукс?

Можно и так, и как ты делал раньше. Венда шатает порядок загрузки каждый раз при включении, и может даже заменять записи (на особо "удачных" фирмварях, чаще всего на ASUS).

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

Шелл.

В нормальных прошивках искаропки есть EFI shell. На ASUS я такого не встречал, да.

r3lgar ★★★★★
()

Можно использовать Clover на EFI-разделе, куда кинешь ядро, а винду он сам найдет автоматически.

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

Извините, но шлак, это то, что вы сейчас делаете, зачем-то скопировали ядро на efi раздел, он и так не большой (100 мегабайт, win по дефолту такой размечает), ядра должны лежать в /boot, вот пускай там и лежат, ставите refind, замечательный бутменеджер, который развивает Roderick W. Smith, в uefi ставите его первым в загрузку и из него уже будете выбирать, что грузить, по умолчанию у него включено автообнаружение ос/ядер, он сам найдет все, до чего сможет дотянуться, идеальная вещь для мультибута с uefi. У меня тоже дуалбут win/linux, прекрасно вместе уживаются на одном SSD. Для понимания можно почитать: https://habrahabr.ru/post/224179/, https://geektimes.ru/post/275854/, а потом сесть и по-человечески все сделать.

rbh-17m
()
Ответ на: комментарий от rbh-17m

Извините, но шлак, это то, что вы сейчас делаете

И что же именно?

ядра должны лежать в /boot

UEFI умеет в ext4?

а потом сесть и по-человечески все сделать

Так что же я не правильно делал-то?

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

Так что же я не правильно делал-то?

Нет смысла заниматься ерундой и копировать ядро на efi раздел, refind найдет их в /boot.

rbh-17m
()
Ответ на: комментарий от rbh-17m

У меня запись с rEFInd тоже удаляется. Остается только запись с Windows Boot Manager.

BceM_IIpuBeT ★★☆☆☆
() автор топика

Короче понятно.

Есть 3 выхода:

1. Накатывать обратно Груб;

2. Удалять Винду;

3. Запиливать ядро на отдельную low-capacity флэшку.

BceM_IIpuBeT ★★☆☆☆
() автор топика
Последнее исправление: BceM_IIpuBeT (всего исправлений: 1)
22 августа 2017 г.
Ответ на: комментарий от BceM_IIpuBeT

Я фастбут всегда отключаю, холодный старт без фастбута меньше десяти секунд (Crucial M550), для мультизагрузки отключение фастбута это одно из основных правил.

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