No Ubuntu, abra o terminal (por exemplo, com CTRL + ALT + T) e digite ou copie e cole (talvez seja necessário inserir um comando por vez, já que ele solicita uma senha):
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
sudo boot-repair
Abra o aplicativo Boot Repair, tente primeiro o reparo recomendado e reinicie. Acho que isso resolveu o problema para mim. Se o Windows ainda não aparecer no menu do Grub, inicialize no Ubuntu e abra o Reparo de Inicialização novamente, clique em opções avançadas e na segunda guia à esquerda (local do Grub), selecione o menu suspenso para a opção: padrão e selecione Windows (através do menu sda5). (Você sempre pode alterá-lo novamente mais tarde. Achei que alterar essa opção de inicialização padrão para o Windows resolveu o problema, mas depois de verificar essa opção novamente, ele foi inicializado pelo Ubuntu, por isso talvez não tenha aplicado as alterações. )
Reinicie o computador. No menu grub, para inicializar pelo Windows, toque rapidamente para baixo para ir para o Windows e pressione enter, certificando-se de cancelar o tempo limite de 5 s tocando, antes que o tempo limite de 5 s selecione automaticamente a opção realçada. O Ubuntu ainda está no topo da lista, mas existem outras três opções. As opções originais eram apenas Ubuntu genérico e Ubuntu avançado (com sub-opções avançadas). Agora, as novas opções são dois testes de memória e o Windows na parte inferior do menu.
Certifique-se de atualizar a hora do sistema Linux conforme descrito aqui , caso contrário, a hora do sistema no Windows será a Hora UTC (que é a hora do hardware definida pelo Linux), em vez da hora local. Descobri que a solução mais simples era atualizar o horário do sistema Linux.
Abra um terminal e execute o seguinte comando:
timedatectl set-local-rtc 1
Como alternativa, atualize a hora do sistema do Windows para a hora UTC, conforme também descrito na postagem vinculada.