Acontece que não é como está, mas é com esforço extra preliminar .
O que eu fiz
- Inicialize a partir do Linux LiveUSB, monte
/dev/sda3(partição Linux com grub),mv /boot/grub /boot/grib(ou qualquer coisa, apenas para que o estágio 1.5 não consiga mais encontrar o estágio 2) - Reinicialize a partir do HDD, o grub, sem surpresa, não carrega o estágio 2 e retorna ao modo de recuperação do grub
- No entanto, o modo de recuperação tem apenas um suporte mínimo, por exemplo, você pode executar
insmod part_msdos, mas neminsmod ntfs, nemchainloader +1e assim por diante. Ele tem suporte paraext4, embora (é claro). - Consegui carregar manualmente todos os módulos necessários (usando o caminho completo como
insmod (hd1,msdos3)/boot/grib/i386-pc/ntfs.modou simplesmente definindo o prefixo primeiro:set prefix=(hd1,msdos3)/boot/gribe usando caminhos relativos depois disso:insmod ntfs) - Você pode facilitar um pouco sua vida carregando o módulo normal e, em seguida, inserindo
normal, que leva o grub do modo de recuperação para a linha de comando do grub. A partir daí, você pode carregar novamente todos os módulos necessários (por exemplo, o módulo chainloader também deve ser carregado) - Finalmente, carregue Win10 (ou qualquer outra coisa) replicando a mesma seqüência de comando exata de
grub.cfg
Solução
Então, considerando tudo isso, acredito que seja uma correção temporária simplesmente copiar todo o diretório i386-pc para um USB separado e carregar os módulos manualmente, conforme necessário. Apenas certifique-se de que o USB separado esteja formatado como MBR e tenha uma partição ext4 .
Atualização: de fato funciona. Simplesmente formatar um dispositivo USB como MBR, criar uma partição ext4 e copiar (corretamente configurado) /boot/grub/ da instalação anterior faz o truque. Quando o grub voltar ao resgate, basta digitar set prefix=(hdX,msdosY)/boot/grub (onde X é o número da sua unidade USB e Y é a partição correspondente), então insmod normal e normal . É isso aí, grub stage 2 carrega e funciona muito bem.