Eu tive o mesmo problema:
Windows 7 e Linux (Slax com Grub2 e Debian no meu caso) e os-prober
não reconheceram a partição do Windows quando usei update-grub
; Windows foi deixado de fora.
Eu consertei o problema. Primeiro, testei a adição manual da entrada para o Windows 7 a /boot/grub/grub.cfg
( update-grub
sobrescreve esse arquivo sempre que ele é executado; portanto, as alterações feitas nele não são permanentes).
Eu reiniciei e o Windows 7 apareceu no menu e inicializei ok, além desse erro aparecer:
error: no suck device: xxxxxxxxxxx (disk ID)
Quando isso aconteceu, pressionei Enter e o Windows inicializou bem.
Eu investiguei a execução do comando os-prober
e outros scripts envolvidos no processo de reconhecimento do SO e testei a saída de
sudo /etc/grub.d/30_os-prober 2>/dev/null
O Windows não está listado. Eu abri o gerenciador de arquivos Dolphin para navegar pela partição do Windows e procurei pelo UUID da partição e o substituí em /boot/grub/grub.cfg
para resolver o erro.
eu executei
sudo /etc/grub.d/30_os-prober 2>/dev/null
e o Windows foi então listado ok
Eu reiniciei o PC, fui ao console e executei
sudo /etc/grub.d/30_os-prober 2>/dev/null
e depois o Windows não foi listado novamente.
Eu abri o Dolphin, naveguei pela partição do Windows, executei
sudo /etc/grub.d/30_os-prober 2>/dev/null
novamente e o Windows foi listado.
Eu executei update-grub
e o menu GRUB está ok agora.
Eu acho que os-prober
precisa da partição (no caso do NTFS, porque a partição Debian está sempre listada) montada antes de poder encontrá-la. Eu não descobri por que os-prober
tem esse comportamento, mas a solução funciona.