O Apcupsd faz o que você quer. Nosso poder aqui é muito ruim. No caso de uma falha de energia, o meu sistema fica na bateria por 2 minutos (minha escolha) no caso de ser de curta duração. Depois de ficar na bateria por 2 minutos, o Apcupsd diz ao no-break para cortar a energia do PC. O no-break foi construído em um atraso de 2 minutos. O Apcupsd então emite o comando hibernate do Windows, então o Windows hiberna. Dois minutos após o no-break foi enviado o comando, ele corta a energia para o PC. Quando a energia é restaurada (ou se já foi), o no-break novamente fornece energia. Você está correto - já que a BIOS vê isso quando a energia foi cortada e depois restaurada, o BIOS fará o que você definiu para fazer.
Um desligamento limpo usando um no-break - se o no-break não desligar a energia do computador, independentemente de a energia ser restaurada ou não, o computador permanecerá desligado porque o BIOS não viu um corte / restauração de energia. O BIOS não tem outra escolha. Se, quando o seu sistema desligou, o BIOS detectou que a energia ainda estava presente, o que você deseja fazer - ligar a máquina? Então não haveria como desligar seu sistema.
O BIOS requer que o PC perca e, em seguida, recupere a energia.