Muitos dispositivos (especialmente em notebooks) não possuem apenas drivers, mas também um firmware armazenado em uma memória flash. Este firmware não é permanente - como firmwares em outro dispositivo - mas é colocado lá pelo motorista em uso.
O problema: o firmware não é limpo durante a reinicialização do desligamento se o flash ainda tiver energia (ou seja, energia em espera). O firmware usado pelos drivers do Windows é muitas vezes incompatível com o dos drivers do Linux. Assim, para muitos usuários de notebook, a única maneira de fazer com que o hardware (por exemplo, WiFi) funcione novamente, é desligar o notebook, remover a bateria e esperar um pouco.
Não há maneira de contornar isso, que eu saiba.