Como inicializar o Ubuntu a partir da ativação da BIOS e, caso contrário, inicializar o Windows

1

Eu tenho um sistema de inicialização dupla. Minha partição Ubuntu precisa inicializar automaticamente na ativação agendada da BIOS (e wakeonlan, se possível) Caso contrário, eu quero inicializar no Windows por padrão. (botão de energia)

Como é possível configurar o sistema para inicializar no Ubuntu somente após um wakeuplan ou wakeup da BIOS, enquanto, por outro lado, o Windows é padronizado? É possível configurar ou programar o grub para fazer isso?

    
por user66309 23.12.2015 / 02:25

2 respostas

0

Isso foi perguntado várias vezes ao longo dos anos sem uma resposta satisfatória:

Sabe-se que um sistema operacional pode detectar o motivo de ativação. Parece razoável que algo como grub seja capaz de fazer o mesmo, mas esse não é o caso atualmente.

A única "solução" que consegui encontrar envolve a configuração de grub para inicialização dupla com o Linux como padrão. Acorde como de costume. Entre no computador (remotamente ou não) e reinicialize manualmente no Windows com algo como sudo grub-reboot Windows . Configuração e uso é descrito aqui .

    
por 05.01.2016 / 06:42
0

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.

  1. 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.)

  2. Prepare dois menus de inicialização diferentes neste servidor: um padrão para o Ubuntu e outro para a janela padrão.

  3. Vincular o menu de inicialização à janela padrão a ser atendida pelo servidor pxe.

  4. Prepare um script wakeup para

    1. ) Vincular o menu de inicialização padrão ao Ubuntu para ser atendido pelo servidor pxe.
    2. ) Envie o sinal wake-on-lan para acordar o computador
    3. ) 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).
    4. ) Vincular o menu de inicialização por padrão à janela a ser atendida pelo servidor pxe.
  5. 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

    
por 10.01.2016 / 09:24