LINUX.ORG.RU

GA-A320M-H Linux UEFI install - глюки

 , ,


1

1

Приветствую, ЛОР. Подали идею описать баг с целью предупредить.

В общем материнская плата AM4, Gigabyte GA-A320M-H.

Глюк выглядит так, что Linux не может установить grub при установке. И не только.

Если копнуть глубже, то дело не в grub, а скорее в EFI BOOT, или вообще в EFI VARS.

В общем как оно выглядит:

[ntfs-a320mh ntfs]# grub-install /dev/nvme0n1
Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

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

Но если сделать вот так:

[ntfs-a320mh ntfs]# cd /sys/firmware/efi/efivars
[ntfs-a320mh efivars]# chattr -i *
[ntfs-a320mh efivars]# ls -lah | tail -n 25
-rw-r--r-- 1 root root  812 Dec 15 22:14 PKDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   10 Dec 15 22:14 PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   96 Dec 15 22:14 PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   32 Dec 15 22:14 ProcMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
-rw-r--r-- 1 root root 1.8K Dec 15 22:14 Profile0-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
-rw-r--r-- 1 root root    5 Dec 15 22:14 SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   11 Dec 15 22:14 SecureBootSetup-7b59104a-c00d-4158-87ff-f04d6396a915
-rw-r--r-- 1 root root   11 Dec 15 22:14 Setup-80e1202e-2697-4264-9cc9-80762c3e5863
-rw-r--r-- 1 root root  787 Dec 15 22:14 Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
-rw-r--r-- 1 root root    5 Dec 15 22:14 SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root  148 Dec 15 22:14 SignatureSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root    6 Dec 15 22:14 SIO_DEV_STATUS_VAR-5820de98-fc8e-4b0b-a4b9-0a940d162a7e
-rw-r--r-- 1 root root   12 Dec 15 22:14 SmbiosEntryPointTable-4b3082a3-80c6-4d7e-9cd0-583917265df1
-rw-r--r-- 1 root root   12 Dec 15 22:14 SmbiosEntryPointTableF000-4b3082a3-80c6-4d7e-9cd0-583917265df1
-rw-r--r-- 1 root root   12 Dec 15 22:14 SmbiosScratchBuffer-4b3082a3-80c6-4d7e-9cd0-583917265df1
-rw-r--r-- 1 root root   12 Dec 15 22:14 SmbiosV3EntryPointTable-4b3082a3-80c6-4d7e-9cd0-583917265df1
-rw-r--r-- 1 root root 1.3K Dec 15 22:14 StdDefaults-4599d26f-1a11-49b8-b91f-858745cff824
-rw-r--r-- 1 root root    6 Dec 15 22:14 Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   10 Dec 15 22:14 TPMPERBIOSFLAGS-7d3dceee-cbce-4ea7-8709-6e552f1edbde
-rw-r--r-- 1 root root   12 Dec 15 22:14 TpmServFlags-7d3dceee-cbce-4ea7-8709-6e552f1edbde
-rw-r--r-- 1 root root   36 Dec 15 22:14 UnlockIDCopy-eaec226f-c9a3-477a-a826-ddc716cdc0e3
-rw-r--r-- 1 root root   53 Dec 15 22:14 UsbSupport-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
-rw-r--r-- 1 root root    5 Dec 15 22:14 VendorKeys-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root   68 Dec 15 22:14 WriteOnceStatus-4b3082a3-80c6-4d7e-9cd0-583917265df1
-rw-r--r-- 1 root root    6 Dec 15 22:14 XhciDID-a7e92950-4ec9-4502-8576-f851308f8c18
[ntfs-a320mh efivars]# rm Profile0-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
[ntfs-a320mh efivars]# grub-install /dev/nvme0n1
Installing for x86_64-efi platform.
Installation finished. No error reported.
[ntfs-a320mh efivars]# 

удалив какую-то переменную (от фонаря) - то после все устанавливается корректно.

В буте у меня такое:

[ntfs-a320mh efivars]# efibootmgr 
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0004,0007
Boot0000* manjaro
Boot0004* Windows Boot Manager
Boot0007* Samsung SSD 950 PRO 256GB

На какие нюансы обратил внимание:

1. Винда обрабатывает эти ситуации нормально, включая две Винды на разных винтах;

2. Первый раз Linux установился хорошо, видимо затыки в добавлении второго загрузчика. Удалять все абсолютно записи не пробовал;

3. Если на этапе установки через консоль удалить пару efivars - установка продолжится нормально;

4. Некоторые упородистры вроде artix (или endevourOS, не буду врать) выполняют пост-инсталл после установки загрузчика, лол, соответственно если на этом этапе произошел сбой - система окажется установленной, но не настроенной.

Ну такое впечатление что на хранение этого сраного EFI есть два килобайта, и новое нельзя добавлять пока не подчистишь старое. Бред.

Позвонил ради интереса в магазин, описал ситуацию. Магазин сказал что принять по гарантии они примут в любом случае, однако они отправят на сервис, где вам поставят Винду работу которой гарантирует производитель, и УМВР, идите нафиг. Это камень в огород тем фоннатикам, которые считают что Linux может существовать без поддержки вендоров, ориентирующихся на аудиторию пользователей. Нет, не может - и вот яркий пример, вроде бы видимый и осязаемый глюк железа, но случай не гарантийный, ибо там где оно должно работать - оно работает, на Винде, остальное ССЗБ.

И нет, это не глюк конкретно этого экземпляра. У меня есть возможность протестировать на двух одинаковых конфигах, которые я взял себе и другу. Глюк подтвердился.

p.s. пост - для обсуждения, помощи не прошу, ибо все работает, так что можно перемещать в лолксы

★★★★★

p.s. пост - для обсуждения, помощи не прошу, ибо все работает, так что можно перемещать в лолксы

Не надо! Среди анонимусов есть компетентные люди, а в толксах им писать нельзя…

hobbit ★★★★★
()

Там может быть гора переменных со словом «dump» в названии — их удаление обычно помогает. У меня была такая фигня в Debian периодически, но не в Ubuntu.

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

Да, такие переменные есть.

Ты не в курсе, они создаются EFI ? Или ядром ? В смысле, кому морду бить ?

windows10 ★★★★★
() автор топика

Берешь и патчишь сорцы, сам знаешь какие. А в этой твоей винде только микрософт может исправлять все что угодно и неугодно.

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

Не в курсе. Было проще раз в полгода их удалить, чем разбираться. Скорее ядро, но может и EFI при каких-то взаимодействиях с ядром или загрузчиком.

anonymous
()

Как себя чувствует Void? Gentoo ставится? Lilo тоже глючит? Режим UEFI уже вырубал? Почему нет желания вернуть плату без объяснения причин в течение 2 недель? Пост как видно для обсуждения почему был сделан тот, а не иной выбор и на чем основаны утверждения.

anonymous
()
Ответ на: комментарий от vasily_pupkin
[  234.251943] pstore: Using crash dump compression: deflate
[  234.257532] pstore: Registered efi as persistent store backend

Файлы есть, они пустые.

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

Как себя чувствует Void? Gentoo ставится?

Из экзотики пока ничего не ставил. Дебиано и арче подобные все вылетают

Lilo тоже глючит?

Никогда им не пользовался.

Режим UEFI уже вырубал?

Да. MBR всегда работает как часики. Но я ж хочу модняво.

Почему нет желания вернуть плату без объяснения причин в течение 2 недель?

Потому что во-первых такое не узнаешь в течение двух недель, юзкейс-то нетривиальный, а во-вторых, две недели без объяснения - отменяются при использовании товара, и превращаются в гарантию.

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

Берешь и патчишь сорцы, сам знаешь какие.

Не. Сорцы пусть патчат те, кто называют свои дистрибутивы «юзер-френдли». Я же отношусь к тем хипстерам, что на установку системы дают полчаса, и если она занимает больше - ОС записывается в разряд «ненужных» :)

windows10 ★★★★★
() автор топика

А grub загрузчик разве не так ставится?

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch

Где /boot/efi, каталог, куда ESP-раздел смонтирован.

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

Да так ,а то что ТС написал бред, намонтировал разделы неправильно и команду от легаси установки взял

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

Да так ,а то что ТС написал бред, намонтировал разделы неправильно и команду от легаси установки взял

При чем здесь разделы, при чем здесь команды ? Если я это заметил на лайв инсталлерах убунты и манжары-артикса-мх линукса ? А уже потом стал экспериментировать на живой системе.

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

Он сам определяет как и куда ставиться.

При чем здесь вообще GRUB если проблема с EFIVARS?

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

Притом что тебе англицким языком написало No space left on device

память на флешке материнки не резиновая, на экспериментировался забил память - возьми почисти

man efibootmgr

и man grub-install чтоб не путать команды

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

память на флешке материнки не резиновая

Винде это не мешает прописать себя.

Я где-то спрашивал КАК это чинить ?

Мужик, альоу.

Алгоритм дословно пошагово:

13:00 - распаковал и подключил плату, SSD-шник и итд;

14:00 - поставил Винду;

15:00 - поставил Центось;

16:00 - ставлю Убунту, выбивает инсталлер. Ставлю Манжару - выбивает инсталлер.

Какой нах man чо-то там, если это НОВОЕ ЖЕЛЕЗО, еще и вдобавок на которое винда ставится в любом порядке, и первой системой, и третьей, и по кругу.

Еще раз. Я не спрашивал как это чинить, у меня все работает. Меня интересует только один вопрос - это КОСЯК GIGABYTE, или это КОСЯК ЛИНУКСА ? Вроде как нигде не написано что UEFI ограничивает установку ОС двумя.

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

Винде это не мешает прописать себя.

В линуксе перестраховываются и не используют все место после случаев с первыми кривыми реализациями UEFI. Какими-то опциями можно отказаться от этого.

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

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

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

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

На террабайтном харде написано ТЕРРАБАЙТ, из-за чего я могу заранее спрогнозировать, что туда войдет, и чего туда не войдет, и могу не купить его, если мне надо три террабайта.

Если бы на материнской плате было написано «2 OS only» - я бы ее не купил. Или купил, если бы меня устраивало 2 ОС на компе.

И опять же - всегда существует вероятность бага. Это нормально. Может в БИОСе не отключен дебаг, или дамп чо-то там. Или как уже выше говорили, ядро срет dmesg втуда. Хочу разобраться. Не чинить! Разобраться.

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

Это не экзотика, просто если будут работать загрузчики Slackware, Void, Devuan значит виновата systemd. UEFI может напрямую грузить ось. Если модяво, то это именно напрямую грузить.

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

Я не разбирался как эта срань работает, но подозреваю что этот boot order прописывается в NVRAM, но не может если там нету места.

EFI-то может грузить напрямую. Но чтобы он загрузил - эту ОСь надо выбрать в списке. За это и отвечает сраный boot manager.

Граб тут по сути и ни при чем. Нужно понять кто забивает NVRAM - кривой БИОС, или кривой ЛИНУКС.

windows10 ★★★★★
() автор топика

Нах с efi тебе этот груб и его установка сдались вообще? Или грузи напрямую efistub ядро, или refind кидай на esp раздел.

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

«Выбрать в списке» можно средствами самого uefi.

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

Это твой косяк. Еще раз перечитай man efibootmgr и смотри сколько и чего записано и это не количество ос на машине это просто записи для загрузки, каждый раз создается при твоих неудачных установках груба

efibootmgr -v
удалить ненужное
efibootmgr -Bb номер ненужного
В линуксе защита при заполнении nvram наполовину записи в него не будет, в винде ее нету. Можно отключить, но лучше не надо. Не на всех материнках есть восстановление дефолтного состояния nvram.

И читаешь man grub-install чтоб не писать при efi

grub-install /dev/nvme0n1

anonymous
()

я взял себе и другу помощи не прошу

пожалуй, самые яркие моменты.

По теме, это не глюк, а особенности реализации, покупай железки с поддержкой, ну или решай проблему другими доступными способами.

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

Нах с efi тебе этот груб и его установка сдались вообще? Или грузи напрямую efistub ядро, или refind кидай на esp раздел.

Читай тред)

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

Какие материнки сегодня аппаратно, джемпером, блокируют запись в UEFI?

С известного мне современного железа аппаратно, болтом на мамке, запись в UEFI заблокирована в ChromeBook от Google.

После вируса «чернобыль» почти все мамки блокировали аппаратно, джемпером, запись в BIOS. Неудобно обновлять и производители массово перешли на программный SecureBoot с подписью UEFI. Пользователи, некоторые, SecureBoot отключают и разрешают всем гадить в их UEFI. BootKit-ы не видимы с OS, имеют полный контроль над компом и запись в UEFI их очень привлекает. В каких моделях матплат запись в UEFI контролируется аппаратно?

anonymous
()

Винда обрабатывает эти ситуации нормально, включая две Винды на разных винтах;

Удоли.

chenbr0
()

Магазин сказал что принять по гарантии они примут в любом случае, однако они отправят на сервис, где вам поставят Винду работу которой гарантирует производитель, и УМВР, идите нафиг.

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

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

Причем тут это. Новичек просто не может закинуть загрузчик по дефолтному пути или удалить неужные записи чтобы прописать новую

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

14:00 - поставил Винду;

Всё правильно сделал. Но, если ты, как любой виндузятник, в процессе установки нажимал лишь «далее-далее-далее» не задумываясь, есть нюансы, как в том анекдоте.

Windows 10 под раздел ESP отделяет всего 100 (сто) мегабайт, его загрузчику просто наплевать на существование других операционных систем. За этим надо всегда следить.

Проверь этот раздел.

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

Сам uefi находит файл по дефолтному пути с дефолтным названием \EFI\Boot\bootx64.efi на его место можно положить тот же груб и он будет грузиться если выбрать загрузку с диска и efios ( по такому принципу загрузочные флешки работают)

Винда же себя именно прописывает примерно Boot0000 Windows Boot Manager диск такой то \EFI\Microsoft\Boot\bootmgfw.efi

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

Windows 10 под раздел ESP отделяет всего 100 (сто) мегабайт, его загрузчику просто наплевать на существование других операционных систем. За этим надо всегда следить.

Не не не. Там же затык идет не в «положить файл», а в «добавить его в boot order», это NVRAM.

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

Впредь знай, что на каждой материнке очевидно подразумевается «1 ОС guaranteed». И эмблемочка есть с уточнением, какая именно.

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

Ставил как-то Windows 10, ничего ей не плевать. Установка была на другой SSD, так она не стала создавать свой ESP, а добавила загрузчик в существующий, ничего там не испортив. Поведение соответствует стандарту.

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

так она не стала создавать свой ESP, а добавила загрузчик в существующий, ничего там не испортив

Это так. Но это неудобно потому что нет контроля над происходящим. Мне хотелось иметь два разных SSD - один для Linux, другой для Windows. Каждый со своим собственным ESP. Я не нашел никакого другого способа, кроме как физически отключать диск с Linux, чтобы она создала свой собственный ESP. Так - работает.

Но речь в топике не про ESP, а про записи в NVRAM. И там действительно всё плохо для Linux'ов у многих материнских плат. При любых подозрениях UEFI стирает все подозрительные записи, кроме Windows.

Давеча компутер перетряхивал/чистил. Решил, что шлейф с морды USB3 будет красивее вставить в другой разъём. Просто по «кабель-менеджемент» красивее выглядит.

Так UEFI решил, что оборудование поменялось - и сбросил нафиг все записи в NVRAM про gummiboot. Заново руками прописывал. MSI Z97 MPOWER MAX AC

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

Это на некоторых реализациях uefi происходит, при осутствии диска записи ссылающиеся на него удаляются. К линуксу отношения не имеет и обходится просто расположением загрузчика по дефолтному пути \EFI\Boot\bootx64.efi Загрузка по этому пути прописана в стандартах и должна соблюдаться на всех реализациях

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

Предлагаю не спорить.

После чистки всё было собрано ровно так, как было. Кроме шлейфа USB3. Все диски и видеокарта были вставлены ровно в те же слоты. Т.е. «отсутствия диска» не было.

Просто при первом включении исчезла запись про \EFI\gummiboot\.

Про \EFI\Boot\bootx64.efi я ничего и не говорил.

--------------------------

Или может я плохо рассказал - отключение диска с Linux для установки независимой Windows и чистка компутера с переключением шлейфа - это две разные истории с промежутком между собой в два года.

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

Но это неудобно потому что нет контроля над происходящим. Мне хотелось иметь два разных SSD - один для Linux, другой для Windows.

Вообще мне тоже хотелось, но это была разовая установка для обновления прошивки, так что пофиг.

Но речь в топике не про ESP, а про записи в NVRAM. И там действительно всё плохо для Linux’ов у многих материнских плат. При любых подозрениях UEFI стирает все подозрительные записи, кроме Windows.

У меня нет Windows, но я такого не наблюдал. Пока накопитель не отключается, записи остаются. По-моему, даже при отсутствии нужных файлов. Платы все ASUS, разных поколений и платформ, 2017+ года.

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

После вируса «чернобыль» почти все мамки блокировали аппаратн…

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

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

indows 10 под раздел ESP отделяет всего 100 (сто) мегабайт

Да, три-четверти этого занимает сама винда. Но оставшихся вполне достаточно, чтобы поместить три-четыре груба.

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

uefi находит файл по дефолтному пути с дефолтным названием

По спецификации должен. Но зависит от данного конкретного УЕФИ. Сталкивался с такими, что как только видят виндовый bootmgfw.efi, плюют на всякие спецификации вообще и дефолтные загрузчики в частности, видят только виндовый.

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

В таком случае вы бы вообще с флешки установочный лайв линукса не загрузили. Просто для этого диска и раздела efi уже прописана загрузочная запись винды. Ее можно или перенести или поставить на второе место. В любом случае если вы загрузили установочный лайв линукса значит проблем с efi у вас нет. Создаем ефи раздел на диске или используем существующий кладем по дефолтному пути загрузчик, если винда мешается или ставим ее запись на второе место или удаляем ее запись или переименовываем ее загрузочный файл(если в ефи автопоиск винды). В крайнем случае можете создать раздел ефи на другом диске или флешке с дефолтным расположением загрузчика А вот лезть руками в nvram как Т.С. не надо, если не знаете что делаете - риск окирпичить материнку

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

То же самое проделали только вместо дефолта положили файл на место виндового. Файл можно было и груба взять или рефинд или любое ефи приложение

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

можно было и груба взять

Т.е. даже не дочитал. Есть там и груб и рефинд и всяко разно, и про несколько ESP-разделов, и про добавление удаление записей.

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