Я использую сервер ubuntu 20.04.LTS вот уже два года. Начиная с ядра 5.4.0-62 я наблюдаю следующую проблему: всякий раз, когда мне нужно обновить ядро, сервер больше не загружается.
РЕДАКТИРОВАТЬ: он зависает при «Загрузка начального RAM-диска». Итак, grub не найден, и я могу выбрать его из меню.
Мне нужно запустить восстановление с помощью USB-накопителя и выполнить шаги, чтобы исправить grub: Смонтируйте корневое блочное устройство, привяжите к нему / proc / sys / dev, chroot, запустите grub-install, update-grub . Затем сервер снова загружается.
Это не влияет на запуск grub-install / update-grub в работающей системе.
Особенности моей настройки:
Я думаю, это как-то связано с dkms и zfs, но я не могу понять, как анализировать ошибку. Поскольку это мой производительный домашний сервер с несколькими виртуальными машинами и службами на нем, я не могу постоянно его перезагружать.
Результат:
sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\""
Вывод:
/dev/loop0: Kein GRUB 15d
/dev/loop1: Kein GRUB 15d
/dev/loop2: Kein GRUB fe5d
/dev/loop3: Kein GRUB 595d
/dev/loop4: Kein GRUB 595d
/dev/loop5: Kein GRUB ff5d
/dev/sdc: GRUB 2 v1.99
/dev/sdc1: Kein GRUB ebf
/dev/sdc2: Kein GRUB b12f
/dev/sdc3: Kein GRUB 00
/dev/sde: GRUB 2 v1.99
/dev/sde1: Kein GRUB 00
/dev/sde9: Kein GRUB 00
/dev/sdd: Kein GRUB 00
/dev/sdd1: Kein GRUB 00
/dev/sdd9: Kein GRUB 00
/dev/sda: GRUB 2 v1.99
/dev/sda1: Kein GRUB 00
/dev/sda2: Kein GRUB 00
/dev/sda3: Kein GRUB 00
/dev/sdb: Kein GRUB 00
/dev/sdb1: Kein GRUB 00
/dev/sdb9: Kein GRUB 00
/dev/md1: Kein GRUB 00
/dev/md0: Kein GRUB 00
/dev/sdf: Kein GRUB 00
/dev/sdf1: Kein GRUB 00
/dev/sdf9: Kein GRUB 415e
Я бы посоветовал сравнить, какой раздел смонтирован в / boot / grub
в работающей системе и когда вы успешно запустили update-grub
внутри chroot. Похоже, здесь все по-другому (и я сам сталкивался с этой проблемой в прошлом).