Новый компьютер зависает при выключении / перезагрузке, как устранить неполадки?

24

Моя система работает отлично, но она зависает во время выключения / перезагрузки / приостановки / гибернации: все окна и строка меню исчезают, но обои рабочего стола остаются. Он даже не показывает экран выключения (с анимированными точками), где я мог нажать ESC и посмотреть текст консоли выключения. Система является совершенно новой и полностью обновляется с помощью диспетчера обновлений.

  1. Как я могу определить, что вызывает замораживание?
  2. Есть ли журнал, который я могу исследовать?
  3. Как я могу это исправить?

Я не вижу очевидной причины замораживания. Единственное USB-приложение - это мышь / клавиатура; У меня нет внешнего хранилища; и у меня нет запущенных программ (машина зависает даже при выключении прямо с экрана входа в систему).

Что я пробовал до сих пор:

  • Основываясь на других вопросах ( этом , этом и этом ), которые предлагают некоторые настройки ACPI, я попытался sudo shutdown -h nowвыяснить, предлагает ли текстовый дисплей консоли выключения какие-либо подсказки, но система даже не заходит так далеко - она ​​все еще зависает, пока На экране отображается фоновое изображение рабочего стола, без каких-либо панелей инструментов. Работает только sudo shutdown --force, но это не решение.
  • Редактирование меню grub для добавления acpi = off в ядро ​​не помогло. Я думаю, что нет смысла пробовать другие (меньшие) предложения ACPI?
  • Добавление noapic к записи grub не оказало заметного эффекта. Добавление nolapic вместо этого сделало что-то (я удалил тихую опцию) - системе удалось продолжить с выключением, вплоть до строки Проверка выполнения автоматических обновлений: которые были последними символами на экране.
  • Я также проверил системный BIOS, особенно в отношении параметров питания, но не увидел ничего необычного. Переключение режима ожидания BIOS с S3 на S1 не помогло. Настройка режима ожидания не может быть отключена, и нет других настроек, связанных с ACPI AFAIK.
  • Сброс BIOS не помог. Не удивлен; ничего не изменилось.
  • Я попытался перейти на виртуальную консоль (CtrlAltF1), как это было предложено djeikyb, и оттуда сделал shutdown -h сейчас, и она тоже замерзла после вывода этой консоли . Я не пробовал убивать процессы по одному, потому что я все еще слишком новичок, чтобы понять, как это сделать.
  • Загрузка с ядром 2.6.35.22 вместо 2.6.35.25 не помогла.
  • Отключение драйверов Nvidia не помогло.
  • Загрузка с Live CD (фактически, с USB-накопителя) не помогла; он так же замерзает.
  • Загрузка с Live CD acpi=off noapic nolapicтоже не помогла. Ни один не сделал просто nolapic. Очевидно, это не какая-то особая настройка в моей установке, а какая-то базовая проблема.
  • MemTest соревновался за 1 час без ошибок.
Torben Gundtofte-Bruun
источник
2
Зависание при выключении / перезапуске не должно препятствовать какой-либо установке. Linux не Windows, файлы могут быть заменены во время использования, Ubuntu не будет обновляться при перезагрузке. Перезагрузка требуется только для того, чтобы убедиться, что загружены новые исполняемые файлы.
Хавьер Ривера
@ Хавьер, извини, но я не согласен. Некоторые установки и, в частности, драйверы Nvidia явно требуют шагов при завершении работы. В обычной процедуре выключения также есть шаг, который проверяет наличие любых других ожидающих установок непосредственно перед перезагрузкой. Если вы правы, почему диспетчер обновлений запрашивает перезагрузку и почему в меню питания переименовывается запись «перезагрузка» на «перезагрузка для завершения установки обновлений»? (цитата из памяти.) В общем , я буду очень доволен Ubuntu , а также с тем , что все программы могут быть установлены и доступны мгновенно. Но для водителей это может быть иначе?
Торбен Гундтофте-Бруун
Не жалей о несогласии. Знание обычно приходит после разногласий. Я не вижу ни одного скрипта, связанного с обновлениями, выполняемыми при завершении работы, кроме /etc/init.d/inattended-upgrades, и он просто проверяет, выполняется ли обновление, и заставляет завершение работы ждать их завершения. Меню меняется, потому что вам обычно (*) требуется перезагрузка, чтобы применить обновления, ядро ​​должно быть перезагружено. Я не знаю о проприетарном драйвере nvidia, но большинство графических драйверов запускаются только с перезагрузкой X (и, может быть, с некоторым rmmod).
Хавьер Ривера
@ Javier, ах да, "unattended-upgrades" - это то, что я вижу во время выключения (на моей другой машине). Спасибо за объяснение этого! :-)
Торбен Гундтофте-Брюн
@torbengb: извините, но это не так. В меню Power есть «перезагрузка для завершения установки обновлений», которая вводит в заблуждение, и это не означает, что вы думаете. Там нет ничего , что должно быть делать на остановке «закончить установку» , как вы можете думать. Предполагается, что этот текст означает, что вам нужно перезагрузить компьютер, чтобы использовать новую версию некоторых программ, например, можно установить / обновить новое ядро, но вы все еще используете старое до перезагрузки. Это НЕ означает, что завершение работы делает дополнительный шаг при установке! Вы ошибаетесь, даже установка драйвера nvidia не делает ничего лишнего при выключении.
ЛГБ

Ответы:

8

Этот ответ на форумах Ubuntu имеет точное решение! (Почему я не опубликовал там параллельно здесь на AU? Это сэкономило бы неделю календарного времени и несколько часов компьютерного времени!)

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

Откройте терминал и введите: sudo modprobe -rf rt2860sta

С последующим: sudo modprobe rt2860sta

Тогда вам нужно занести в черный список неправильный драйвер:
echo blacklist rt2800pci | sudo tee -a /etc/modprobe.d/blacklist.conf

Как только вы перезагрузите компьютер (вам нужно будет отключить его в последний раз!), Вы обнаружите, что можете перезагрузить компьютер должным образом.

Торбен Гундтофте-Бруун
источник
1
Отправить патч на Launchpad?
Oxwivi
Звучит как хорошая идея. Я совершенно новичок в Linux, поэтому я не уверен, как это сделать. Заглядывая в это ...
Торбен Гундтофте-Брюн
1
Я думаю об этой ошибке уже сообщалось .
Торбен Гундтофте-Брюн
4

Для Ubuntu 11.10 вы можете попробовать reboot=biosопцию (или другие опции):

  1. Получите доступ к файлу конфигурации GRUB, как описано здесь .

    cd .. && cd .. && sudo -H gedit etc/default/grub
    
  2. Отредактируйте строку GRUB_CMDLINE_LINUX=""так, чтобы она гласила:

    GRUB_CMDLINE_LINUX="reboot=bios"
    

    и сохраните файл.

  3. Обновите GRUB для записи конфигурации:

    sudo update-grub
    
  4. Перезагрузите компьютер

    (он может висеть на фиолетовом экране, но, надеюсь, в последний раз ...)

Джонатан
источник
1
Вы также можете попробовать параметры для ACPI: brighthub.com/computing/linux/articles/39504.aspx
Джонатан
1
Всегда безопаснее помещать параметры в GRUB_CMDLINE_LINUX_DEFAULT, поскольку это не влияет на загрузочную запись для режима восстановления.
Махеш
У меня была эта проблема только при перезагрузке с Ubuntu / Lubuntu / Xubuntu на старом ПК (Intel Celeron, 512 МБ ОЗУ). Я перепробовал все решения, но только ваш ответ помог. Спасибо.
Ален
2

Это может быть проблемой ACPI. Вы можете попытаться передать ядру некоторые параметры, чтобы отключить некоторые функции ACPI. Обратите внимание, что это приведет к потере функций (управление питанием) или производительности (много опросов).

Сначала небольшое объяснение о том, как добавить некоторые параметры ядра, убитые с треском из Htorque :

  1. Запустите систему и дождитесь появления меню GRUB (если вы не видите меню GRUB, нажмите и удерживайте левую Shiftклавишу сразу после запуска системы).
  2. Теперь выделите ядро, которое вы хотите использовать, и нажмите cклавишу. Вы должны быть в состоянии видеть и редактировать команды, связанные с выделенным ядром.
  3. Перейдите к строке, начинающейся с, linuxи добавьте один из следующих параметров после пробела.
  4. Теперь нажмите Ctrl+ xдля загрузки.

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

  • acpi=offэтот должен полностью отключить Acpi. Скорее всего, это сработает, но вы потеряете все управление питанием.
  • pci=noacpi , это заставит ядро ​​игнорировать acpi для сканирования pic и присваивания irq.
  • acpi=noirq, это только отключит назначение IRQ через ACPI.
  • irqpoll, это сделает опрос ядра для всех автоматических прерываний IRQ.
  • noapic, это заставит ядро ​​игнорировать APIC .
Хавьер Ривера
источник
Слишком долго для комментария
Хавьер Ривера
Если вам нравится, как добавить параметры ядра, не забудьте проголосовать за оригинальный ответ Htorque.
Хавьер Ривера
Я отредактировал самую верхнюю запись и добавил acpi = off в конец строки, начинающейся с linux . Я заметил, что строка перенесена на другую строку, поэтому я добавил ее к следующей строке, а не посередине. Затем я загрузился с этой записью и выбрал перезагрузку прямо с экрана входа в систему - и она сразу же снова замерзла ...
Торбен Гундтофте-Брюн
Попробуйте noapic и nolapic, оба не имеют отношения к acpi.
Хавьер Ривера
noapic = нет эффекта. Nolapic работал до определенного момента, см обновленный вопрос.
Торбен Гундтофте-Бруун
1

Я мог бы:

  • переустановить чипы RAM
  • сбросить настройки BIOS по умолчанию
  • попробуй запустить Live distro и посмотри как это работает
  • запустите MemTest на некоторое время
реактивный самолет
источник
Живой дистрибутив не помог; тот же эффект. Сброс BIOS не помог; тот же эффект. MemTest запланирован на вечер. Перезапуск ОЗУ требует нарушения печати; Я бы предпочел нет, так как это совершенно новая машина.
Торбен Гундтофте-Бруун
1

Я исправил это, добавив следующую строку в файл /etc/default/halt:

INIT_HALT = POWEROFF
Fabio
источник
Спасибо, это действительно сработало !!! Я до сих пор не могу выяснить, какая посылка действительно принесла эту неприятность. Я был в курсе каждого пакета, как я их установил. Он начал показывать, когда я установил virtualbox (позже я подумал, что это из-за mpd). Я не могу действительно определить, как вернуть это.
бритва
0

В большинстве случаев это происходит из-за глючной видеокарты. Например, в Ubuntu 12.04 мне пришлось установить все обновления (включая те, которые связаны с xorg). После этого я установил катализатор 12.10, который решил проблему. Я предлагаю вам удалить (если он установлен) инструменты для работы в режиме ноутбука (включая его зависимости, например ethtool, sdparm), потому что это также приводит к аварийному завершению работы.

бритва
источник
0

Как ни странно, моя проблема была решена, когда я убрал параметр «сейчас». То есть я использовал:

sudo /sbin/reboot now

и это застряло,

но когда я использовал:

sudo /sbin/reboot

проблема была решена.

Я не понимаю почему. Проблема появилась только когда я установил Ubuntu 13.10 .
У меня все еще есть 3 другие станции с таким же аппаратным обеспечением, но с более старой версией Ubuntu 12.04, и у меня нет этой проблемы.

Haroon
источник
Я заметил, что, когда я добавляю параметр «сейчас», выводится следующее сообщение: «Система отключена для обслуживания СЕЙЧАС!» и когда я опускаю его, то сообщение немного отличается: "Система отключается для перезагрузки СЕЙЧАС!"
Haroon
0

Я также столкнулся с той же ситуацией, но не смог решить ее ни одним из вышеперечисленных методов. Хотя может быть много причин этой проблемы, но я решил это, отключив контроллер USB 3.0 в меню BIOS.

Капил Гарг
источник