关闭:无法从 root shell (init=/bin/bash) 关闭系统。(Ubuntu 14.04)

pri*_*ner 5 boot grub2 root 14.04

我对 grub 中的引导选项进行了一些更改,以直接登录到 root shell viz。

  1. e在 GRUB2 引导菜单上按。
  2. 更改线路ro quite splash $vt_handoffrw init=/bin/bash
  3. F10开机。

按照上述步骤,我能够成功登录到 root shell 并更改了 root 的密码。

现在,当我发出rebootpoweroff命令时,出现以下错误:

shutdown: unable to shutdown system
Run Code Online (Sandbox Code Playgroud)

如果我试图运行startx进入 GUI,系统每次都会挂起。

有什么决议吗??

PS:自从我升级到 14.04 以来,在过去的 3 个月内,我在此系统上没有遇到任何其他问题。

小智 7

首先,您必须激活神奇的 SysRq 选项:

echo 1 > /proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)

当您准备好重新启动机器时,只需运行以下命令:

echo b > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)

来源


Jde*_*eBP 4

有什么决议吗??

是的。不要那样做。不要期望init=/bin/{bash,sh}提供一个可以正常使用的功能系统。事实并非如此。 有责任手动完成通常由适当的系统管理器程序为您做的所有事情。

不要指望shutdown以及许多其他系统实用程序能够在您将 shell 作为进程 #1 运行的情况下工作。shell 不执行进程 #1 所需的必要的基本系统管理任务,并且它不执行诸如shutdown. 在这种特殊情况下,upstartshutdown程序(实际上就是这样)正在尝试打开与 upstart 的桌面总线连接,以便告诉 upstart 关闭系统;但由于您从一开始就没有运行暴发户,因此没有系统管理员可以与之shutdown交谈。

为了关闭系统,必须手动完成系统管理员通常会为您做的所有事情,包括刷新文件系统缓存、干净地卸载文件系统,然后执行原始的最终断电/停止/重新启动操作。

出于同样的原因,不要期望复杂的“桌面环境”——它依赖于诸如会话初始化之类的东西;运行桌面总线和“套件”服务器;以及基本的系统初始化步骤,例如正确安装所有文件系统(包括“API”文件系统)、加载所有必需的可加载内核模块以及设置所有 sysctl/无论什么设置 - 以在您刚刚运行的情况下工作一个 shell,并且没有执行系统管理器程序和系统初始化必须执行的任何操作

进一步阅读