为什么 Ubuntu 在重启时会冻结(14.04 LTS)?

为什么 Ubuntu 在重启时会冻结(14.04 LTS)?

我对 Linux 还很陌生,尽管到目前为止我已经能够弄清楚如何设置 Ubuntu,但有一个问题困扰着我。

每当我尝试重启电脑时,它就会卡在带有点点的紫色屏幕上。完全停止运行。我不得不从电脑中取出电池才能强制关机。

奇怪的是,当我使用正常关机选项时没有任何问题。只有重启选项才会出现问题。我该如何解决这个问题?

答案1

好吧,经过一番折腾,我想我找到了解决方案。据我所知,问题在于内核可能不知道在特定硬件上被要求重新启动时该做什么。我们可以解决这个问题。

好的,首先,获取 grub 自定义程序。获取后,打开它,转到常规设置,在内核参数下有一行应该写着quiet splash

现在,找到该行后,您必须对其进行编辑,使其显示quiet splash reboot=pci。完成此操作后,您必须转到终端并通过写入来更新 grub 文件sudo update-grub。完成后,关闭您的电脑并重新启动。

您已完成!请注意,重启过程有点慢。

但是,等一下,如果它不起作用怎么办?不要害怕。您可能必须将“=pci”更改为其他内容。下面是您可以尝试的命令列表。但是,据我所知,90% 的问题都可以使用“=pci”、“=bios”或“=acpi”来解决。

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.

列表复制自本网站

希望这可以帮助到别人。

答案2

您可以通过直接编辑 GRUB 的配置文件来传递启动参数:

sudo -H gedit /etc/default/grub

然后更改为上面的列表。这对我有用。

GRUB_CMDLINE_LINUX_DEFAULT="reboot=pci"
GRUB_CMDLINE_LINUX="reboot=pci"

答案3

我已经见过几次这个错误,但到目前为止,除了有时重新安装以修复损坏的软件包之外,还没有看到其他修复方法。我知道我似乎帮不上什么忙,但基本上我建议的解决方案是要么关机再开机,如果你需要重新启动,并且不介意强制关机有时会产生的影响,你可以使用 alt+sysrq+b 进行强制重启,这基本上会使所有进程崩溃,计算机会立即重启。

相关内容