Eu posso apresentar a você um simples truque para esse problema, use-o se nenhuma das soluções legítimas resolver o seu problema. Estou supondo que você tenha um sistema de boot UEFI.
Como o Windows continua mudando a ordem de inicialização, o truque é enganar o Windows para reconhecer o Ubuntu como arquivo de inicialização do Windows, por exemplo, bootmgfw.efi
% bl0ck_qu0te%Abra cmd como administrador e monte a pasta EFI para acessá-lo. Execute os seguintes comandos um bye one. Abaixo eu associei a letra g à montagem, certifique-se de atribuir uma letra não atribuída ao seu PC.
mountvol g: /s
g:
cd EFI\
Você deverá ver uma pasta Microsoft e uma pasta Ubuntu no EFI.
% bl0ck_qu0te%Primeiro crie um backup de bootmgfw.efi
cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi
Agora copie e renomeie.
copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi
% bl0ck_qu0te%
Execute os seguintes comandos, um por um.
c:
mountvol g: /d
Agora reinicie o seu PC e você verá o Ubuntu grub carregado, que deve ter a opção Windows UEFI loader para inicializar o Windows também.
Espero que tenha ajudado.