Isso provavelmente é causado pelas diferentes versões de firmware que o Ubuntu e o Windows estão usando para alguns dispositivos.
Alguns dispositivos (touchpads, sintonizadores de TV, adaptadores de Wi-Fi, etc.) exigem que determinado firmware seja carregado neles antes que possam ser usados. Isso geralmente é feito pelo driver de dispositivo. O firmware é armazenado na própria memória do dispositivo e pode sobreviver a uma reinicialização "quente". Na inicialização, o driver verifica se o firmware já está presente e não o recarrega novamente - assim, se você reinicializar no Windows após o Ubuntu, e vice-versa, o sistema pode erroneamente tentar usar uma versão de firmware incorreta, o que causa tipos de problemas.
Quero dizer, um hard-reboot talvez seja um pouco extereme, o Windows deveria ter lidado com isso mais graciosamente :)
Existem 2 soluções que eu conheço:
-
uma reinicialização a frio (talvez até mesmo esperar alguns minutos depois de desligar o sistema, desconecte a bateria se for um laptop)
-
não inicialize no Windows. Quem precisa mesmo assim?
Eu uso a segunda opção.