Duas (ou três) maneiras diferentes
Usando a inicialização de rede via servidor PXE.
Eu usei um truque como este para estações windows de backup (com ntfsclone
ou partclone
) enquanto os usuários estão ausentes, à noite.
-
Crie um servidor de inicialização PXE (dhcpd + tftpd) para inicializar via rede
(Você pode criar um menu de inicialização específico para cada computador em uma rede ou criar um grupo. O menu de inicialização da rede pode apontar para o disco rígido local.)
-
Prepare dois menus de inicialização diferentes neste servidor: um padrão para o Ubuntu e outro para a janela padrão.
-
Vincular o menu de inicialização à janela padrão a ser atendida pelo servidor pxe.
-
Prepare um script wakeup para
- ) Vincular o menu de inicialização padrão ao Ubuntu para ser atendido pelo servidor pxe.
- ) Envie o sinal wake-on-lan para acordar o computador
- ) Aguarde a solicitação do menu de inicialização nos logs TFTP (se preocupe com o tempo limite e os limites, para assumir a exceção).
- ) Vincular o menu de inicialização por padrão à janela a ser atendida pelo servidor pxe.
-
Você pode até tentar executar o mesmo via crontab para ser sincronizado pelo wakup da BIOS, mas se estiver no crontab, você pode simplesmente executar o script definido em 4.
.
Isso fará o trabalho.
(Nota: um servidor de inicialização pxe é leve e pode ser instalado até mesmo em um pi de framboesa, um NAS invadido ou em um roteador DD-WRT, por exemplo).
Usando dmidecode
info
Você pode usar o dmidecode para executar grub-reboot windows
quando inicializar a partir do power-switch.
Basta criar um script que contenha algo como:
/bin/sh
dmidecode | grep -q 'Wake-up Type: Power Switch' && echo grub-reboot windows
reboot
Você pode executar este script a cada inicialização, adicionando-os no crontab com a diretiva @reboot
.
(Nota: para grub-reboot
, você pode ter que editar /etc/default/grub
. veja man grub-reboot
)
Isso funcionará, mas aumentará muito o tempo de inicialização do Windows!
Para evitar isso, você pode criar um initramdisk
especial que poderia fazer esse trabalho, mas isso não é tão simples.
Usando ipxe
(talvez)
Eu não sei esta ferramenta , mas ouvi bons feed-backs.
iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features