Почему я не могу перезагрузить / выключить?

15

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

ubuntu 10.10 [129.171175] Restarting system. eco
nds ... [OK]
...
Unmounting weak filesystems ... [OK]
will now restart

Тогда ничего не происходит, и я должен физически нажать кнопку сброса.

Дэвид Б
источник
Вы можете прикрепить сообщения в /var/log/kern.log, когда это произойдет, пожалуйста! (убедитесь, что вы получили последний цикл отключения питания, а не только новый цикл включения питания)
Ник Х.С.

Ответы:

14

В дополнение к тому, что предложил Делан, в общем случае вы должны обязательно попробовать разные значения для reboot=параметра загрузки; Я бы посоветовал, reboot=bв частности, так как это наиболее распространенный вариант для машин, которые нужны. Вот комментарий из linux / arch / x86 / kernel / reboot.c с возможными значениями:

/* reboot=b[ios] | s[mp] | t[riple] | k[bd] | e[fi] [, [w]arm | [c]old] | p[ci]
   warm   Don't set the cold reboot flag
   cold   Set the cold reboot flag
   bios   Reboot by jumping through the BIOS (only for X86_32)
   smp    Reboot by executing reset on BSP or other CPU (only for X86_32)
   triple Force a triple fault (init)
   kbd    Use the keyboard controller. cold reset (default)
   acpi   Use the RESET_REG in the FADT
   efi    Use efi reset_system runtime service
   pci    Use the so-called "PCI reset register", CF9
   force  Avoid anything that could hang.
 */

Ядро имеет ряд так называемых «причуд» для конкретных машин, для которых требуется метод перезагрузки BIOS, но, как и для любой аппаратной базы данных, существует вероятность того, что ей не хватает нескольких. Ваш компьютер может быть одним из тех, которые отсутствуют. Если вы обнаружите, что это reboot=bпоследовательно исправляет это для вас, тогда, пожалуйста, запустите 'ubuntu-bug linux', чтобы сообщить об ошибке в ядре с просьбой сделать это по умолчанию для вашей машины.

Вы можете внести это изменение либо в командной строке GRUB (нажмите «e» в соответствующей загрузочной записи и перейти в конец linuxстроки), либо, чтобы сделать ее постоянной, отредактируйте /etc/default/grubи измените GRUB_CMDLINE_LINUXстроку, соблюдая осторожность reboot=b(или что угодно) внутри кавычек.

Колин Уотсон
источник
Можете ли вы уточнить, где внести изменения? Это в личинке?
itadok
@itsadok Да. Я отредактировал свой ответ, чтобы прояснить это.
Колин Уотсон
Есть ли способ узнать, что по умолчанию режим перезагрузки?
Хулио Герра
2

Иногда перезапуск не совсем работает должным образом. Например, при использовании Ubuntu на компьютерах Apple вы должны добавить reboot=pciв свои загрузочные флаги правильную перезагрузку, не вешая сообщения о перезагрузке, как на вашем компьютере. Я не говорю, что ваш компьютер Apple, но этот флаг загрузки может помочь.

Делан Азабани
источник
Я не использую Apple, просто ПК. Это не всегда происходит - просто иногда. Например, я только что установил некоторые рекомендуемые обновления, а затем перезапустил, как рекомендовано, - но компьютер не перезагрузится. Он просто показывает ранее упомянутые строки и зависает при «теперь перезагрузится».
Дэвид Б
2

Вы можете попробовать метод этой ссылки , которая добавлена:

acpi=force reboot=acpi

в:

/etc/default/grub

Окончательный код выглядит так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=force reboot=acpi"

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

Синди
источник
Моя система (Macbook Pro 11.1, Kubuntu 14.04) зависала при выключении (и останове, и при выключении питания), и ваши предложенные настройки, кажется, исправили некоторые проблемы. Благодарность!
Роб
Не забудьте sudo upgrade-grub2после изменения файла.
earthmeLon
Параметр «reboot = acpi» в / etc / default / grub также работает для Ubuntu 16.04 LTS (Beta2), в которой также есть похожие проблемы с зависанием. Спасибо за это.
Джефф Серено
@earthmeLon: это должно быть sudo update-grub2лучше, чем upgrade-grub2. Я думаю, что это опечатка.
user238607