如何强制systemd进入紧急模式?

cei*_*art 5 opensuse systemd

我正在使用 Opensuse 12.3。
systemd-195-13.45.1.x86_64

当我在 btrfs mount 添加光盘时遇到一些问题后,我尝试将我的系统置于紧急模式(我认为所有服务都将停止并且所有挂载都可以卸载),。

但他们就是不工作!!!

如何强制systemd进入紧急模式?(或等效于 init 单模式的东西)并在启动时强制进入紧急模式(grub 菜单)?

第一次尝试:
我使用旧方法:init 1在控制台...
他们向我展示了紧急屏幕,要求输入 root 密码,但是在重新登录后,我仍然无法卸载我的 btrfs FS(说它正在使用中)。(使用 lsof 我没有发现任何使用此支架的东西)。
runlevel命令返回3级......不是1 ...

第二次尝试:
我运行systemctl emergency向我显示“紧急屏幕”的命令,询问 root 密码......然后最后向我显示 runlevel = 1 。但是我仍然无法卸载我的 btrfs FS....

第三次尝试:
我重新启动机器,并在 grub 屏幕上键入“e”以在选项中添加“紧急”一词。他们给我一条消息,比如“紧急词无效”。我尝试使用“单个”词并获得相同的行为....


我的最终解决方案是从 fstab 中删除自动挂载并以正常模式重新启动我的系统。然后最后我能够在 btrfs Fs 上运行我的检查......但是很烦人,因为所有依赖于这个安装启动的服务都会出错......

小智 3

systemd中有4个目标。你想要的是 Emergency.target 我想你可以尝试以下步骤:

  1. 重新启动系统
  2. 按任意键中断引导加载程序菜单倒计时
  3. 将光标移动到要开始的条目
  4. e编辑当前条目
  5. 将光标移动到以linux16开头的行。这是内核命令行。

6.append systemd.unit=desired.target

  1. ctrl+x启动这些更改。

这是rhel7的方法。我认为这可能与 suse 类似。一旦进入紧急模式,仍然需要root密码。祝你好运:)