Ubuntu застрял, что делать

Обновлено: 21.11.2024

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

На днях я купил ноутбук Acer Predator (партнерская ссылка) для тестирования различных дистрибутивов Linux. Это громоздкий, тяжелый ноутбук, который контрастирует с моими предпочтениями в отношении небольших и легких ноутбуков, таких как великолепный Dell XPS.

Причиной, по которой я выбрал этот игровой ноутбук, хотя я и не играю на ПК, является графика NVIDIA. Acer Predator Helios 300 поставляется с видеокартой NVIDIA Geforce GTX 1050Ti.

NVIDIA известна своей плохой совместимостью с Linux. Несколько читателей It’s FOSS обратились ко мне за помощью с их ноутбуками NVIDIA, и я ничего не мог сделать, потому что у меня не было системы с видеокартой NVIDIA.

Поэтому, когда я решил приобрести новое специализированное устройство для тестирования дистрибутивов Linux, я выбрал ноутбук с графикой NVIDIA.

На этом ноутбуке установлена ​​ОС Windows 10, твердотельный накопитель емкостью 120 ГБ и жесткий диск емкостью 1 ТБ для хранения данных. Я дважды загрузил Windows 10 с Ubuntu 18.04. Установка прошла быстро, легко и безболезненно.

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

Та же история повторилась при следующей попытке входа. Ubuntu просто застревает на фиолетовом экране еще до перехода к экрану входа в систему.

Звучит знакомо? Позвольте мне показать вам, как вы можете решить эту проблему с зависанием Ubuntu при входе в систему.

Не используете Ubuntu?

Обратите внимание, что хотя это руководство было выполнено с Ubuntu 18.04, оно также будет работать и с другими дистрибутивами на основе Ubuntu, такими как Linux Mint, elementary OS и т. д. Я подтвердил это с ОС Zorin.

Исправить зависание Ubuntu во время загрузки из-за графических драйверов

Вы можете посмотреть, как решить эту проблему, в следующем видео.

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

Шаг 2. Временное изменение параметров ядра Linux в Grub

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

Теперь есть несколько способов отключить эти драйверы. Мой любимый способ — отключить все видеокарты/видеокарты с помощью nomodeset.

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

Теперь ваш экран должен выглядеть так:

Нажмите Ctrl+X или F10, чтобы сохранить и выйти. Теперь вы загрузитесь с недавно измененными параметрами ядра здесь.

Итак, что мы здесь только что сделали? Что это за номодесет? Позвольте мне кратко объяснить вам это.

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

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

Если вы добавите в ядро ​​параметр nomodeset, он даст указание ядру загрузить видео/графические драйверы после запуска сервера отображения.

Другими словами, вы отключили загрузку графического драйвера в это время, и конфликт, который он вызывал, исчезнет. После того, как вы войдете в систему и все увидите, потому что видеокарта снова загружается.

Устранение неполадок: не удается загрузиться даже после использования nomodeset?

Если использование nomodeset в grub не сработало и вы по-прежнему не можете загрузиться, попробуйте другие параметры вместо nomodeset.

Выполните те же действия, что и выше. При редактировании grub добавьте nouveau.noaccel=1 вместо nomodeset. Сохраните и выйдите из grub и посмотрите, сможете ли вы загрузиться сейчас.

Если даже это не сработает, попробуйте добавить noapic noacpi nosplash irqpoll вместо тихого всплеска в grub.

Шаг 3. Внесите постоянные изменения в Grub (если вы можете загрузиться и нет проблем с графикой)

В некоторых случаях полное прекращение использования графического драйвера или переход на драйвер с открытым исходным кодом может привести к ухудшению разрешения. Если у вас так, попробуйте переключиться на проприетарный драйвер, как описано в альтернативном шаге 3 (следующий раздел).

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

Означает ли это, что вам всегда придется редактировать ядро ​​с экрана grub? К счастью, нет.

Что здесь можно сделать, чтобы изменить конфигурацию grub, чтобы ядро ​​Linux не пыталось загрузить графический драйвер перед сервером отображения.

Для этого откройте терминал (используйте сочетание клавиш Ctrl+Alt+T), а затем используйте следующую команду, чтобы открыть файл конфигурации grub в редакторе Gedit:

Чтобы открыть этот файл, вам нужно будет использовать свой пароль. Открыв текстовый файл, найдите строку, содержащую: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" .

Измените эту строку на: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Это должно выглядеть примерно так:

Сохраните файл и обновите grub, чтобы изменения вступили в силу. Используйте эту команду:

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

Альтернативный шаг 3. Вы можете загрузиться, но графика выглядит странно? Обновите свою систему и установите проприетарные графические драйверы

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

В Ubuntu и многих других дистрибутивах есть простой способ установки проприетарных драйверов. Найдите «Дополнительные драйверы» в меню Ubuntu. Здесь вы можете найти дополнительные графические драйверы для вашей системы.

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

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

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

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

Теперь перейдите на вкладку "Дополнительные драйверы" и подождите несколько секунд. Здесь вы увидите проприетарные драйверы, доступные для вашей системы. Вы должны увидеть NVIDIA в списке здесь.

Выберите проприетарный драйвер и нажмите «Применить изменения».

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

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

Работа с MOK (только для устройств с поддержкой UEFI Secure Boot)

Если вас попросят установить пароль для безопасной загрузки, вы увидите синий экран с надписью «Управление MOK». Это сложная тема, и я попытаюсь объяснить ее проще.

MOK (ключ владельца компьютера) необходим из-за функции безопасной загрузки, которая требует подписи всех модулей ядра. Ubuntu делает это для всех модулей ядра, поставляемых в ISO. Поскольку вы установили новый модуль (дополнительный драйвер) или внесли изменения в модули ядра, ваша безопасная система может воспринять это как необоснованное/постороннее изменение в вашей системе и может отказаться загружаться.

Следовательно, вы можете либо подписать модуль ядра самостоятельно (указав вашей системе UEFI не паниковать из-за того, что вы внесли эти изменения), либо просто отключить безопасную загрузку.

Теперь, когда вы немного знаете о безопасной загрузке и MOK, давайте посмотрим, что делать при следующей загрузке, когда вы видите синий экран при следующей загрузке.

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

Вот почему вам следует выбрать Зарегистрировать MOK.

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

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

В худшем случае ваша система переключится на встроенную графику Intel вместо графики NVIDIA. Вы можете установить графические драйверы NVIDIA позже в любой момент. Ваш приоритет — загрузиться в систему.

После установки нового драйвера вам придется снова перезагрузить систему. Не волнуйтесь! Теперь все должно быть лучше, и вам больше не нужно будет редактировать параметры ядра. Вы сразу загрузитесь в Ubuntu.

Шаг 4. Наслаждайтесь Ubuntu Linux

Я надеюсь, что это руководство помогло вам решить проблему зависания Ubuntu во время загрузки, и вы смогли загрузиться в свою систему Ubuntu.

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

Существуют разные типы зависаний, от зависания одной программы до зависания всей системы. Я постараюсь решить их один за другим.

Одна программа перестает отвечать

Это самый распространенный вариант. Это случается очень часто. И с этим можно легко справиться.

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

Но иногда это не так. В этом случае нажмите Alt+F2, введите xkill и нажмите Enter.

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

Если это не сработает, вы можете открыть окно терминала (нажав Ctrl+Alt+T ).

(Если вы не можете открыть окно терминала, нажмите Ctrl+Alt+F1 и войдите в систему tty. Вы можете нажать Ctrl+Alt+F7, чтобы вернуться в графический интерфейс) и найдите идентификатор процесса процесса это оскорбительно.

Например, если vlc player вызывает у меня головную боль, я введу следующую команду, чтобы найти идентификатор процесса vlc.

Запишите идентификатор процесса и уничтожьте его с помощью следующей команды.

Процесс должен быть прекращен навсегда.

Но что делать, если даже мышь не работает?

В этом случае Вам необходимо открыть терминал. Вы можете попробовать Ctrl+Alt+T , если это не сработает, введите Alt+F2, а затем введите gnome-terminal и нажмите Enter.

Иногда это тоже не сработает. В этом случае вам нужно нажать Ctrl+Alt+F1, чтобы войти в tty.

В командной строке введите

Это должно вернуть вас на экран входа в систему.

Когда вся система заблокирована и ничего не работает?

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

Нажмите и удерживайте клавишу Alt вместе с клавишей SysReq (Print Screen). Теперь введите следующие клавиши: R E I S U B (дайте интервал в секунду или две между каждым нажатием клавиши). Если вам трудно запомнить ключи, попробуйте следующее:

Перезагрузить; Четное; Если; Система; Крайне; Сломан.

Если вам нужно знать, что только что произошло, вот что произошло.

E: отправить сигнал завершения всем процессам, кроме init

I: отправить сигнал Kill всем процессам, кроме init

S: синхронизировать все смонтированные файловые системы

U: перемонтировать файловые системы как доступные только для чтения

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

Все операционные системы иногда зависают, и Ubuntu не является исключением. Что мне делать, чтобы восстановить контроль, когда.

  • только одна программа перестает отвечать на запросы?
  • ничего не реагирует на щелчки мышью или нажатия клавиш?
  • мышь полностью перестает двигаться?
  • У меня процессор Intel Bay Trail?

В каком порядке мне следует попробовать различные решения, прежде чем принять решение о отключении питания?

Что делать, если не удается запустить Ubuntu? Есть ли процедура диагностики, которой я могу следовать?

46 ответов 46

Если он полностью завис, вы можете ПОВТОРИТЬ ПОДПИСКУ, что является более безопасной альтернативой простой холодной перезагрузке компьютера.

Удерживая клавишу Alt и SysReq (Print Screen), введите R E I S U B .

Некоторые мнемоники для REISUB:

Это ключ SysReq:

ПРИМЕЧАНИЕ. Эти комбинации клавиш следует явно включить. Ubuntu поставляется с настройкой sysrq по умолчанию 176 (128+32+16), что позволяет запускать только SUB-часть комбинации REISUB. Вы можете изменить его на 1 (все команды включены) или 244, что потенциально менее опасно. Для этого:

и переключите 176 на 244; затем

Это сразу сработает! Вы можете проверить это, нажав Alt + SysReq + F. Для меня это убило активную вкладку браузера, а затем все расширения. И если вы продолжите, вы можете перезапустить X Server.

Подробнее обо всех функциях Alt + SysReq здесь.

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

Если вам нравится мнемоника: выращивание слонов — это ужасно скучно, или событие «Перезагрузка, если система полностью сломана». Я также видел это как RSEIUB (Выращивание тощих слонов — это ужасно скучно).

На самом деле я придумал это и пытаюсь запомнить так: «Сброс системной среды в UBuntu». или «Сброс среды в системе UBuntu».

Когда одна программа перестает работать:

Когда окно программы перестает отвечать на запросы, его обычно можно остановить, нажав X-образную кнопку закрытия в левом верхнем углу окна. Как правило, это приводит к появлению диалогового окна с сообщением о том, что программа не отвечает (но вы уже знали об этом), и предоставлением возможности завершить работу программы или продолжать ждать ее ответа.

Иногда это не работает должным образом. Если вы не можете закрыть окно обычными способами, вы можете нажать Alt + F2, ввести xkill и нажать Enter. Затем курсор мыши превратится в X. Наведите курсор на окно-нарушитель и щелкните левой кнопкой мыши, чтобы закрыть его. Щелчок правой кнопкой мыши отменит действие и вернет мышь в нормальное состояние.

С другой стороны, если ваша программа запускается из терминала, вы обычно можете остановить ее, нажав Ctrl + C . Если нет, найдите имя и идентификатор процесса его команды и скажите программе завершить работу как можно скорее с помощью команды kill [идентификатор процесса здесь]. Он отправляет сигнал SIGTERM (15) по умолчанию. Если ничего не помогает, в крайнем случае отправьте SIGKILL ( 9 ): kill -9 [идентификатор процесса здесь] . Обратите внимание, что вы должны использовать SIGKILL только в крайнем случае, потому что процесс будет немедленно завершен ядром без возможности очистки. Он даже не получает сигнал — он просто перестает существовать.

(Уничтожение процесса командой kill -9 работает всегда, если у вас есть разрешение на уничтожение. В некоторых особых случаях процесс по-прежнему указан в списке ps или top (как "зомби") - в этом случае программа была убита, но запись в таблице процессов сохраняется, потому что она понадобится позже.)

Когда мышь перестает работать:

Если клавиатура все еще работает, нажмите Alt + F2 и запустите gnome-terminal (или, если они не запускаются, нажмите Alt + Ctrl + F1 и войдите в систему, используя свое имя пользователя и пароль ). Оттуда вы можете устранять неполадки. Я не буду вдаваться в вопросы устранения неполадок с мышью, так как я не исследовал их. Если вы просто хотите попробовать перезапустить графический интерфейс, запустите sudo service lightdm restart. Это должно вывести из строя графический интерфейс, который затем попытается восстановиться, возвращая вас на экран входа в систему.

Если у вас процессор Intel Bay Trail

Когда все, клавиши, мышь и все такое, перестает работать:

Сначала попробуйте метод Magic SysReq, описанный в ответе Феникса. Если это не сработает, нажмите кнопку Reset на корпусе компьютера. Если даже это не сработает, вам просто нужно выключить и снова включить машину.
Пусть вы никогда не достигнете этой точки.

Вы можете сделать так, чтобы сочетание клавиш Ctrl + Alt + Delete открывало системный монитор, с помощью которого можно убивать любые неотвечающие приложения.

Как предотвратить зависание Ubuntu 20.04?

1) измените параметр подкачки с значения по умолчанию 60 на 10, то есть: добавьте vm. swappiness = 10 в /etc/sysctl. conf (в терминале введите sudo gedit /etc/sysctl. conf ), затем перезагрузите систему.

Как перезапустить Ubuntu, когда она зависает?

Перезапустите Gnome в Ubuntu

Если ваш рабочий стол по-прежнему реагирует на клавиатуру, нажмите Alt + F2 , введите во всплывающем окне одну букву r и нажмите Enter. Это перезапустит среду рабочего стола без особых хлопот. Однако если ваш рабочий стол не отвечает на ваши действия, вам придется принять более решительные меры.

Что делать, если Ubuntu зависает?

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

Почему Ubuntu 18.04 зависает?

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

Как разморозить терминал?

Не отвечающий терминал

  1. Нажмите клавишу RETURN. …
  2. Если вы можете вводить команды, но при нажатии RETURN ничего не происходит, попробуйте нажать LINE FEED или CTRL-J. …
  3. Если в вашей оболочке есть управление заданиями (см. главу 6), нажмите CTRL-Z. …
  4. Используйте клавишу прерывания (найденную ранее в этой главе, обычно это DELETE или CTRL-C.…
  5. Введите CTRL-Q.

Как предотвратить зависание Linux?

  1. Отключить своп => У меня часто запускают много процессов, которые потом становятся неактивными. …
  2. Купить SSD => слишком дорого.
  3. установить максимальное значение памяти ulimit =>, но затем оно не работает, если программе требуется разумный, большой объем памяти.

Как разморозить компьютер с Linux?

Ctrl + Alt + PrtSc (SysRq) + повторная подписка

Это безопасно перезапустит ваш Linux. Возможно, у вас возникнут проблемы с нажатием всех кнопок.

Как загрузить Ubuntu в режим восстановления?

Используйте режим восстановления, если у вас есть доступ к GRUB

Выберите пункт меню «Дополнительные параметры для Ubuntu», нажимая клавиши со стрелками, а затем нажмите Enter. С помощью клавиш со стрелками выберите в подменю пункт «Ubuntu… (режим восстановления)» и нажмите Enter.

Как обновить Ubuntu?

Просто удерживайте Ctrl + Alt + Esc, и рабочий стол обновится.

Как перезапустить Ubuntu?

Перезапуск Ubuntu также можно выполнить с помощью замечательной команды завершения работы в Linux. Вам просто нужно использовать параметр -r, чтобы указать, что это запрос на перезагрузку. По умолчанию, если вы просто используете команду shutdown -r, она перезагрузит вашу систему через одну минуту.

Читайте также: