Приветствую, ЛОР. Подали идею описать баг с целью предупредить.
В общем материнская плата 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. пост - для обсуждения, помощи не прошу, ибо все работает, так что можно перемещать в лолксы