Bom que você já resolveu a parte de mudar do Windows para o Linux. A outra direção não é tão difícil:
Existe o comando grub-reboot
que faz exatamente o que você precisa - veja abaixo para detalhes:
Se a entrada do menu grub
para o sistema que você deseja inicializar for "Windows", basta fazer:
$ grub-reboot Windows
Se você configurar o hardware para inicializar após uma falha de energia, não vejo razão para o computador não poder continuar em execução.
Mas se não, deve ser possível acordar com o wake on lan (WOL), inicializando o sistema que você configurou antes do desligamento. O WOL funciona com pacotes de rede "especiais" que não podem ser roteados fora da rede local, portanto, há um dispositivo necessário nessa rede, como um roteador DSL ou qualquer computador.
De man 8 grub-reboot
:
GRUB-REBOOT(8) System Administration Utilities GRUB-REBOOT(8)
NAME
grub-reboot - set the default boot entry for GRUB, for the next
boot only
SYNOPSIS
grub-reboot [OPTION] MENU_ENTRY
DESCRIPTION
Set the default boot menu entry for GRUB, for the next boot
only.
[ ... ]
--boot-directory=DIR
expect GRUB images under the directory DIR/grub instead
of the /boot/grub directory
MENU_ENTRY is a number, a menu item title or a menu item iden‐
tifier. Please note that menu items in submenus or sub-submenus
require specifying the submenu components and then the menu
item component. The titles should be separated using the
greater-than character (>) with no extra spaces. Depending on
your shell some characters including > may need escaping. More
information about this is available in the GRUB Manual in the
section about the 'default' command.
[ ... ]
Execute man -k grub
para uma lista de comandos relacionados - por exemplo. grub-set-default
pode ajudá-lo também.