Рассмотрите следующую установку двойной загрузки:
/dev/sda
/dev/sda1
смонтирован как /boot
/dev/sda6
смонтирован как /
/dev/sdb2
Как есть теперь, Личинка выбирает Ubuntu по умолчанию, когда она загружается, и я могу удаленно войти в систему через SSH. Также возможно выбрать Windows, когда Личинка запускается, и я могу удаленно войти в систему через RDP.
Проблема состоит в том, что у меня нет способа выбрать, который ОС загрузить, когда я физически не присутствую.
Этот вопрос описывает метод для того, чтобы иметь Личинку, автоматически загружают последнюю выбранную операционную систему. Однако это не будет работать. Если я выбираю Windows, у меня нет способа удаленно перезапустить ПК и загрузить Ubuntu.
Существует ли способ удаленно управлять, который загружает ОС?
Мы можем перезагрузиться в заданную загрузочную запись меню Grub, используя grub-reboot . Это также можно сделать из удаленного сеанса, например. через SSH.
Для загрузки в другую ОС выберите позицию, которая будет представлена в меню Grub, начиная с 0
:
sudo grub-reboot <num>
В этом случае моя Windows находится в позиции 4
. Таким образом, при выдаче
sudo grub-reboot 4 && sudo reboot
машина перезагрузится в Windows после тайм-аута, указанного в настройках Grub.
После перезагрузки из Windows машина загрузится в ОС по умолчанию. Это можно определить с помощью
sudo grub-set-default <num>
. Для выполнения этой работы нам, возможно, придется определить GRUB_DEFAULT = saved
в нашем / etc / default / grub
, но в моей системе он также работал со значением по умолчанию настройки.
К сожалению, перезагрузка Windows из Windows не может быть выполнена.
Еще одна идея благодаря ответу takkat :
grub-reboot N
, где N
- это загрузочная запись Windows Недостаток : для перезагрузки Windows у вас есть для перезагрузки дважды: перезагрузите Windows, позвольте Ubuntu загрузиться и снова grub-reboot N
! : - (
Вы можете установить ОС по умолчанию с помощью grub в зависимости от времени, см. Можно ли запланировать GRUB? Это означает: автоматическое изменение «записи» по умолчанию (автоматический вход) в определенные периоды времени? . Так, например, вы можете настроить grub для загрузки Windows, когда $ MINUTE нечетное число, и загрузки Linux, когда $ MINUTE четное.
insmod datehook
if [ $MINUTE -eq 0 -o $MINUTE -eq 2 -o $MINUTE -eq 4 -o $MINUTE -eq 6 -o $MINUTE -eq 8]; then
set default="Ubuntu"
else
set default="Windows"
fi
Если вы хотите использовать определенную ОС; просто подождите, пока не настанет его время.
При использовании этого метода следует учитывать время, необходимое для достижения Grub. Вероятно, более надежно использовать временной интервал в 5 минут.
Я думаю, что также можно чередовать загрузочные записи. Что-то вроде:
if [ $default = "Ubuntu" ]; then
set default="Windows"
else
set default="Ubuntu"
fi
когда grub настроен на запоминание последней загруженной ОС ( Как заставить grub2 запоминать последний выбор? )
Если ваш компьютер не загружается в нужную вам ОС, просто перезагрузка.