1
在最近的公司计算机上启动期间崩溃
经过一些最近的更新后,我的计算机不再启动!这是我可以确定的: 这是公司IT向我提供的最新计算机。它具有最新的Intel CPU(Skylake一代)。 该计算机运行Ubuntu 16.04。 上一次在三月份的某个时间正确启动了计算机。该问题可能是由于软件更新或硬件错误引起的。 我有一台运行16.04的计算机,安装了几乎相同的软件(我使用过apt-clone),并且工作正常。它具有不同的硬件(也为amd64,但具有不同的CPU,不同的GPU等)。 内核确实启动,initrd正常工作。在图形模式下使用启动屏幕启动时,系统提示输入dm-crypt卷的密码,最后我看到的是它已成功安装。 挂起发生在我得到登录提示之前。当计算机挂起时,这很困难。甚至Alt+ SysRq都没有回应。由于风扇完全爆炸,因此CPU显然固定在100%。 重新启动之前,我仍然有运行中的内核。当我在Grub菜单中选择此内核时,我得到了相同的锁定。因此,这似乎是一个预先存在的内核错误,该错误由其他原因触发-但是呢? 如果我关闭了启动画面(splash从linuxGrub中的命令行删除),则看到许多服务正在启动,然后它将锁定。 我可以通过添加得到一个root shell init=/bin/sh到linux在GRUB命令行。我什至可以通过添加进一步 systemd.unit=basic.target systemd.shell 这将启动许多服务,并在tty9上运行根shell。 如果我systemctl start multi-user.target从该根外壳运行,则计算机将锁定。因此,大概是这些服务之一触发了问题。 我跑去systemctl list-dependencies multi-user.target看什么服务开始。我一一手动启动了列出的依赖项,一切开始正常。 因此,这看起来像是由某些软件触发的硬件错误(因为它发生在一台计算机上,而不是另一台计算机上)。但是什么软件?由于计算机锁定非常困难,因此无法获取任何日志。我什至无法获得任何有用的控制台输出。 有用的调试技术: Alt+ SysRq:魔术SysRq键,可让您执行紧急重启之类的操作。它以非常低的级别访问内核,因此除了最严重的崩溃外,它都能正常工作。就我而言,Alt+ SysRq不会响应,这表明崩溃的程度。 要修改启动参数,请Shift在打开电源后按住几秒钟。在BIOS初始化键盘之后,但在操作系统引导之前,您需要按一下它。这将使Grub菜单出现。 在Grub菜单上,按e编辑菜单项的命令行。要更改Linux引导参数,请导航至以开头的行linux。在现代Ubuntu上,您会在“ Ubuntu的高级选项”下找到旧内核。对命令行进行所需的更改后,请按Ctrl+ x引导。您在此处所做的任何更改仅用于此引导,它们不会保存到磁盘。 linux命令行上一些有用的选项: quiet nosplash隐藏几乎所有引导消息。删除它们以在启动期间在控制台上获取消息,这对于诊断问题是必须的。 recovery为您提供了几乎没有服务的root shell。您需要知道root密码。“恢复模式”菜单项使用此选项。 init=/bin/sh为您提供了根本没有服务的root shell。要恢复正常引导,请运行exec init。您可以在此时传递systemd选项,例如exec init --unit=basic.target,启动init和一些服务(请注意,这不会以任何方式启动登录,因此最好在另一个控制台上运行shell)。注意,根文件系统是只读安装的;运行mount -o remount,rw /以能够对其进行写入。 systemd.unit=basic.target启动一组非常基本的服务。请注意,这不包括任何登录方式!您可以通过systemctl set-default basic.target在根目录提示符下运行将其设置为默认值。要恢复原始的默认目标,请运行systemctl set-default …