- Как откатить версию ядра в Ubuntu
- ⏬ Как понизить версию ядра в Linux
- Загрузитесь в старое ядро
- Удалите проблемное ядро
- Как избежать таким проблем в будущем
- Заключение
- Dev notes
- Saturday, March 23, 2013
- Откат ubuntu на предыдущую версию ядра
- Как я могу загрузиться с более старой версией ядра?
- Управляющие клавиши
- Обновление grub для загрузки предыдущего ядра
- Как удалить самое свежее ядро в Ubuntu?
Как откатить версию ядра в 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» и удалить новое ядро, после чего предыдущее станет основным, но лучше так не делать:
Источник
⏬ Как понизить версию ядра в Linux
Linux живет и умирает ядром.
Если вы знакомы с тем, как работает GNU / Linux, Linux – это ядро.
Все остальное – это инструменты, которые взаимодействуют с ним.
Эти инструменты позволяют вам фактически выполнять работу, но они не могут ничего сделать без ядра.
Ядро операционной системы похоже на вашу сердечно-сосудистую систему.
Вы склонны забывать об этом, пока что-то пойдет не так.
Когда обновленное ядро не позволит вам использовать ваш компьютер, пришло время понизить версию.
Загрузитесь в старое ядро
Для загрузки в старое ядро вам необходимо перезагрузить компьютер.
Когда компьютер загружает GRUB, вам может потребоваться нажать клавишу, чтобы выбрать нестандартные параметры.
В некоторых системах сразу будут показаны более старые ядра, в то время как в Ubuntu вам нужно будет выбрать «Advanced options for Ubuntu», чтобы найти более старые ядра.
Выбрав старое ядро, вы загрузитесь в свою систему.
Все должно работать как раньше.
Если проблема не устранена, значит она не в ядре.
Удалите проблемное ядро
Если вы загрузились и все работает так, как задумано, скорее всего, проблема в обновленном ядре.
Технически вы можете просто делать это каждый раз, когда загружаете свой компьютер, но имеет смысл удалить проблемное ядро.
Как избежать таким проблем в будущем
Один из самых простых способов избежать такого рода проблем – не принимать обновление сразу .
Это даст вам возможность увидеть, появятся ли какие-либо сообщения от пользователей, имеющих проблемы с новым ядром.
Особенно следует следить за пользователями со схожим оборудованием.
Если вам важна стабильность, вы также можете использовать дистрибутивы LTS.
Эти обновления более редкие, за исключением обновлений безопасности.
Это означает, что вы можете рассчитывать на то, что они будут более стабильными, чем ваш стандартный дистрибутив.
Заключение
Хотя понижение версии является самым простым способом решения проблем, связанных с ядром, это не единственный способ.
Иногда это просто невозможно.
Возможно, ядро обновлений включает аппаратную поддержку, в которой вы отчаянно нуждаетесь, в то время как ошибка связана с оборудованием, которое вы даже не используете.
В этом случае вы должны собрать собственное ядро, а не полагаться на версию, поставляемую вашим дистрибутивом.
Это не совсем просто, но не так сложно, как думают некоторые.
Источник
Dev notes
All the pain of maintaining legacy hardware
Saturday, March 23, 2013
Откат ubuntu на предыдущую версию ядра
Краткое введение
Так получилось, что после более чем полутора лет благополучной эксплуатации ubuntu, система перестала функционировать в один момент. Я получил и установил новое обновление ядра. Система начала сыпать сообщения о системных ошибках, просто зависать на каждый чих, и т. п.
Проблема была 100% с обновленным ядром. Это я понял потому что, провел ряд экспериментов:
- Установил Ubuntu 12.10 (До этого была 12.04). После установки пачки обновлений с ядром система снова продолжила падать;
- Установил Lubuntu 12.10 (Те же действия с моей стороны и тот же результат).
Устав перебирать дистрибутивы, я полез в google искать как избавится от нового ядра. Так как с проблемой восстановления предыдущего ядра ubuntu я никогда не сталкивался, то решил оставить заметки на будущее.
Как узнать текущую версию ядра?
#: uname -a
(Окно терминала можно вызвать сочетанием клавиш [Ctrl]+[Alt]+[T])
Как при загрузке Ubuntu выбрать другое ядро для загрузки?
При загрузке системы зажать клавишу [Schift]. Откроется диалог выбора варианта загрузки в котором можно выбрать необходимое ядро.
Подробнее о настройке grub в ubuntu
Как удалить лишнее ядро в ubuntu?
Если удаляемое ядро дефолтное в системе, то предыдущее ядро linux занимает его место.
#: sudo apt-get purge purge linux-image-3.5.0-26-generic
Версию ядра надо поменять на то которое надо удалить
Какие версии ядер имеются?
Смотрите в папке /boot/
Источник
Как я могу загрузиться с более старой версией ядра?
Последнее ядро вызывает проблемы с моим звуком, которое отлично работало со старой версией. Поскольку у меня установлена только 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> был установлен по умолчанию, поэтому мы используем:
Источник
Как удалить самое свежее ядро в Ubuntu?
вот только apt-get remove установит последнее ядро
fpir, ну ядро в Убунте, оно, простите, как Бог, триедино. Отдельно ядро, отдельно модули, отдельно заголовки и надо удалять всё отдельно, если аpt сам этого не сделал (что в Убунте, вроде, так и есть).
Количество ядер для удаления меня смутило, поэтому:
В grub при загрузке тоже ядро .168 присутствует.
поставить старое/нужное ядро вручную и запретить его обновлять.
$ apt-mark —help
apt 1.6.10 (i386)
Использование: apt-mark [параметры]
apt-mark — простая программа с интерфейсом командной строки для пометки пакетов как установленных вручную или автоматически. Также может использоваться для изменения состояния выбора пакетов dpkg(1) и показа списка пакетов с определённой меткой или без неё.
Основные команды:
auto — пометить указанные пакеты как установленные автоматически
manual — пометить указанные пакеты как установленные вручную
hold — пометить пакет как зафиксированный
unhold — снять метку пакета, что он зафиксирован
showauto — вывести список автоматически установленных пакетов
showmanual — вывести список пакетов, установленных вручную
showhold — вывести список зафиксированных пакетов
Источник