uefi lenovo 320-15isk = боль

Всем привет.

Есть ноут lenovo 320-15isk. Ноут для работы и это не основной комп . Сначала поставил win 10(что бы сделала себе нужные все размеры), затем арч. Ставил загрузчик grub2, добавлял его в uefi через efibootmgr и все было ок. После первой или нескольких загрузок винды запись о grub пропадала.

Я подозреваю что у меня кривой uefi от производителя. Винда скорее всего пытается лезть в настройке uefi и он сбрасывает все загрузочные записи, а найти и добавить самостоятельно может только винду. Что я пытался сделать для решения проблемы:

1) делал скрипт в винде который ставил запись grub2 на первое место в списке загрузки винды. Это помогало примерно 6 месяцев. Затем перестало работать и я еще сделал какой то костыль, который проработал еще пару месяцев. Затем нужна была только винда на этом ноуте и я временно забил на проблему.

2) не так давно снова понадобился арчик. Попробовал поставить rEFind, также его еще поставил в дефолтный путь на случай если слетит запись в uefi. Загрузка винды и загрузочная запись в uefi слетела. Осталась опять ток винда

3) попробовал добавить refind через efi shell. Периодически запись слетает после загрузки гребенной винды

Вообщем с данным экземпляром uefi это боль и страдания)))
На основном компе стоит арч. Разметка с mbr и проблем нет никаких. Выход из данной ситуации вижу ток один - делать разметку mbr и заново все переставлять.
uefi тут к сожалению без efi shell. Таскать с собой всегда загрузочную флешку, что бы быстро добавить загрузочню запись в uefi - не вариант.

Как можно решить проблему с постоянной пропажей записей в uefi?
Чем хуже вариат legacy в сравнении с efi? Хотелось бы какие то значимые аргументы услышать.
Обычно стандартный uefi должен искать по пути efi_раздел/EFI/Boot загрузчик bootx64.efi. Винда свой загрузчик ставит в efi_раздел/EFI/Microsoft
Так что можно просто переименовать рефиндовский загрузчик ( /usr/share/refind/refind_x64.efi ) в bootx64.efi и положить в efi_раздел/EFI/Boot
С чего грузиться выбирать через F11 или uefi настройки
У меня винда никогда efi_раздел/EFI/Boot не изменяла а только загрузочные записи в uefi удаляла, и так всегда можно через настройки uefi запустить рефинд

Если не поможет то можно сделать два efi_раздела с загрузчиками на разных дисках (или диске+флешка если один диск) и выбирать в uefi с чего грузиться

P.s. и странное поведение для винды загрузочные записи она удаляет только при восстановлении загрузчика вроде, может что то подобное словили
https://www.opennet.ru/opennews/art.shtml?num=44740
вот на месте дефолта лежит rEFInd
ls -la /boot/efi/EFI/Boot/
итого 277
drwxr-xr-x 6 root root   1024 июл 11 17:26 .
drwxr-xr-x 6 root root   1024 июл 11 12:29 ..
-rwxr-xr-x 1 root root    134 июл 11 17:26 BOOT.CSV
-rwxr-xr-x 1 root root 202496 июл 11 17:26 bootx64.efi
drwxr-xr-x 2 root root   1024 июл 11 12:31 drivers_x64
drwxr-xr-x 4 root root   6144 июл 11 17:26 icons
drwxr-xr-x 4 root root   6144 июл 11 17:25 icons-backup
drwxr-xr-x 2 root root   1024 июл 11 12:31 keys
-rwxr-xr-x 1 root root  31507 июл 11 12:31 refind.conf
-rwxr-xr-x 1 root root  31507 июл 11 17:26 refind.conf-sample

загрузочной записи нет, загрузить его ни как не могу. Вставил флешку с efi shell и запустил это файл специально, что бы проверить. по итогу это как раз rEFInd, с которого я без проблем загрузил арч.

монтирование efi раздела
/dev/sda2           96M          46M   51M           48% /boot/efi
svkwlad
загрузочной записи нет
Должен без загрузочной записи грузиться в uefi выбирается загрузка с диска( не загрузочная запись) может и по другому называться
Покажите еще загрузочные записи
в арче вывод
efibootmgr
И покажите содержимое BOOT.CSV /boot/efi/EFI/Boot/BOOT.CSV мож у вас там винда прописана
после добавления refind в список загрузки:
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000,2001,2003,0003,0001,2002
Boot0000* Windows Boot Manager
Boot0001* Realtek PXE B01 D00
Boot0002* arch linux
Boot0003* Samsung SSD 860 EVO 250GB
Boot0004* EFI Network 0 for IPv4 (54-E1-AD-FA-00-00)
Boot0005* EFI Network 0 for IPv6 (54-E1-AD-FA-00-00)
Boot0008* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network

sudo cat /boot/efi/EFI/Boot/BOOT.CSV
bootx64.efi,rEFInd Boot Manager,,This is the boot entry for rEFInd

загрузил винду пару раз - загрузочная запись не пропала. Как слетит - добавлю
svkwlad
Boot0003* Samsung SSD 860 EVO 250GB
На этот диск тоже можно рефинд кинуть

EFI Network и Realtek PXE я бы от греха подальше вообще поудалял если не пользуетесь

sudo efibootmgr -Bb номер ненужной записи
# например для Boot0004* EFI Network 0 for IPv4
sudo efibootmgr -Bb 0004
Samsung SSD 860 EVO 250GB это единственный диск в этом ноуте:
Диск /dev/sda: 232,91 GiB, 250059350016 байт, 488397168 секторов
Disk model: Samsung SSD 860
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 1B4DE5C3-8A7A-4120-88E7-0FF2F59D0000

Устр-во       начало     Конец   Секторы Размер Тип
/dev/sda1       2048   1023999   1021952   499M Среда для восстановления Microsoft
/dev/sda2    1024000   1228799    204800   100M EFI
/dev/sda3    1228800   1261567     32768    16M Зарезервированный раздел Microsoft
/dev/sda4    1261568 204802047 203540480  97,1G Microsoft basic data
/dev/sda5  204802048 294979583  90177536    43G Файловая система Linux
/dev/sda6  294979584 488396799 193417216  92,2G Файловая система Linux
svkwlad
единственный диск
Ну гляньте какой там загрузочный файл прописан (efibootmgr -v) если /EFI/Boot/bootx64.efi будет рефинд грузиться при выборе Boot0003* Samsung SSD
Надо посмотреть какие записи будут при
svkwlad
загрузочная запись в uefi слетела
Если есть вариант поставить с легаси, и обычный граб воткнуть, то он не только что не хуже, он лучше в 100 раз, с ефи вечная головная боль, я обычно советую 2ой винт воткнуть под винду и только легаси забацать, в принципе потом можно и примантировать все запчасти куда надо, и как захочется, да и граб кастомайзер есть, с темками красивыми, ни разу ничего не слетало, а вот про этот ефи проклятый, даже вспоминать не тянет.
undemeon
с ефи вечная головная боль
Настроил и забыл
undemeon
он лучше в 100 раз
Чем же?
 
Зарегистрироваться или войдите чтобы оставить сообщение.