A atualização do Debian grub2 removeu a opção de inicialização do Windows

4

Desde que atualizei o grub para o grub 2, não consigo mais inicializar o Windows (o que, infelizmente, às vezes é necessário para plugins proprietários de navegadores MSIE que preciso usar para o trabalho).

Porção /boot/grub/menu.lst relevante:

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title           Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title           Windows NT/2000/XP
root            (hd0,0)
savedefault
makeactive
chainloader     +1

Isso, no entanto, não aparece mais. Eu tenho algumas entradas em /boot/grub/grub.cfg com entradas como estas:

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
        insmod part_msdos
        insmod ext2
        set root='(hd1,msdos1)'
        search --no-floppy --fs-uuid --set e638c434-4884-412f-a141-2c194f881fae
        echo    'Loading Linux 2.6.32-5-amd64 ...'
        linux   /boot/vmlinuz-2.6.32-5-amd64 root=UUID=e638c434-4884-412f-a141-2c194f881fae ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-2.6.32-5-amd64
}

Eu tenho que alterar esse arquivo? Em caso afirmativo, qual é a sintaxe correta para uma inicialização do Windows? Se não, qual poderia ser o problema?

    
por Wrikken 28.09.2010 / 16:10

2 respostas

4

Isto é baseado no Ubuntu, mas também deve ser válido para o pacote grub2 do Debian:

/boot/grub/grub.cfg é sobrescrito sempre que você executa /usr/sbin/update-grub2 ou quando é chamado após uma atualização do kernel. O grub2 deve ter detectado automaticamente a instalação do Windows via /etc/grub.d/30_os-prober e adicionado ao menu de inicialização. Mais entradas personalizadas devem ser feitas em /etc/grub.d/40_custom

Atualização:

Você pode tentar adicionar o Windows Loader manualmente adicionando o seguinte a /etc/grub.d/40_custom :

menuentry "Windows on /dev/hda1" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set YOURUUID
chainloader +1
}

"YOURUUID" é o UUID da sua partição do Windows. Você pode obtê-lo fazendo um ls -l /dev/disk/by-uuid/ | grep hda1 . Depois de editar o arquivo, faça um "sudo update-grub2" para gerar um novo grub.cfg.

Depende de os-prober , que pode não estar instalado, nesse caso, faça um:

sudo apt-get install os-prober

... e execute sudo update-grub2 novamente.

    
por 28.09.2010 / 16:23
4

A solução de Wrikken também funcionou para mim. Estou regurgitando em fácil seguir instruções.

Etapa 1

sudo apt-get install os-prober

Isso pode ser testado com:

sudo os-prober

Que, para mim, fornece a saída:

/dev/sda1:Microsoft Windows XP Professional:Windows:chain

Etapa 2

sudo update-grub2
    
por 03.01.2011 / 05:32