Описанное решение в статье, у меня работает на множестве машин
Дано: компьютер с Linux и Windows. Загрузчик grub2
Условия: к машине есть только удалённый доступ, grub2 одинаковый, по-умолчанию загружается linux
Задача: загрузить требуемую ось.
Решение задачи сводится к правке конфигурации grub`а и отправке удаленных команд
В /etc/default/grub есть параметр GRUB_DEFAULT, он указывает какой номер раздела загружать по-умолчанию (номера разделов можно посмотреть /boot/grub/grub.cfg). Также, этот параметр может принять значение saved, в этом случае, при следующей загрузке, grub загрузит раздел переданный с помощью команды grub-reboot.
Отмечу, что grub-reboot одноразовая команда, после следующей перезагрузки загрузится раздел #0. Для назначения saved по-умолчанию используйте grub-set-default.
Итак, нам необходимо поправить grub, узнать номер раздела Windows, применить конфигурацию grub:
Указываем в /etc/default/grub
GRUB_DEFAULT=saved
В файле /boot/grub/grub.cfg смотрим раздел Windows(у меня #2)
Обновляем конфиг grub
update-grub
Наша машина готова для интерактивной загрузки
grub-reboot 2
размещаем скрипт /scripts/werewolf
#!/bin/bash
grub-reboot 2
shutdown -r now
и удаленно исполняем его средствами ansible:
#ansible-playbook gowin.yaml
файл gowin.yaml
---
- hosts: bewindows
tasks:
- name: go windows
action: command /script/werewolf
Здесь, всё просто. Надо всего лишь перегрузить "винду", а граб сам запустит линукс.
Сделать это можно так - авторизоваться на удалённой машине пользователем имеющим доступ на перезагрузку и запустить команду
Дано: компьютер с Linux и Windows. Загрузчик grub2
Условия: к машине есть только удалённый доступ, grub2 одинаковый, по-умолчанию загружается linux
Задача: загрузить требуемую ось.
Решение задачи сводится к правке конфигурации grub`а и отправке удаленных команд
grub
Отмечу, что grub-reboot одноразовая команда, после следующей перезагрузки загрузится раздел #0. Для назначения saved по-умолчанию используйте grub-set-default.
Итак, нам необходимо поправить grub, узнать номер раздела Windows, применить конфигурацию grub:
Указываем в /etc/default/grub
GRUB_DEFAULT=saved
В файле /boot/grub/grub.cfg смотрим раздел Windows(у меня #2)
Обновляем конфиг grub
update-grub
Наша машина готова для интерактивной загрузки
из Linux в Windows
shutdown -r now
#!/bin/bash
grub-reboot 2
shutdown -r now
и удаленно исполняем его средствами ansible:
#ansible-playbook gowin.yaml
файл gowin.yaml
---
- hosts: bewindows
tasks:
- name: go windows
action: command /script/werewolf
из Windows в Linux
Сделать это можно так - авторизоваться на удалённой машине пользователем имеющим доступ на перезагрузку и запустить команду
net use \\machinename password /USER:user&&shutdown /m \\machinename
скрипт для множества windows машин, на моём примере
for /L %%i (101,1,171) DO
(
net use \\machinename password /USER:user&&shutdown /m \\machinename
)
Комментариев нет:
Отправить комментарий