Как перезагрузить систему, которая не была запущена с помощью 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 не использовался при запуске.
Кажется, это не виртуальная машина. Я проверил некоторые файлы. Похоже, что он работает на голом металле. Но конфигурация минимальна: вверху отображается всего несколько процессов, а по 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: как узнать с чем загрузилась моя система?
В2: как мне перезагрузить его?
Что касается Q2, было бы здорово, если бы я мог перезагрузить его с помощью systemd.
1 ответ
Попробуйте использовать эти две команды. Вы должны запустить оба в следующем порядке от имени пользователя root:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger