Если да,то как делается?
Да. Делается так. Например, берем образ Ubuntu 16.04. Там ядро 4.4.0-21.
И копируем из него ядро, инитрд. модули и фирмварь.
Чтобы скопировать, можно загрузиться из этого образа или смонтировать его.
Первые два файла находятся в каталоге casper: vmlinuz, initrd (в более старых версиях initrd.lz).
Их нужно скопировать в каталог /boot вашей установленной системы. Ядро копируете с переименованием в vmlinuz-4.4.0-21-generic, инитрд переименовываете в initrd.img-4.4.0-21-generic.
Два других каталога в корневом разделе: /lib/firmware/4.4.0-21-generic, /lib/modules/4.4.0-21-generic.
Их нужно скопироватьв каталог /lib вашей установленной системы. Копировать нужно с правами суперпользователя.
В груб добавляете пункт загрузки с другим ядпом. Я использую такой код:
menuentry "Ubuntu, with Linux 4.4.0-21-generic" --class ubuntu --class gnu-linux --class gnu --class os {
src='fuj120_1'; key="quiet --"
key="root=LABEL=${src} ${key}"; version='-4.4.0-21-generic'
search -n -s -l ${src}
linux /boot/vmlinuz${version} ${key}
initrd /boot/initrd.img${version}
}
В src - раздел, на котором находится Ubuntu, его будет искать код. В качестве идентификатора я использую метку тома. Заменить на свое значение.
В key - параметры, передаваемые ядру. Если у вас есть свои особые, то добавьте сюда.
В version - версия ядра. Для загрузки с другой версией достаточно здесь изменить значение на соответствующее.
Правильный способ. Добавить этот код в файл /etc/grub.d/40_custom. После этого в терминале выполнить:
sudo update-grub