перезагрузка в другую систему при помощи systemd

Системные сервисы и системы инициализации: systemd, sysvinit и другие


Ответить
igor
Аватара пользователя
Сообщения: 43
Зарегистрирован: 16.08.2022

#

efibootmgr показывает две системы с номерами 0000 и 0001.
цель, посредством команды перезагрузиться из 0000 в 0001 автоматом, без выбора чего то при помощи клавиатуры.
к примеру, вот эта команда закинет меня в uefi: systemctl reboot --firmware-setup.
наверняка существует и та, что запустит соседнюю ос?

indeviral
Аватара пользователя
Сообщения: 176
Зарегистрирован: 15.08.2022

#

systemd управляет своим загрузчиком systemd-boot, и если вы используете его.
то на две строчки выше в wiki:

systemctl reboot --boot-loader-entry=arch-custom.conf

p.s. в целом, раньше была необходимость перезагружаться из windows в linux через syslinux. Это обычно решалось скриптом в две строчки.

Ошибки в тексте-неповторимый стиль автора©

igor
Аватара пользователя
Сообщения: 43
Зарегистрирован: 16.08.2022

#

indeviral:

systemd управляет своим загрузчиком systemd-boot, и если вы используете его.
то на две строчки выше в wiki

я пользую efistub, выбираю другую систему в boot menu. это дело происходит довольно редко, и проблем с этим не испытываю. просто нарисовалась хотелка, которую явно можно реализовать

indeviral
Аватара пользователя
Сообщения: 176
Зарегистрирован: 15.08.2022

#

ну так вам не systemd нужно, а наверно efibootmgr.
если пролистать ман то там есть:

-n | --bootnext XXXX
              Set BootNext to XXXX (hex)
-N | --delete-bootnext
              Delete BootNext

или

-a | --active
              Sets bootnum active
-A | --inactive
              Sets bootnum inactive

да и всякие ifname есть, вообщем вариантов для баловства хватает.

Ошибки в тексте-неповторимый стиль автора©

igor
Аватара пользователя
Сообщения: 43
Зарегистрирован: 16.08.2022

#

indeviral:

да и всякие ifname есть, вообщем вариантов для баловства хватает.

я отталкивался от той команды, которая меня закидывает в uefi. спасибо, явно то что надо
P.S. команда такого вида сработала

sudo efibootmgr --bootnext 0003 && sudo systemctl reboot
yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

Ха, буквально день назад тоже захотел себе сделать такое же ) Единственное что, сама команда

sudo efibootmgr --bootnext 0003 && sudo systemctl reboot

выполненная в терминале приводит к желаемому - перезагрузке прямо в винду, минуя экран rEFInd-а. А вот когда я создаю на рабстоле лаунчер с этой же командой, то при нажатии на лаунчер открывается терминал, принимает пароль, закрывается - и всё, однако, больше ничего не происходит. Почему так?
igor
Аватара пользователя
Сообщения: 43
Зарегистрирован: 16.08.2022

#

yurius: Ха, буквально день назад тоже захотел себе сделать такое же ) Единственное что, сама команда

sudo efibootmgr --bootnext 0003 && sudo systemctl reboot

выполненная в терминале приводит к желаемому - перезагрузке прямо в винду, минуя экран rEFInd-а. А вот когда я создаю на рабстоле лаунчер с этой же командой, то при нажатии на лаунчер открывается терминал, принимает пароль, закрывается - и всё, однако, больше ничего не происходит. Почему так?
так же. при вводе команды в терминале нормально, из апплета ничего не происходит. стартую скрипт
# !/bin/bash

sudo efibootmgr --bootnext 0003 && sudo systemctl reboot

$SHELL
yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

igor:стартую скрипт
Это да, но хотелось бы понять, что не так с лаунчером. Потому что если повесить на него только сам "reboot", он выполняется, перезагрузка происходит. Значит, до второй команды - "systemctl reboot" - просто не доходит дело, так что ли?
yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

yurius:
igor:стартую скрипт
Это да, но хотелось бы понять, что не так с лаунчером. Потому что если повесить на него только сам "reboot", он выполняется, перезагрузка происходит. Значит, до второй команды - "systemctl reboot" - просто не доходит дело, так что ли?
Понял, в чём дело. Эти десктопные лаунчеры понимают только одну команду, а все последующие - лишь как некие аргументы этой самой первой. Создал для эксперимента такой лаунчер:
gedit /home/yurius/.bashrc && thunar
- и после нажатия на лаунчер открылись 3 текстовых документа: собственно ".bashrc", а также ещё два, с именами "&&" и "thunar" ))) Не понимают эти лаунчеры никакие "&&" ) И ";" и "||" тоже не понимает - просто открывает текстовые документы с такими названиями. Сделал лаунчер с командой
sh /home/yurius/w-10.sh
и уже в скрипте w-10.sh прописал ту самую команду "два в одном". Всё работает с лаунчера.
Ответить