Eu só sei como isso funciona com o Linux, mas eu posso explicar do ponto de vista do grub (um gerenciador de inicialização do Linux, outros estão disponíveis).
Basicamente, a primeira coisa que o gestor de arranque faz é verificar quais as opções que possui (olha para uma lista de unidades). A partir disso, ele verá que, após uma hibernação, sua partição de troca (Novamente, há outras maneiras de armazenar dados de hibernação, mas isso é o mais fácil) contém dados e esses dados são de fato dados de hibernação.Uma vez visto isso, ele instantaneamente vai para a inicialização de quaisquer dados de hibernação, em vez de exibir o menu de inicialização perguntando qual O / S você deseja inicializar.
Como nota lateral, ainda tenho o Grub para exibir o menu de inicialização mesmo quando os dados de hibernação são encontrados, e posso optar por inicializar sem ele como uma opção extra - você pode ver isso se falha de alguma forma.