Как откатить ядро ​​в Linux

Опубликовано: 2022-01-29
Фатмавати Ачмад Заэнури/Shutterstock.com

Если на вашем ПК с Linux внезапно возникли проблемы после обновления вашей системы, возможно, виновато обновление ядра Linux. К счастью, откат или переход на другое ядро ​​относительно легко сделать в системах Debian, Arch и Fedora. Вот как.

Почему обновления ядра вызывают проблемы

Ядро является неотъемлемой частью системы Linux, поэтому, в зависимости от вашего устройства и настроек, обновление ядра может вызвать проблемы для вас или для ваших установленных приложений. Проблемы могут варьироваться от причудливого поведения графики до полностью непригодной для использования системы. Если ваша ситуация относится ко второму, вы находитесь в настоящей затруднительной ситуации.

Чтобы решить эту проблему, во многих современных дистрибутивах установлено старое или другое ядро, к которому вы можете получить доступ при загрузке. Это позволит вам проверить ядро ​​​​на наличие проблем или восстановиться после обновления ядра, нарушающего работу системы.

СВЯЗАННЫЕ С: Как проверить версию ядра Linux и операционной системы

Как загрузиться с другим ядром

Конечно, обновления системных пакетов, отличных от ядра Linux, могут быть истинным корнем вашей проблемы. Один из быстрых способов исключить ядро ​​как неисправное — попробовать загрузиться с другим ядром.

Сначала вам нужно получить доступ к меню GRUB, перезагрузив компьютер. Вы можете увидеть, как GRUB появляется на несколько секунд при загрузке, отображая несколько параметров, таких как «Дополнительные параметры», хотя некоторые дистрибутивы скрывают его, пока вы не получите к нему доступ. Если он не появляется при загрузке, нажмите и удерживайте клавишу Shift в тот момент, когда ваш компьютер начнет загружаться, пока не появится экран, похожий на изображение ниже.

Параметры меню GRUB для Debian 11 Bullseye

Реклама

С помощью клавиш со стрелками перейдите к «Дополнительные параметры для [вашего дистрибутива]» и нажмите Enter.

Вы получите список доступных вариантов загрузки. Вы должны увидеть как минимум два, например «[Ваш дистрибутив] с Linux 5.10.0.7-amd64», за которым следует версия того же параметра в «режиме восстановления». Различные версии, которые вы видите в списке, представляют собой разные установленные ядра.

Два ядра с параметрами режима восстановления, указанными как параметры загрузки в GRUB в Debian 11.

Если у вас есть только один стандартный вариант и один вариант режима восстановления, это, к сожалению, означает, что у вас установлено только одно ядро. В этом случае, и если вы вообще не можете использовать ядро, вы можете использовать режим восстановления, чтобы попробовать некоторые варианты восстановления.

Если у вас более одного номера версии, у вас есть альтернативное ядро, с которого вы можете загрузиться. Первый вариант будет самым новым и автоматически загружается на вашем компьютере. Попробуйте другой вариант режима без восстановления, перейдя к нему с помощью клавиш со стрелками и нажав Enter.

СВЯЗАННЫЕ С: Как исправить систему Ubuntu, когда она не загружается

Как удалить или понизить версию ядра

Если кажется, что загрузка другого ядра решила вашу проблему, то вы, вероятно, захотите продолжить использовать это ядро. Однако ваш компьютер может по умолчанию пытаться использовать проблемное ядро ​​при каждой загрузке. Вы можете либо вручную выбирать более старое ядро ​​при каждой загрузке, либо удалить проблемное ядро, пока ждете другого обновления.

Предупреждение. Обновления ядра могут включать исправления безопасности. По этой причине игнорирование обновлений ядра сопряжено с риском. Если вы должны продолжить, убедитесь, что ваша система в остальном максимально безопасна.

Некоторые дистрибутивы позволяют вам сделать это графически, и они могут даже позволить вам просто выбрать другое ядро ​​по умолчанию. Например, диспетчер обновлений Linux Mint (на фото ниже) имеет функцию настройки ядра, которая позволяет вам устанавливать настройки ядра в дополнение к удалению ненужных ядер.

Реклама

Попробуйте выполнить поиск в меню приложения по слову «ядро» и посмотрите, появятся ли какие-либо инструменты для рабочего стола. Если это так, вы, вероятно, сможете сделать это графически. В противном случае читайте дальше, чтобы удалить ядро ​​через командную строку.

Предупреждение: продолжайте работу только при загрузке ядра, которое вы хотите использовать, а не того, которое вы планируете удалить.

Удалить ядро ​​в Debian и Ubuntu

Чтобы удалить ядро ​​Linux в Debian, Ubuntu или одном из их производных, вы должны сначала определить установленные пакеты ядра. Откройте терминал и введите следующую команду.

 список подходящих --установлен | grep linux-образ 

Список установленных ядер в Ubuntu с помощью apt

Вы можете увидеть номера версий в каждом из имен пакетов, которые стоят перед косой чертой (/) в результатах. Получив имя ядра, которое вы хотите удалить, введите следующую команду, заменив kernel-name ядра на имя пакета ядра точно так же, как оно появилось в предыдущей команде.

 sudo apt удалить имя-ядра

Вас попросят ввести пароль, а затем попросят подтвердить удаление, введя y и нажав Enter.

Удалить установленные ядра с помощью apt в Ubuntu

Дождитесь завершения удаления, и ваш ПК с Linux больше не будет загружаться в это ядро. Следите за новыми ядрами при обновлении системы и проверяйте их по мере их поступления, чтобы убедиться, что проблема устранена.

СВЯЗАННЫЕ С: Как обновить Ubuntu Linux

Удалить или понизить версию ядра в Arch

В Arch Linux вы можете легко получить несколько альтернативных ядер с такими именами, как linux-hardened , linux-zen и linux-lts . Выбирая вариант в GRUB, вы, вероятно, видели только одну версию каждого установленного ядра. В отличие от ядер в Debian, обновления ядра Arch не приходят в виде новых пакетов для замены старых. Вместо этого каждое установленное ядро ​​просто обновляется (или «синхронизируется») до последней версии по мере ее появления.

Реклама

По этой причине лучше всего просто загрузиться с альтернативным ядром, а не понижать версию вашего обычного ядра. Если вы загрузились с другим ядром и знаете, что не хотите использовать первое, вы можете указать имя ядра в команде удаления с помощью Pacman.

 sudo pacman -R имя-ядра имя-ядра-заголовки

Замена kernel-name ядра на ядро ​​по вашему выбору. Вам будет предложено ввести пароль, прежде чем вы сможете продолжить. Затем вам нужно будет подтвердить удаление, набрав «y» и нажав Enter.

Используйте pacman для удаления ядер в Arch Linux

Если вы хотите понизить версию пакета ядра, знайте, что мы не рекомендуем это делать. Последовательные обновления выпусков часто полагаются на актуальность других пакетов, поэтому откат любого обновления является рискованным делом и может привести к поломке операционной системы.

Однако, если вы уверены, что хотите, вы можете синхронизировать пакет ядра с определенной версией с помощью следующей команды.

 sudo pacman -S имя-ядра = xxx имя-ядра-заголовки = xxx

Замените kernel-name ядра на ядро, которое вы хотите понизить, а xxx на нужную версию. Вы можете найти старые номера версий, найдя ядро ​​в Arch Package Search и нажав «Просмотреть изменения».

СВЯЗАННЫЕ С: Как обновить Arch Linux

Удалить ядро ​​в Fedora

Fedora Linux по умолчанию хранит две старые версии ядра, установленные на вашем устройстве, вместе с самой новой. С помощью этой команды rpm вы можете определить имена пакетов.

 rpm -qa ядро-ядро
Реклама

Вы увидите список всех установленных ядер рядом с номерами их версий.

Поиск ядер Linux в терминале Fedora

После загрузки с другим ядром используйте dnf для удаления проблемного ядра.

 sudo dnf удалить ядро-ядро-xxx-xxx.fcxx.x86_64

Вам будет предложено подтвердить удаление. Введите y и нажмите Enter для подтверждения.

Удалить ядро ​​в терминале Fedora Linux

После удаления ядра ваша система не сможет загрузиться с более новым ядром, пока вы не разрешите обновление ядра. Когда появится новый, попробуйте его и посмотрите, решена ли ваша проблема.