Embora seja possível que tal aplicação exista, não encontrei nenhuma boa forma de terceiros. A única coisa que sei para poder rastrear um processo de inicialização desde o início é o XBOOTMGR do MS Windows Performance Toolkit.
Basicamente, você pode usá-lo como neste exemplo:
xbootmgr –trace boot -traceFlags BASE + LATENCY + DISK_IO_INIT + DISPATCHER + DRIVERS + FILE_IO + FILE_IO_INIT + NETWORKTRACE + PERF_COUNTER + PODER + PRIORIDADE + REGISTRO -postBootDelay 400 -resultPath C: \ TracerLogs
Observe que o comando fará com que o sistema seja reinicializado.
Verifique os parâmetros / tracerflags na documentação do MS WPT e selecione o que você precisa.
Além disso, você pode rastrear um processo de desligamento, não apenas um de inicialização, usando o parâmetro correspondente: xbootmgr –trace shutdown