Я ищу способ перезагрузки в Windows из Ubuntu в системе с двойной загрузкой 10.10 / Vista. Конкретный вариант использования заключается в том, что я хотел бы иметь возможность подключиться к ssh в моем работающем экземпляре Ubuntu и выполнить команду, которая инициирует перезагрузку непосредственно в Windows.
Я нашел многообещающее сообщение в блоге , но предлагаемый сценарий не работает:
#!/bin/bash
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub-reboot $MENU_NUMBER
sudo reboot
man grub-reboot не сильно помогает, но, похоже, ведет меня в правильном направлении:
установить загрузочную запись по умолчанию для GRUB, только для следующей загрузки
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
echo $MENU_NUMBER
Это возвращает ожидаемое значение, но при перезагрузке первый пункт меню все еще подсвечивается. Любые идеи, почему это не работает или предложения для других решений?


sudo reboot nowдолжен перезагрузить машину в первый пункт в списке grub.