Недавно я унаследовал сервер Linux (Gentoo, ядро 3.14). Сервер физически находится в другой стране, в 3 часах полета.
Сервер настроен на использование EFI для загрузки. Его жесткий диск разделен на sda1 (раздел EFI), sda2 (раздел «восстановление») и sda3 («обычный» раздел). Существует два варианта загрузки: ядро «восстановления» (параметр загрузки 0000), которое монтирует sda2 в качестве корневой файловой системы, и «обычное» ядро (параметр загрузки 0001), которое использует sda3 в качестве корневого.
EFI настроен таким образом, что после жесткой перезагрузки сервер всегда загружается в образ «восстановления», с которым мы никогда не связываемся. Изнутри можно выдать
efibootmgr --bootnext 0001
reboot
чтобы перезагрузиться в «нормальное» ядро с помощью sda3. Мне нравится эта идея, так как это дает нам значительную безопасность, позволяющую вмешиваться в «нормальную» систему.
Теперь нам нужно установить новое ядро (нам нужна дополнительная аппаратная поддержка). Насколько мне известно, я скомпилировал ядро с правильными параметрами и установил его в раздел EFI. Я следил
https://wiki.gentoo.org/wiki/EFI_stub_kernel
Я добавил новое ядро в EFI, используя
efibootmgr --create --part 1 --label "GentooNEW" --loader '\efi\boot\vmlinuxNEW.efi'
Как и ожидалось, это добавило в EFI новый параметр загрузки 0002. Затем я попытался перезагрузиться в это ядро с помощью
efibootmgr --bootnext 0002
reboot
но после перезагрузки я увидел, что вместо этого он загрузился с параметром 0000 «восстановление», что - AFAIK - (у меня мало опыта EFI) означает, что мое недавно скомпилированное ядро не загрузилось, и EFI вместо этого попробовал вариант по умолчанию.
Вопрос: можно ли удаленно отладить, что не так с моим новым ядром? EFI где-то сохраняет журналы? Без этого я не уверен, как действовать дальше, поскольку там может быть множество ошибок ...