Попробуйте старое ядро

Попробуйте старое ядро

Итак... режим ожидания Ubuntu не работает на моем Lenovo Z13. Изначально я использовал двойную загрузку Windows и Ubuntu, и режим ожидания прекрасно работал в Windows, но не в Ubuntu. Затем я попробовал очистить весь диск до системы EFI и загрузчиков и установил новый Ubuntu на абсолютно чистый лист. Проблема сохраняется на свежем 22.04.1.

Забавное замечание: systemctl suspend отлично работает при загрузке с USB-накопителя Ubuntu, если «пытаться Ubuntu».

Похоже, точная проблема связана с функцией приостановки. Когда systemctl suspend запускается в самый первый раз после загрузки, все работает нормально. Но в любое время после этого он продолжает отключать экран, в то время как ПК все еще работает (все еще может использовать кнопки Fn (подсветка и т. д.)), потребляя электроэнергию и вращая вентиляторы. Более того, я не могу заставить его «разбудить» из этого состояния никакими способами. Единственное, что решает это состояние, — принудительная ручная перезагрузка.

Короче говоря, функция приостановки отлично работает на USB-накопителях Ubuntu и любых установках Windows, но не на локальной Ubuntu (по крайней мере, любые последующие приостановки после первой).

решение1

Ubuntu 22.04 недавно выпустил новую версию и перешел с 22.04.1 на 22.04.2. Новая версия обновляет ядро ​​с 5.15 до 5.19. Похоже, что в ядре Ubuntu 5.19.0.32 есть некоторые ошибки, влияющие на определенное оборудование.

Попробуйте старое ядро

  1. Откройте меню grub, нажав клавишу ESCпри включении ноутбука.
  2. Перейти кРасширенные возможности для Ubuntuменю и загрузитесь с использованием старого ядра.

Посмотрите, работает ли приостановка. Перейдите к следующему шагу.

Изменить настройки grub по умолчанию

Чтобы изменить ядро, которое Ubuntu загружает по умолчанию, вам нужно получить индекс всех пунктов меню. Откройте терминал с помощью Ctrl+ Alt+ Tи введите:

$ sudo grub-mkconfig | grep -iE "menuentry 'Ubuntu, with Linux" | awk '{print i++ " : "$1, $2, $3, $4, $5, $6, $7}'

Вы получите кучу выходных данных, которые заканчиваются чем-то вроде:

0 : menuentry 'Ubuntu, with Linux 5.19.0-32-generic' --class ubuntu
1 : menuentry 'Ubuntu, with Linux 5.19.0-32-generic (recovery mode)'
2 : menuentry 'Ubuntu, with Linux 5.15.0-43-generic' --class ubuntu
3 : menuentry 'Ubuntu, with Linux 5.15.0-43-generic (recovery mode)'

Примечание:Ваш может выглядеть по-другому. Вышеприведенный вывод — всего лишь пример. Используя этот пример, вы можете захотеть загрузиться, используя номер записи меню 2.

Далее вам нужно будет отредактировать файл /etc/default/grub. Я использую текстовый редактор nano, но вы можете использовать что-то другое. Введите следующую команду в терминале, чтобы открыть файл в nano:

sudo nano /etc/default/grub

Найдите строку:

GRUB_DEFAULT=0

Отредактируйте строку так, чтобы она выглядела так:

GRUB_DEFAULT="1>2"

Эта настройка означает, что если запись 1 является подменю, откройте его и выберите там запись 2. В этом примере запись меню 1 (обратите внимание, записи начинаются с 0) являетсяРасширенные возможности для Ubuntu. и запись 2 из полученного подменю:

menuentry 'Ubuntu, with Linux 5.15.0-43-generic' --class ubuntu 

Выйдите из nano, нажав Ctrl+, Xи сохраните файл при появлении соответствующего запроса.

Теперь, чтобы это изменение вступило в силу, вам нужно использовать команду:

sudo update-grub

Перезагрузите ноутбук обычным образом (не заходя в меню grub). С этого момента компьютер должен загружаться со старым ядром.

ЕщеКак мне загрузиться со старой версией ядра?

Важный:В конце концов будет выпущено новое ядро, и ваш компьютер получит обновление. В этот момент вам может быть предложено удалить старое ядро. Проверьте, работает ли новое ядро ​​у вас, прежде чем "автоудалять" ядро ​​5.15.

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

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

Примечание:вы можете захотеть отправить отчет об ошибке. СмотретьКак сообщить об ошибке?чтобы ядро ​​было исправлено.

Надеюсь это поможет

решение2

Использовать собственное ядро ​​OEM

Эта проблемаописывает проблему и предлагает решение, которое сработало у меня на Thinkpad Z13 с процессором AMD Ryzen7:

sudo apt install linux-oem-22.04c

Похоже, в ядре есть ошибка, которая была исправлена ​​в новых версиях.

Редактировать: Обратите внимание, что это привяжет вас к этой конкретной версии ядра до тех пор, пока не будет установлено новое ядро ​​или вы не удалите это ядро.

Связанный контент