如何重新启动未使用 systemd 启动的系统?

如何重新启动未使用 systemd 启动的系统?

我有一个远程服务器,运行 Linux 5.19.0-41-generic x86_64,我正在尝试重新启动它。

我收到以下消息

sudo reboot
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.
sudo init 6
Couldn't find an alternative telinit implementation to spawn.

PID 1 进程是 bash。

ps -p 1 -o comm=
bash

显然,没有 GRUB,至少 /usr/sbin 中没有,并且

grub-install --version
-bash: grub-install: command not found

我猜测,启动时没有使用 GRUB。

它似乎不是虚拟机。我检查了一些文件。它似乎在裸机上运行。但配置很少:top 只显示少数进程,如果我需要更全面的功能,ssh 会提示我“取消最小化”。

我倾向于认为使用了 SysV:

ls /etc/init.d
apport          bluetooth  hwclock.sh  network-manager  procps                       rsync  udev
avahi-daemon    dbus       iwpmd       nfs-common       pulseaudio-enable-autospawn  saned  unattended-upgrades
binfmt-support  gdm3       kmod        pppd-dns         rpcbind                      ssh    x11-common

但:

runlevel
unknown

并且 /etc/inittab 不存在。

sudo shutdown -r now
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.

Q1:我如何确定我的系统是用什么启动的?

Q2:如何重新启动它?

对于 Q2,如果我可以使用 systemd 重新启动它就太好了。

答案1

尝试使用这些命令。您应该以 root 用户身份按照相同的顺序运行这些命令:

echo 1 > /proc/sys/kernel/sysrq
echo o > /proc/sysrq-trigger

如果您的系统无法通过上述命令关闭。请尝试以下操作:

echo 1 > /proc/sys/kernel/sysrq
echo s > /proc/sysrq-trigger
sleep 25
echo b > /proc/sysrq-trigger

相关内容