O menu do Gnu Grub não reconhece minha instalação do MS Windows [duplicado]

0

Eu tinha dual boot configurado com a minha instalação anterior do Ubuntu, o que me permitiu usar o Windows XP ou Ubuntu. Isso funcionou com sucesso.

Eu atualizei para o Ubuntu 14.4. O novo menu do Gnu Grub não mostra minha instalação do Windows XP no menu de inicialização. Então, não consigo acessar o Windows.

resultados de sudo fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa89aa89a

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   976751999   488375968+   7  HPFS/NTFS/exFAT

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00062131

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048   195311615    97654784   83  Linux
/dev/sdb2       195311616   625137344   214912864+   7  HPFS/NTFS/exFAT
    
por Paul I'Anson 05.06.2016 / 23:39

1 resposta

0

Primeiro, corro sudo os-prober e vejo se ele encontra a instalação do Windows. Se ele não estiver instalado, execute sudo apt-get install os-prober , em seguida, execute-o e, se ele encontrar o Windows, execute sudo update-grub e ele deverá criar o item de menu.

Se isso não funcionar, eu executaria sudo fdisk -l (-l é para List) e procuraria seu disco rígido. Será algo parecido com isto:

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000702fc

Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1  *        2048 33554431 33552384  16G 83 Linux
/dev/sda2       33556478 41940991  8384514   4G  5 Extended
/dev/sda5       33556480 41940991  8384512   4G 82 Linux swap / Solaris
/dev/sda6       41940991 50950020  8250580  16G 0b FAT32

Mais uma vez, este é apenas um exemplo que o seu parecerá diferente e poderá ser rotulado de forma diferente. Eu realmente não tenho uma partição do Windows XP no sistema, então eu 'fingi' neste exemplo.

Para isso, suponho que meu Windows XP esteja instalado em /dev/sda6 . Isso será importante para a etapa a seguir.

Agora precisamos criar um item de menu personalizado para o GRUB

Abra o terminal e digite:

sudo gedit /etc/grub.d/40_custom

você pode substituir o gedit pelo seu editor favorito, mas ele precisa ser executado como sudo para poder editar o arquivo.

adicione o seguinte ao final do arquivo 40_custom (se o arquivo estiver completamente em branco, você digitou algo errado ou você não tem o grub2 e essas instruções não funcionarão para você ... verifique novamente se você tem uma pasta /etc/grub.d)

menuentry "Windows XP" {
set root=(hd0,6)
chainloader (hd0,6)+1
}

Explicação para esta entrada ... você precisará alterar o hd0,6 nas entradas para corresponder à sua partição do Windows. O hd0 refere-se a sda, se você tem mais de um disco rígido e sua partição do windows está em sdb então você precisaria usar hd1 em vez de você, estou assumindo que você está em sda que você determinou pelo comando fdisk que você correu mais cedo. O, 6 no meu exemplo é porque determinamos que a instalação do Windows estava em /dev/sda6 - sda(hd0)6

Depois de modificar o arquivo 40_custom, ele deve ser parecido com este

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

#echo 'Adding 40_custom menu entries' >&2

menuentry "Windows XP" {
set root=(hd0,6)
chainloader (hd0,6)+1
}

salve o arquivo e execute sudo update-grub ele deve adicionar um item de menu para o Windows XP ... tente reinicializar e verifique se ele inicializa no Windows Se você fez tudo corretamente, você deve estar pronto.

A partir das novas informações, o arquivo 40_custom deve ficar assim:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

#echo 'Adding 40_custom menu entries' >&2

menuentry "Windows XP" {
set root=(hd0,1)
chainloader (hd0,1)+1
}

Devido a problemas com "Assinatura Inválida", precisamos trabalhar mais um pouco

Você precisa abrir o terminal e inserir sudo blkid para procurar o UUID para /dev/sda1 e copiá-lo. então você precisará editar o 40_custom com o seguinte:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply  type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

#echo 'Adding 40_custom menu entries' >&2

menuentry "Windows XP" {
insmod ntfs 
set root=(hd0,msdos1)
search --no-floppy --fs-uuid --set 822CB74E2CB73BCB
chainloader +1
}

(editado com a informação dada nos comentários)

salve o arquivo e sudo update-grub novamente e tente mais uma vez. Espero que agora você não receba a Assinatura Inválida

    
por John Orion 06.06.2016 / 12:43