Recover operation system after upgrade to new kernel
После неудачной попытки обновить ядро операционная система перестала грузиться. Иходные данные: Linux Mint 19.2, kernel = 5.4.0-70-generic, boot device nvme0n1p3, root device nvme0n1p4 Если подробнее, то получилось это сделать следующим образом:
- Для каталога /boot оставил слишком мала места (235Mbyte)
- Накопилось несколько ядер 5.4.0-69-generic 5.4.0-70-generic 5.4.0-71-generic
- При обновлении с 70 до 71 не заметил как update-initramfs вывалилось с ошибкой и версия ядра осталась на 70
- Обновил до 72 версии ядра и проигнорировал сообщение об ошибке update-initramfs которая говорила о нехватке свободного места в каталоке /boot
- Поспешил, не проверил не какой версии ядра загружен удалил вручную версии 69, 70
- После удаления снова не запустил команду update-initramfs
В результате получил систему которая не могла загрузиться. Чтобы вернуть в рабочее состоянии сделал следующее:
- Из другой операционной системы стоявшей на компьютере создал загрузочную флешку со своим дистрибутивом Mint 20
- Загрузился с загрузочной флешки
- Осуществил настройку для chroot
sudo mount /dev/nvme0n1p4 /mnt
sudo mount /dev/nvme0n1p3 /mnt/boot
sudo mount -t proc /proc /mnt/proc/
sudo mount -t sysfs /sys /mnt/sys/
sudo mount -o bind /tmp /mnt/tmp/
sudo mount -o bind /dev /mnt/dev/
- Осуществляем chroot в /mnt
sudo chroot /mnt /bin/bash
И вот мы в можем выполнять действия от основной операционной системы
- Удаляем все старые и текущие ядра
apt remove linux-image-5.4.0-71-generic
apt remove linux-image-5.4.0-72-generic
apt autoremove
-
Очищаем каталог /boot от файлов суффиксами в названиях 5.4.0-71 и 5.4.0-72
-
Устанавливаем по новой ядро 5.4.0-72
apt install linux-image-5.4.0-72-generic
update-initramfs -c -k 5.4.0-72-generic
update-grub
- Проверяем содержимое файла modules.symbols на наличие драйверов сети и wifi
cat /lib/modules/5.4.0-72-generic/modules.symbols | grep rtl
- если содержимое не отображается, то при перезагрузке не будут работать wifi и еще другие устройства (например звук)
- если содержимое отобразилось, то можно пропустить следующий пункт и перейти на пункт 10
-
В моем случае помогла установка версии ядра lowlatency
apt install linux-image-5.4.0-72-lowlatency
update-initramfs
update-grub
-
Выходим из chroot
exit
-
Перезагружаемся в свою родную операционную систему.
В большинстве случаев данных действий достаточно.