Você precisará escrever seu próprio módulo grub2, fazer interface com o BIOS para obter as informações brutas de velocidade do ventilador e usá-lo para interpretar e processar os resultados. Obviamente, o GRUB não sabe ou não se preocupa com a velocidade do seu ventilador e você não poderá fazer isso nativamente sem escrever algum código.
Uma solução melhor seria instalar o gerenciador de inicialização (apenas o gerenciador de inicialização, nada mais) em um dispositivo USB. Você pode usar o GRUB2 ou o BOOTMGR - não importa.
O PC é configurado para carregar a partir do USB primeiro, e quando este pen drive USB é inserido no PC, ele será inicializado no Ubuntu; enquanto o disco local está configurado para inicializar no Windows. ou seja, a presença ou ausência do USB determinará em qual sistema operacional o seu PC será inicializado.
Nesse ponto, é uma simples questão de usar um cabo USB modificado com um interruptor em uma das linhas VCC. Se estiver ativo, o dispositivo USB aparecerá no BIOS e ele será inicializado a partir da cópia do USB do GRUB no Ubuntu. Se o interruptor estiver desligado, o PC irá carregar "normalmente" do disco local, inicializando no Windows.
É claro que você está livre para disfarçar o pendrive, o cabo USB modificado e o comutador VCC dentro de uma caixa como uma única unidade autônoma. É muito mais legal do que a sua ideia de PWM, porque você literalmente a coloca na porta USB e está pronto.