LINUX.ORG.RU
ФорумAdmin

Почему во время обновления системы изменился UUID диска?

 


0

2

Здравствуйте.

Имеется VDS на debian 11.

Решил сделать обновление системы: apt update && apt upgrade.

Во время обновления grub-pc в консоле вылезло вот такое сообщение как на скриншоте - https://imgur.com/a/0zbfSmd

Дублирую текст со скриншота:

Системный загрузчик GRUB был установлен на диск, которого больше нет в системе, или по какой-то причине был изменён уникальный идентификатор.
Важно убедиться, что установленный основной образ GRUB синхронизирован с модулями GRUB и grub.cfg. Проверьте ещё раз, что GRUB записан на  правильные загрузочные устройства.                                                                                                              
Если вы не знаете какое устройство указано в BIOS для загрузки, часто лучше всего установить GRUB на все устройства.                            
Замечание: также возможно установить GRUB в загрузочную запись раздела, и здесь предлагаются соответствующие разделы. Однако, это включает в    
GRUB использование механизма блок-листа, при котором уменьшается надёжность, и поэтому это не рекомендуется.                                    
Устройства, на которые устанавливается GRUB:
/dev/sda
/dev/sda1

Подскажите пожалуйста почему такое сообщение появилось, почему мог измениться уникальный идентификатор?

В процессе обновления системы так же обновилось ядро, если это имеет значение.

Последовательность настройки пакетов была такая:

сначала пакет linux-image-5.10.0-32-amd64 с вот такими действиями

Настраивается пакет linux-image-5.10.0-32-amd64 (5.10.223-1) …
I: /vmlinuz.old is now a symlink to boot/vmlinuz-5.10.0-23-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-5.10.0-23-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-5.10.0-32-amd64
I: /initrd.img is now a symlink to boot/initrd.img-5.10.0-32-amd64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.10.0-32-amd64
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.10.0-32-amd64
Found initrd image: /boot/initrd.img-5.10.0-32-amd64
Found linux image: /boot/vmlinuz-5.10.0-23-amd64
Found initrd image: /boot/initrd.img-5.10.0-23-amd64
Found linux image: /boot/vmlinuz-5.10.0-21-amd64
Found initrd image: /boot/initrd.img-5.10.0-21-amd64
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
done

чуть позже linux-image-amd64

Настраивается пакет linux-image-amd64 (5.10.223-1) …

и ещё чуть позже grub-pc с сообщением, которое я указал и выложил на скриншоте

Настраивается пакет grub-pc (2.06-3~deb11u6) …

lsblk выглядит так

$ lsblk  -f
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                          
└─sda1 ext4   1.0         417a7b04-8613-47d8-ad48-6ccdb14a26c8     41G    49% /
sr0

sda1 не загрузочный

Разве установка нового ядра меняет UUID раздела? Спасибо.

Ответ на: комментарий от raspopov

Граб не умеет пользоватся uuid

4.2

menuentry 'Void GNU/Linux' --class void --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-caa978a9-3e88-4a27-bec8-a69524c97a38' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod f2fs
	search --no-floppy --fs-uuid --set=root caa978a9-3e88-4a27-bec8-a69524c97a38
	echo	'Loading Linux 6.6.52_1 ...'
	linux	/boot/vmlinuz-6.6.52_1 root=UUID=caa978a9-3e88-4a27-bec8-a69524c97a38 ro  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initramfs-6.6.52_1.img
}

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

Это вобще мимо кассы. Содержимое конфига grub не связано с процессом его загрузки. GRUB в начале должен загрузить сам себя и загрузить в себя конфиг-файл.

Можете поизучать команду ″grub-probe″ и понять, можно ли из MBR или файла BOOTX64.EFI вытащить информацию, откуда GRUB будет себя и конфиг загружать и какие модули он засунул в stage1.

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

Граб не умеет пользоватся uuid

4.2

grub действительно не умеет в uuid.
Тот uuid что прописывается в конфиге обрабатывает не grub, а или скрипты+udev записанные в initramfs.

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

Тот uuid что прописывается в конфиге обрабатывает не grub

Ну эту то строку обрататывает grub:

search --no-floppy --fs-uuid --set=root caa978a9-3e88-4a27-bec8-a69524c97a38

То есть искать ФС с ядром и initramfs он может по UUID.

Другое дело, что с поиском самого конфига у него плохо. Он обычно ищет по номеру раздела. Но, если каталог grub/ будет на MD-RAID, то в grubx64.efi (и в core.img) будет прописано что-то типа (mduuid/77716c1d5a0125faec3aa8b3c8e4e34)/grub, то есть поиск по uuid md-raid'а.

Ну или через grub-mkimage, наверно, можно что-то сотворить.

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

То есть …

Ну или …

Зачем гадать? Поставьте виртуалку и попробуйте вcтавить или удалить раздел перед системным, и пощупайте результат сами.

P.S. Проще всего иметь загрузочную флешку с SuperGrub (https://www.supergrubdisk.org/). Загрузить систему, ответственную за граб, с неё. И штатно обновить конфигурацию граба изнутри (update-grub).

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

Что значит «удалить раздел перед системным»?

У меня так: «Bios Boot», «ESP», «/boot (grub)», «swap», «/». Причём, у меня снят образ первого гигабайта этого диска, и когда мне надо сделать ещё одну систему, я этот гигабайтый образ dd на новый ssd, потом восстанавливаю копию GPT, меняю размеры swap и root разделов, случайный GUID, UUID, редактирую grub.cfg. Но grub не переустанавливаю и всё работает, в гибридном режиме (MBR и EFI).

Чтобы сломать дефолтный груб нужно удалить раздел перед /boot/grub. Причём не просто удалить, а чтобы у номера разделов сдвинулись. Об этом обычно никто не просит и разделы нулевого размера никому не помешают, но разработчики программ (редакторов разделов) об этом не в курсе.

mky ★★★★★
()