переполнение UEFI загрузочного раздела

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 25 июл 2022, 17:34

Впервые напоролся на это при инсталляции на носитель (внутренний SSD) GalliumOS:
- загрузочный раздел UEFI (скрытый обычно) небольшой...
... обычно 512Mb, где-то может быть и меньше...
- при многочисленных перезагрузках он заполняется...
- при стандартной инсталляции "удалить все разделы старые и установить" - оно не считает раздел UEFI за "значащий", а только дописывает туда...
- ... и вот оказывается, что дописывать больше уже некуда
Похоже, что подобная история случалась и с другими дистрибутивами...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 25 июл 2022, 17:37

Olej писал(а):
25 июл 2022, 17:34
... обычно 512Mb, где-то может быть и меньше...
А на мультизагрузочной флешке Ventoy - так и вообще мизер - 32Mb:

Код: Выделить всё

olej@R420:~/Загрузки/ISO/GalliumOS$ inxi -Dxxx | grep USB
           ID-6: /dev/sde type: USB model: N/A size: 14.65 GiB serial: 5864331075324466678 rev: 2.00 scheme: MBR 

Код: Выделить всё

olej@R420:~/Загрузки/ISO/GalliumOS$ sudo fdisk -l /dev/sde
[sudo] пароль для olej:       
Диск /dev/sde: 14,66 GiB, 15728640000 байт, 30720000 секторов
Disk model: ProductCode     
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x43079c24

Устр-во    Загрузочный   начало    Конец  Секторы Размер Идентификатор Тип
/dev/sde1  *               2048 30654463 30652416  14,6G             7 HPFS/NTFS/exFAT
/dev/sde2              30654464 30719999    65536    32M            ef EFI (FAT-12/16/32)
Но там, по идее, в раздел /dev/sde1 копируются ISO имиджи, а раздел /dev/sde2, по идее, не должен затрагиваться...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 25 июл 2022, 17:38

Olej писал(а):
25 июл 2022, 17:34
- ... и вот оказывается, что дописывать больше уже некуда
Проявляется это, и понятно почему так, в том, что инсталляция и копирование дистрибутива на носитель идёт нормально до конца ... а в конечной фазе, когда оно пишет "копирование загрузчика GRUB ..." - сбой!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 10 фев 2023, 20:36

Один из вариантов решения проблемы - из обсуждений Telegram:
Vas Bond, [10.02.2023 18:30]
Вот что помогло:
Открываем

/etc/initramfs-tools/initramfs.conf
меняем параметр

MODULES=most
на

MODULES=dep
сохраняем конфиг, пересоздаём:

sudo update-initramfs -u
Если не поможет, то можно попробовать изменить степень сжатия:

/etc/initramfs-tools/initramfs.conf
меняем параметр

COMPRESS=zstd
на

COMPRESS=xz
сохраняем конфиг, пересоздаём:

update-initramfs -u
Это за счёт степени сжатия.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 10 фев 2023, 20:41

Olej писал(а):
25 июл 2022, 17:34
подобная история случалась и с другими дистрибутивами...
Хотя, если не переустанавливать что-попало и как-попало, то каждая инсталляция занимает не много места.
Вот свежая инсталяция Mint 21.1 в дефаултной разбивке:

Код: Выделить всё

olej@R420:~/2023/own.BOOKs/BHV.kernel.new/GASM.next.inWORK$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.1
Release:	21.1
Codename:	vera

Код: Выделить всё

olej@R420:~/2023/own.BOOKs/BHV.kernel.new/GASM.next.inWORK$ df
Файл.система   1K-блоков Использовано  Доступно Использовано% Cмонтировано в
tmpfs            9892640         2100   9890540            1% /run
/dev/sda5      114274768     45111456  63768408           42% /
tmpfs           49463188            8  49463180            1% /dev/shm
tmpfs               5120            4      5116            1% /run/lock
/dev/sda1         523248         3312    519936            1% /boot/efi
/dev/nvme0n1p1 239254916    199284460  27744204           88% /home
/dev/sdb2      239779204     92036216 135516764           41% /home/olej/Загрузки
tmpfs            9892636          136   9892500            1% /run/user/1000

Код: Выделить всё

olej@R420:~/2023/own.BOOKs/BHV.kernel.new/GASM.next.inWORK$ sudo fdisk -l /dev/sda
[sudo] пароль для olej:       
Диск /dev/sda: 111,79 GiB, 120034123776 байт, 234441648 секторов
Disk model: THNSF8120CCSE   
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x000bfcf6

Устр-во    Загрузочный  начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1  *              2048   1050623   1048576   512M             b W95 FAT32
/dev/sda3              1052670 234440703 233388034 111,3G             5 Расширенный
/dev/sda5              1052672 234438655 233385984 111,3G            83 Linux

Код: Выделить всё

olej@R420:~/2023/own.BOOKs/BHV.kernel.new/GASM.next.inWORK$ sudo ls -l /boot/efi
итого 3296
drwx------ 2 root root    4096 июн 26  2021 '$RECYCLE.BIN'
-rwx------ 1 root root 3363071 июн 26  2021  1.exe
drwx------ 2 root root    4096 июн 26  2021 'System Volume Information'

Код: Выделить всё

olej@R420:~/2023/own.BOOKs/BHV.kernel.new/GASM.next.inWORK$ sudo tree /boot/efi
/boot/efi
├── $RECYCLE.BIN
│   └── desktop.ini
├── 1.exe
└── System Volume Information
    ├── IndexerVolumeGuid
    └── WPSettings.dat

2 directories, 4 files

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

переполнение UEFI загрузочного раздела

Непрочитанное сообщение Olej » 10 фев 2023, 21:27

Olej писал(а):
10 фев 2023, 20:36
Один из вариантов решения проблемы - из обсуждений Telegram:
Ещё из Telegram:
Утилита bootmgr

sudo apt-get install efibootmgr

Смотрим список загрузки

sudo efibootmgr

Удаляем лишние пункты
хххх Это цифро буквенное значение после Boot, строки которую нужно удалить.

sudo efibootmgr --bootnum xxxx --delete-bootnum

Код: Выделить всё

olej@R420:~/2023$ aptitude search efibootmgr
i   efibootmgr                                                           - взаимодействие с менеджером загрузки EFI                                      
v   efibootmgr:i386                                                      -                                                                               
Это дефаултное состояние у меня, в Mint 21.1 по крайней мере.

Код: Выделить всё

olej@R420:~/2023$ efibootmgr --help
efibootmgr version 17
usage: efibootmgr [options]
	-a | --active         sets bootnum active
	-A | --inactive       sets bootnum inactive
	-b | --bootnum XXXX   modify BootXXXX (hex)
	-B | --delete-bootnum delete bootnum
	-c | --create         create new variable bootnum and add to bootorder
	-C | --create-only	create new variable bootnum and do not add to bootorder
	-D | --remove-dups	remove duplicate values from BootOrder
	-d | --disk disk       (defaults to /dev/sda) containing loader
	-r | --driver         Operate on Driver variables, not Boot Variables.
	-e | --edd [1|3|-1]   force EDD 1.0 or 3.0 creation variables, or guess
	-E | --device num      EDD 1.0 device number (defaults to 0x80)
	-g | --gpt            force disk with invalid PMBR to be treated as GPT
	-i | --iface name     create a netboot entry for the named interface
	-l | --loader name     (defaults to "\EFI\ubuntu\grub.efi")
	-L | --label label     Boot manager display label (defaults to "Linux")
	-m | --mirror-below-4G t|f mirror memory below 4GB
	-M | --mirror-above-4G X percentage memory to mirror above 4GB
	-n | --bootnext XXXX   set BootNext to XXXX (hex)
	-N | --delete-bootnext delete BootNext
	-o | --bootorder XXXX,YYYY,ZZZZ,...     explicitly set BootOrder (hex)
	-O | --delete-bootorder delete BootOrder
	-p | --part part        partition containing loader (defaults to 1 on partitioned devices)
	-q | --quiet            be quiet
	-t | --timeout seconds  set boot manager timeout waiting for user input.
	-T | --delete-timeout   delete Timeout.
	-u | --unicode | --UCS-2  handle extra args as UCS-2 (default is ASCII)
	-v | --verbose          print additional information
	-V | --version          return version and exit
	-w | --write-signature  write unique sig to MBR if needed
	-y | --sysprep          Operate on SysPrep variables, not Boot Variables.
	-@ | --append-binary-args file  append extra args from file (use "-" for stdin)
	-h | --help             show help/usage

Код: Выделить всё

olej@R420:~/2023$ sudo efibootmgr
EFI variables are not supported on this system.
Вот тебе, бабушка, и Юрьев-день :-o

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей