我对 grub 中的启动选项做了一些更改,以便直接登录到 root shell。
- e在 GRUB2 启动菜单中按下。
ro quite splash $vt_handoff
更改行rw init=/bin/bash
- 按下F10即可启动。
按照上述步骤,我能够成功登录到 root shell 并更改 root 的密码。
现在,当我发出reboot
或poweroff
命令时,出现以下错误:
shutdown: unable to shutdown system
如果我尝试运行startx
进入 GUI,系统每次都会挂起。
有什么决议吗?
附言:自从我升级到 14.04 以来,在过去 3 个月中我没有遇到过此系统上的任何其他问题。
答案1
首先您必须激活神奇的 SysRq 选项:
echo 1 > /proc/sys/kernel/sysrq
当您准备重新启动机器时,只需运行以下命令:
echo b > /proc/sysrq-trigger
来源。
答案2
有什么决议吗?
是的。不要这么做。不要指望init=/bin/{bash,sh}
能提供一个可以正常使用的功能系统。它做不到。 你有负担手工完成一切通常情况下,适当的系统管理程序会为您完成这些工作。
不要指望shutdown
,实际上还有不少其他系统实用程序,在您以进程 #1 运行 shell 的情况下工作。shell 不会执行进程 #1 所需的基本系统管理任务,也不会使用 等命令所需的必要协议shutdown
。在这个特定情况下,upstartshutdown
程序(它就是程序)正在尝试打开与 upstart 的桌面总线连接,以告诉 upstart 关闭系统;但由于您从未运行过 upstart,因此没有系统管理器可以与之shutdown
通信。
你有负担手工完成一切系统管理员通常会为您执行这些操作以关闭系统,包括刷新文件系统缓存、干净地卸载文件系统,然后执行最终的关机/停止/重启操作。
出于同样的原因,不要期待复杂的“桌面环境”——它取决于诸如会话初始化; 运行 Desktop Bus 和“kit”服务器;以及基本系统初始化步骤,如正确安装所有文件系统(包括“API”),加载所有必要的可加载内核模块,以及设置所有 sysctl/whatever 设置 — 以便在以下情况下工作你只是运行了一个 shell,并没有执行系统管理程序和系统初始化必须执行的任何操作。