Downgrade kernel for ubuntu 22.04 LTS
I am currently on ubuntu 22.04 LTS release which comes with kernel version 5.15.0-27-generic . I want to downgrade to kernel version 5.13 because of touchpad problem in my lenovo thinkbook.
Is it possible to downgrade the baked in kernel in 22.04 LTS release? If yes, how do I achieve it?
2 Answers 2
You can try below actions
In my case, after clean install of lubuntu-22 on Dell-Inspiron_5570, experienced "elantech touchpad problem" due to which "two finger scrolling" was not working. After 4-5 hectic days on the work dealing with the arrow keys on keyboard, I found it as kernel incompatibility. Then, tried installing different kernel versions following @xiaojueguan answer and found the version 5.15.0-58-generic to be working for me.
-
The Overflow Blog
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.6.16.43501
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Даунгрейд ядра
Иногда требуется вернуться на старое ядро. Для этого нужно переключиться на нужный репозиторий, или его архив за требуемую дату (пример для p8 2016/09/15):
после чего обновить список пакетов и посмотреть полные версии доступных пакетов:
После этого можно поставить ядро командой
Как узнать дату?
Рассмотрим на примере ядра std-def, версии 4.9.71. Это то ядро которое шло в поставке 8-й платформы версии 8.2
- идем по ссылке http://ftp.altlinux.ru/pub/distributions/archive/p8/index/src/k/kernel-image-std-def/
- ищем нужную версию
- смотрим на дату выхода — 2017-12-21 11:02, в репозиторий пакеты попадают на следующий день.
Таким образом нам нужен слепок репо за 2017-12-22.
Даунгрейд ядра и VirtualBox
Если использовался VirtualBox его тоже надо даунгрейдить. В случае с ядром 4.9.71 это должна быть версия 5.1.24 (http://ftp.altlinux.ru/pub/distributions/archive/p8/index/src/v/virtualbox/).
Нужно удалить пакеты.
(последний пакет попросит удалить все модули для новых установленных ядер, надо соглашаться)
Linux установка старого ядра
Если вы знакомы с тем, как работает GNU / Linux, Linux — это ядро.
Все остальное — это инструменты, которые взаимодействуют с ним.
Эти инструменты позволяют вам фактически выполнять работу, но они не могут ничего сделать без ядра.
Ядро операционной системы похоже на вашу сердечно-сосудистую систему.
Вы склонны забывать об этом, пока что-то пойдет не так.
Когда обновленное ядро не позволит вам использовать ваш компьютер, пришло время понизить версию.
Загрузитесь в старое ядро
Для загрузки в старое ядро вам необходимо перезагрузить компьютер.
Когда компьютер загружает GRUB, вам может потребоваться нажать клавишу, чтобы выбрать нестандартные параметры.
В некоторых системах сразу будут показаны более старые ядра, в то время как в Ubuntu вам нужно будет выбрать «Advanced options for Ubuntu», чтобы найти более старые ядра.
Выбрав старое ядро, вы загрузитесь в свою систему.
Все должно работать как раньше.
Если проблема не устранена, значит она не в ядре.
Удалите проблемное ядро
Если вы загрузились и все работает так, как задумано, скорее всего, проблема в обновленном ядре.
Технически вы можете просто делать это каждый раз, когда загружаете свой компьютер, но имеет смысл удалить проблемное ядро.
Как избежать таким проблем в будущем
Один из самых простых способов избежать такого рода проблем — не принимать обновление сразу .
Это даст вам возможность увидеть, появятся ли какие-либо сообщения от пользователей, имеющих проблемы с новым ядром.
Особенно следует следить за пользователями со схожим оборудованием.
Если вам важна стабильность, вы также можете использовать дистрибутивы LTS.
Эти обновления более редкие, за исключением обновлений безопасности.
Это означает, что вы можете рассчитывать на то, что они будут более стабильными, чем ваш стандартный дистрибутив.
Заключение
Хотя понижение версии является самым простым способом решения проблем, связанных с ядром, это не единственный способ.
Иногда это просто невозможно.
Возможно, ядро обновлений включает аппаратную поддержку, в которой вы отчаянно нуждаетесь, в то время как ошибка связана с оборудованием, которое вы даже не используете.
В этом случае вы должны собрать собственное ядро, а не полагаться на версию, поставляемую вашим дистрибутивом.
Это не совсем просто, но не так сложно, как думают некоторые.
Изменение загружаемого по умолчанию ядра в Ubuntu Linux
При установке системных обновлений в виртуальной машине с Ubuntu Server 14.04 32-bit я столкнулся с ситуацией, когда вновь установленное в систему ядро Linux не смогло загрузиться. Если система была установлена с загрузчиком GRUB, то в процессе каждой загрузки у нас есть возможность вручную выбрать ядро (предполагается, что при обновлении мы сохранили старое работоспособное ядро), которое будет загружено.
Когда процесс загрузки отобразит меню GRUB, выберем пункт меню Advanced options for Ubuntu
В появившемся списке доступных для загрузки ядер Linux выберем предыдущее ядро, с которым загрузка ВМ проходила успешно до обновления (в моём случае это ядро версии 3.13.0.-24).
Однако при следующей перезагрузке системы без ручного вмешательства в процесс загрузки, загрузчик GRUB всё-равно запустит более новое ядро, так как оно назначено в качестве ядра по умолчанию. Для того, чтобы переопределить загружаемое по умолчанию ядро, запомним позицию нужного нам ядра в списке GRUB (в моём случае это 2 позиция с учётом того, что нумерация идёт с 0). Загрузим систему, вручную выбрав нужное ядро, и отредактируем конфигурационный файл GRUB:
В файле отредактируем строчку, как описано здесь , указав индекс нужных позиций структуры меню GRUB, чтобы добраться до ядра, которое будет загружаться по умолчанию (первая цифра означает позицию меню первого уровня, вторая – второго уровня соответственно):
Сохраним изменения в файле и обновим информацию в самом загрузчике:
Перезагрузим сервер и убедимся в том, что система успешно запускается c нужным нам ядром:
Как я могу загрузиться с более старой версией ядра?
Последнее ядро вызывает проблемы с моим звуком, которое отлично работало со старой версией. Поскольку у меня установлена только Ubuntu, Grub не отображается во время загрузки. Как я могу вручную выбрать версию своего ядра при загрузке?
Самый простой способ отобразить ваш Grub — это нажать и удерживать SHIFT кнопку во время загрузки.
В качестве альтернативы вы всегда можете отобразить Grub без загрузки какого-либо конкретного ядра:
изменить GRUB_TIMEOUT на -1 и закомментировать GRUB_HIDDEN_TIMEOUT
Удерживая нажатой клавишу Shift во время загрузки, появится меню Grub. Теперь вы можете выбрать более старую версию ядра.
Для выбора более старого ядра в качестве ядра по умолчанию, пожалуйста, смотрите этот пост
Во время загрузки, когда появляется GRUB с записями, выберите вторую запись, т. Е. В разделе « Дополнительные параметры» для Ubuntu вы можете увидеть различные старые версии ядра, которые были установлены ранее, вы можете выбрать одну из них, которая вам подходит. В противном случае вы идете в grub.cfg и вставляете нужную версию ядра поверх установленной в данный момент записи ядра. В обоих случаях это работает
Если у вас есть несколько ядер в вашей системе, вы можете вручную установить, какая версия ядра будет запускаться:
Перезагрузите компьютер с нажатой кнопкой Shift для отображения GRUB после запуска BIOS. Вы увидите что-то вроде: стартовая страница GRUB
Выберите «Дополнительные параметры для Ubuntu» и запомните индекс этой строки меню (отсчет начинается с 0). На картинке индекс равен 1
Выберите конкретное ядро для загрузки, а также запомните индекс этой строки меню (отсчет начинается с 0). На картинке индекс выбранного ядра равен 2
Запустить систему. Это действие для одной загрузки на конкретном ядре. Если вы хотите все время начинать с конкретного ядра, вы должны сделать следующие шаги:
4.1. Откройте и отредактируйте установочный файл GRUB:
4.2. Найти строку GRUB_DEFAULT = . (по умолчанию GRUB_DEFAULT = 0) и задать в меню кавычек путь к конкретному Ядру (запомнить индексы меню из шагов 2 и 3). В моей системе первый индекс был 1, а второй — 2. Я установил GRUB_DEFAULT
4,3. Обновите информацию GRUB для применения изменений:
4.4. После перезагрузки вы автоматически загружаетесь в ядро по выбранному пути меню. Пример на моей машине 1 -> 2
4,5. Проверьте версию ядра после перезагрузки:
Этот параметр определяет, как долго будет отображаться экран без меню GRUB 2. Пока экран пуст, пользователь может нажать любую клавишу для отображения меню.
Поведение по умолчанию — скрывать меню, если присутствует только одна операционная система. Если пользователь только с Ubuntu желает отобразить меню, поместите символ # в начале этой строки, чтобы отключить функцию скрытого меню.
Пожалуйста, установите предыдущее ядро с помощью следующей команды:
Затем перезагрузите компьютер. Вам будет предложено выбрать ядро.
Сразу после появления заставки BIOS / UEFI во время загрузки с BIOS быстро нажмите и удерживайте Shift клавишу, которая вызовет меню GNU GRUB. (Если вы видите логотип Ubuntu, вы пропустили точку, в которой вы можете войти в меню GRUB.) С помощью UEFI нажмите (возможно, несколько раз) Esc клавишу, чтобы перейти в меню GRUB. Иногда заставка производителя является частью загрузчика Windows, поэтому, когда вы включаете компьютер, он переходит прямо к экрану GRUB, а затем нажимать Shift не нужно.
На экране GRUB выберите Дополнительные параметры для Ubuntu и нажмите Enter .
Появится новый фиолетовый экран со списком ядер. Используйте клавиши ↑ и ↓, чтобы выбрать, какая запись будет выделена. Нажмите Enter для загрузки выбранного ядра, «e» для редактирования команд перед загрузкой или «c» для командной строки. Нажмите Esc, чтобы вернуться в предыдущее меню.
Ответ Джеккобека описывает способ просмотра grub.cfg и прокрутки исходного кода для поиска номера меню. Более простой способ с этим сценарием :
Примечание: в этом примере grub-menu.sh short был использован для вызова сценария. short Параметр подавляет эти строки:
Управляющие клавиши
После прокрутки записей (вы можете использовать колесо прокрутки мыши или клавиши со стрелками) нажмите, Escape чтобы вернуться в командную строку.
Если вы нажмете Enter ассоциированные команды Grub для записи отображаются:
Обновление grub для загрузки предыдущего ядра
Набор команд Grub существует для каждого пункта меню. Все скомпилированные записи хранятся в /boot/grub/grub.cfg файле.
В этом примере мы хотим, чтобы номер меню `1> 9> был установлен по умолчанию, поэтому мы используем:
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
03 августа 2015
Установить/обновить ядро Linux Kernel 4.1.4 (Stable) в Ubuntu и производные
Предупреждение . Ядро Linux является критичным элементом системы. Обновления ядра могут содержать улучшения аппаратной поддержки или устранять уязвимости. Делать обновление стоит когда одно из аппаратных устройств работает некорректно, а новое ядро может решить данную проблему. Но в тоже время установка нового ядра без особой необходимости может привести к нежелательным регрессиям, таким как: отсутствие подключения к сети, отсутствие звука или даже невозможность загрузить систему, поэтому устанавливайте новое ядро на свой страх и риск .
Linux Kernel 4.1.4 является чктвёртым корректировочным выпуском ядра версии 4.1. Вы можете скачать соответствующие deb пакеты ОТСЮДА и установить их в Центре приложений Ubuntu. Или просто следуйте приведенным ниже инструкциям, которые помогут вам установить новое ядро несколькими командами в терминале.
Установить ядро версии 4.1.4 командами ниже, можно в следующих дистрибутивах Linux:
Установка ядра Linux Kernel 4.1.4
1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей системы/компьютера :
Для 32-bit (одной командой):
cd /tmp; wget http://kernel.ubuntu.com/
kernel-ppa/mainline/v4.1.4-unstable/linux-image-4.1.4-040104-generic_4.1.4-040104.201508031330_i386.deb; sudo dpkg -i *.deb
Для 64-bit (одной командой):
cd /tmp; wget http://kernel.ubuntu.com/
kernel-ppa/mainline/v4.1.4-unstable/linux-image-4.1.4-040104-generic_4.1.4-040104.201508031330_amd64.deb; sudo dpkg -i *.deb
2. Обновите GRUB (GRUB надо обновлять в той системе Linux где он установлен, если у вас их более одной):
Примечание 1 . Если у вас установлен загрузчик BURG, то и его нужно обновить:
3. По окончании установки, закройте все приложения и перезагрузите компьютер следующей командой:
После входа в систему, проверьте версию актуального ядра командой:
Примечание 2 . Как вернуться к ранее установленному ядру, инструкция ЗДЕСЬ.
Как откатить версию ядра в Ubuntu
Иногда после обновление ядра системы начинают некорректно работать некоторые важные службы и чтобы не искать проблему на боевом сервере, а сделать это например позже на виртуальном, то можно загрузить систему с предыдущей версии ядра.
Сначала посмотрим текущую версию (у меня отобразилось 4.15.0-46-generic):
Для теста я взял Ubuntu Server 18.04, система была на виртуальном стенде и как раз давно не обновлялась, специально выполнил обновление:
Перезапустим систему чтобы она загрузилась с новой версии ядра и потом снова посмотрим версию (у меня уже отобразилась версия новее — 4.15.0-47-generic):
Логи установки обновлений если что можно посмотреть в /var/log/dpkg.log и /var/log/apt/.
Если есть прямой доступ к серверу, то можно при запуске системы в grub меню выбрать «Advanced options for Ubuntu» и потом выбрать нужное ядро, однако после перезапуска системы все равно потом запустится самое новое.
Чтобы система постоянно запускалась с предыдущей версии ядра, откроем файл конфигурации grub в текстовом редакторе:
И вместо «GRUB_DEFAULT=0» укажем (в редакторе nano для выхода нажмем Ctrl+X и «y» для сохранения изменений):
Так как нумерация меню grub идет с 0, 0 — это обычная загрузка системы, то в первом меню «Advanced options for Ubuntu» будет под номером 1, а во втором меню где нужно выбрать ядро «4.15.0-46-generic» будет под номером 2. Посмотреть меню можно в файле /boot/grub/menu.lst.
Установленные ядра находятся в директории /boot/, можно также посмотреть командой:
Обновим grub чтобы применить изменения:
Перезапустим систему и снова проверим версию ядра (в моем случае система загрузилась со старого ядра 4.15.0-46-generic):
Также можно найти и установить другую версию ядра (смотрите чтобы хватало памяти в директории /boot/, если она находится на отдельном разделе):
Это ядро будет в меню скорее всего под номером 4, по этому укажем его в файле /etc/default/grub и потом перезапустим систему:
Также можно оставить «GRUB_DEFAULT=0» и удалить новое ядро, после чего предыдущее станет основным, но лучше так не делать: