A janela de tempo até mesmo para uma bateria externa de capacitores de 680uFx400V é muito baixa para um PC de mesa médio de 100W - apenas meio segundo mais ou menos. Com tampas de PSU internas, é ainda menos. O que você está realmente tentando alcançar? Mesmo que você consiga gravar um registro de data e hora em um arquivo de registro, você ainda precisa que o ciclo sync () aconteça ou fazer chamadas manuais sync (), e se você estiver sem sorte e sua máquina ocupada trabalhando descarregando outros buffers de disco enfileirados - você está fora.
Se você precisar detectar uma falha de energia quase de forma confiável , sugiro que toque em um arquivo de sinalizador na inicialização, remova-o durante o desligamento normal. A existência deste arquivo irá dizer-lhe que a máquina não foi desligada de forma limpa (mas não irá salvá-lo de outras falhas, principalmente de software, como pânico do kernel).