O GRUB não detecta o Windows

66

Finalmente instalei o Ubuntu na minha segunda unidade. Quando inicio o computador, o GRUB oferece apenas a inicialização do Ubuntu, não o Windows 7. O que precisa ser feito para que eu possa escolher entre o Ubuntu e o Windows no GRUB?

Quando pressiono F12 para o menu de inicialização na inicialização e o escolho, Windows Boot Managerele inicializa no Windows 7.


Eu executei o comando sudo fdisk -le aqui está o log ( http://pastebin.com/Cgv1igHc ):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.
HyperX
fonte
Indique seu URL de informações de inicialização . Isso fornecerá informações relevantes para ajudá-lo.
LovinBuntu

Respostas:

100
  1. Inicialize o Ubuntu e monte sua partição do Windows (basta abrir o disco no Nautilus)

  2. Execute o seguinte na linha de comando ( Ctrl+ Alt+ t):

    sudo os-prober
    
  3. Se sua instalação do Windows foi encontrada, você pode executar:

    sudo update-grub
    

Observe que a etapa 2 é apenas para sua conveniência. Você pode simplesmente montar a partição do Windows 7 e depois executar update-grub.

Pergunta relacionada

Hermes
fonte
Eu tenho 2 partições com 2 janelas instaladas, ele só detecta minha instalação em outra partição, mas não as novas janelas instaladas (em um SSD)! até montou ... uma ideia?
Philippe Gachoud
Obrigado. Interessante que o os-prober pareça precisar da etapa 1. Muito importante, ou o Windows não funcionará.
Visualização elíptica
mount -t ntfs-3g -o ro /dev/sda4 /media/windowspara montar a partição do Windows
Yuvaraj Loganathan
perfeito! executar ambos os comandos fez o truque
Aryeh Beitz
trabalhou! obrigado!
DigaoParceiro
10

Se o os-probermétodo acima não funcionar, tente adicionar uma entrada de menu personalizada do grub. Documentado aqui .

Os dois primeiros passos são para encontrar o seu <UUID>.

  1. Execute lsblke encontre o nome da linha com/boot/efi

Exemplo de saída (aqui a resposta é sda2) :

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. Execute sudo blkid /dev/sdaXonde sdaXestá a resposta da etapa anterior ( sda2no meu caso) .

Exemplo de saída (aqui a resposta é 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Adicione o seguinte no final do arquivo /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Execute sudo update-grube reinicie.
Philippe Gachoud
fonte
Obrigado a @Christopher Markieta por todos os detalhes em outra resposta. Também os adicionei a este (mesmo que os detalhes específicos da entrada personalizada sejam diferentes.)
Carolus
9

Eu tinha o Windows 10 em execução e tentei a inicialização dupla. Depois que o Ubuntu foi instalado, o Win 10 não estava aparecendo no meu carregador GRUB. Eu tentei o seguinte -

Primeiro, desabilitei o Secure Boot no Win10. Em seguida, execute os comandos abaixo no Ubuntu:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Funcionou muito bem. Foi capaz de encontrar o Windows e o Ubuntu no GRUB depois disso.

Karthik Ubaradka
fonte
Esse PPA ainda existe? Eu não era capaz de adicioná-lo e ele alegou que não existia a partir do Ubuntu 18.04 inicialização do disco
jocull
Acabei de receber um 404 Not Founderro no Debian
winklerrr
5

Resolvi um problema semelhante seguindo as etapas do Boot-Repair

Instalar reparo de inicialização

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Pressione "Reparação recomendada" e coloque no terminal alguns comandos, conforme sugerido.

Eu acho que meu Grub não reconhece janelas devido a um desligamento ruim e resolveu o problema.

Rutrus
fonte
3

Se você já teve um RAID instalado, isso pode estar causando problemas. No meu caso, construí minha área de trabalho em 2010 e instalei dois 1,5 TB com um RAID distribuído. O usuário gracemercy54 menciona aqui que isso é deixado em cima dos metadados da configuração anterior do RAID.

Quando tentei originalmente as etapas de Hermes, recebi um erro ao especificar "número incorreto de dispositivos em um conjunto RAID". Portanto, se isso acontecer, você abre um terminal e executa:

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

Isso corrigiu isso para mim.

Adam Drewery
fonte
Eu acho que o meu também foi causado pelo ataque. Mas sudo dmraid -rEnão funciona para mim. Finalmente consegui mudar para o AHCIBIOS temporariamente, inicializar no Ubuntu e executar sudo update-grub, depois RAID ONvoltar.
realhu
11
AVISO : isso destruirá sua matriz RAID se você ainda a estiver usando.
Christopher Markieta 16/02
3

Método ligeiramente diferente ao copiar de um exemplo de trabalho em outro computador, postando para meus próprios registros.

Anexe o seguinte a /etc/grub.d/40_custom:

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Onde <boot_efi_uuid>está o UUID da sua /boot/efipartição. Para encontrar isto:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

Então, é claro, depois de salvar o arquivo, execute:

sudo update-grub

Reinicialize, agora você poderá iniciar o Windows com êxito.

Christopher Markieta
fonte
2

Eu tive o mesmo problema com o Windows 10. Instalei o Linux Mint 18.1 Cinnamon de 64 bits no meu laptop para inicialização dupla com o WIN10. Após a instalação, o GRUB se ofereceu apenas para inicializar o Linux, mas não o Windows.

Eu encontrei a solução de vídeo para o Windows 10 ausente no menu grub e o tópico do fórum Grub não reconhece o Win10 após a Atualização / Reparo , mas infelizmente nem funcionou para mim, então usei uma combinação desses dois para resolver meu problema.

Abra seu terminal e siga estes comandos e abra o arquivo chamado 40_custom:

sudo gedit /etc/grub.d/40_custom

Adicione estas linhas ao final do arquivo e salve e saia:

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

Depois de salvar o arquivo, atualize seu GRUB com este comando:

sudo update-grub

Em seguida, reinicie sua máquina para ver se funciona.

Espero que isso funcione para os outros também!

Lahiru
fonte
Acredito que esta resposta, embora correta, seja uma cópia da resposta enviada em 29 de maio de 2015
Charles Green
1

Eu tive o mesmo problema e passei 2 dias tentando descobrir. Mas hoje eu tive essa ideia repentina de manhã e deu certo.

Você deve revisar suas configurações de BIOS / Uefi. No meu caso, tive que deixar o Uefi inicializar primeiro. Caso contrário, não consegui detectar janelas do ubuntu. O que eu tive que definir foi o ubuntu> Windows Boot Manager> DISK1> DISK2> DISK3. Instale o DISK1> ubuntu> Gerenciador de Inicialização do Windows> DISK3.

Eu tinha 2 instalações ubuntu, uma no disco rígido e outra no ssd. Aparentemente, a instalação do ssd não estava aparecendo como UEFI para alguns usuários, mas eu queria inicializar o disco mais rapidamente primeiro.

Eu não esperava que a ordem de inicialização possa influenciar o grub na detecção de sistemas. Portanto, vale a pena revisar isso.

Bartosz Dabrowski
fonte
1

Eu tive problemas como aqui acima e a solução foi apenas adicionar entrada manual como abaixo:

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

onde UUID acima (688E ...) foi tirado do disco de inicialização do Windows via blkid /dev/sdb1.

ATENÇÃO: a linha adicional

set root='(/dev/sda,msdos1)'

refere-se ao sdaque é visível no Ubuntu, /dev/sdbjá que, na verdade, é o primeiro disco no barramento SATA, enquanto /dev/sdana verdade é o segundo disco montado como raiz /.

Talvez seja por isso que os scripts grub não pudessem funcionar corretamente. Não tive tempo para alterar a ordem física dos discos, mas é bem possível que também ajude a resolver o problema.

Lucas
fonte
0

Eu tive o mesmo problema depois de instalar as atualizações do ubuntu. Os seguintes comandos funcionaram perfeitamente para mim:

sudo apt-get install os-prober

Primeiro instale o os-prober para detectar janelas e, em seguida, atualize o grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg
Kaustubh Sable
fonte