O GRUB não reconhece o Windows 7 em diferentes HDD no Laptop

0

O link no "duplicado" é muito específico para o problema do usuário para me ajudar. Quando executo essa resposta, recebo:

grub-probe: warning: disk does not exist, so falling back to partition device /dev/sda1.
grub-probe: warning: disk does not exist, so falling back to partition device /dev/sda1.
grub-probe: warning: disk does not exist, so falling back to partition device /dev/sda1.
grub-probe: error: disk 'hostdisk//dev/sda1' not found.

Como um prefácio eu tenho este laptop, embora tenha alguns anos agora, o que é muito ruim em tocar legal com qualquer outra coisa que o Windows 8: link

Eu tentei arrancar duas vezes com a mesma unidade no passado, e não funcionou para mim nesta máquina por qualquer motivo. Então, desta vez, eu cedi e decidi separá-los.

Tenho para o Ubuntu 14.04 LTS em um disco rígido de 1 TB (/ dev / sda) e o Windows 7 Ult (x64) (/ dev / sdb) em um SSD de 250 GB. Ambos aparecem no BIOS como opções de inicialização, com a unidade do Ubuntu sendo definida como padrão.

Minha única queixa é que atualmente o único caminho para o Windows é deixar o Laptop inicializar no GRUB e selecionar Configurações do Sistema, para que ele seja reinicializado diretamente no BIOS e, em seguida, selecione meu SSD do Windows na página de substituição de inicialização.

Já me disseram milhões de vezes que o GRUB simplesmente encontraria meu sistema operacional Windows depois de fazer um 'sudo update-grub', mas nunca o fez.

Tudo que eu quero é poder inicializar no Win7 diretamente do GRUB

E sim, eu segui todo o procedimento normal de inicialização dupla, apesar de estar em uma unidade separada (ou seja, o Windows primeiro, depois o Ubuntu, garantiu que a unidade do Windows estivesse conectada no momento, etc.).

Eu apreciaria muito as respostas úteis.

saída de lsblk:

NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0 931.5G  0 disk 
├─sda1                         8:1    0   512M  0 part /boot/efi
├─sda2                         8:2    0   244M  0 part /boot
└─sda3                         8:3    0 930.8G  0 part 
  ├─ubuntu--vg-root (dm-0)   252:0    0 914.9G  0 lvm  /
  └─ubuntu--vg-swap_1 (dm-1) 252:1    0  15.9G  0 lvm  [SWAP]
sdb                            8:16   0 238.5G  0 disk 
├─sdb1                         8:17   0   100M  0 part 
└─sdb2                         8:18   0 238.4G  0 part 
sr0                           11:0    1  1024M  0 rom  

Não tenho certeza se isso é importante ou não, mas na GUI para reparo de inicialização, onde ele permite alterar a barra drop-down "OS para inicializar por padrão", ele lista o Windows da seguinte maneira:

"Windows (via mapeador / ubuntu - menu raiz vg)"

    
por WorseDoughnut 17.09.2015 / 10:07

2 respostas

1

Eu posso fornecer uma maneira mais passo a passo de fazer a correção em a resposta vinculada . Visão geral, vamos adicionar manualmente uma entrada do Windows ao grub. A maior parte desse procedimento é encontrar as informações necessárias para fazer isso.

% bl0ck_qu0te%

No meu sistema (uma inicialização dupla de 64 bits do Win 8.1 / Ubuntu), a partição EFI já está montada. Se não estiver no seu sistema, por favor comente nesse sentido, e eu revisarei a resposta.

Encontre a partição EFI emitindo o comando lsblk em uma janela de terminal. No meu sistema, ele é montado em /boot/efi na partição sda2

cd para esse diretório e procure pelo arquivo bootmgfw.efi . No meu sistema, ele estava localizado em /boot/efi/EFI/Microsoft/Boot Parece um pouco redundante, mas o que quer que seja.

% bl0ck_qu0te%

em um terminal digite sudo blkid e digite sua senha quando solicitado. Isso listará todas as suas unidades e seus UUIDs. No meu caso eu queria aquele para sda2 .

% bl0ck_qu0te%

em um terminal digite gksudo gedit /etc/grub.d/40_custom e forneça sua senha

Adicione esta entrada ao arquivo. Onde diz UUID substituir o texto UUID com o valor do UUID obtido na etapa 2. Após o (${root}) replace /efi/Microsoft/Boot/bootmgfw.efi com o caminho que você encontrou na etapa 1.

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
   chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
% bl0ck_qu0te%

Digite sudo update-grub no terminal.

    
por Organic Marble 18.09.2015 / 02:18
0

Existem 2 possibilidades agora:

Para o registro: Você tem 2 drives (1 com o Windows que é particionado por MBR / NTFS e 1 com o Ubuntu que é particionado pelo GPT / ext3-4). Você está executando em um UEFI Bios e tem problemas com o seu UEFI-Grub iniciando o MBR-Windows.

Possibilidades:

  1. Você está tentando inicializar o bootloader do Windows 7 no modo bios da UEFI-Grub.
    • Isso não funcionará. Já que @oldfred apontou que você não pode mixar modos de inicialização.
    • Se você tiver o arquivo ($ {root}) / efi / Microsoft / Boot / EFIMicrosoftBootbootmgfw.efi) que NÃO é seu problema, porque MBR ou GPT não é importante aqui, mas o Windows não criará um arquivo de inicialização do efi se você instalá-lo no modo MBR.
    • faça um backup da sua partição de carregador de inicialização (sdb1) antes da próxima etapa (por exemplo, com clonezilla )
    • Se você NÃO tiver este arquivo, o Windows poderá criar um gerenciador de inicialização efi. Descrito neste post: Como inicializa o Windows 8 a partir de uma partição MBR legada no modo UEFI via GRUB?
  1. Você já tem o arquivo de inicialização efi (por exemplo, EFIMicrosoftBootbootmgfw.efi)

    • Se você já tiver um arquivo de inicialização do Windows efi, por exemplo: (EFIMicrosoftBootbootmgfw.efi), como apontado no seu log de reparo de inicialização na linha 1301, tente diferentes opções na configuração em seu /etc/grub.d/40_custom. Para você, isso seria:

      menuentry "Windows 7 " --class windows --class os {
      insmod part_msdos
      insmod ntfs
      insmod search_fs_uuid
      insmod chain
      
      set root='hd1,msdos1'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  06D67F5BD67F4A47 
      else
        search --no-floppy --fs-uuid --set=root 06D67F5BD67F4A47 
      fi
      
      chainloader (${root})/efi/Microsoft/Boot/EFIMicrosoftBootbootmgfw.efi
      
      }
      
    • Esses valores são lidos no log de reparo da inicialização ou são adivinhados. Se o arquivo de inicialização do efi estiver em um local diferente, altere a linha chainloader ...

  1. Por último, mas não menos importante, você ainda pode limpar seu segundo disco rígido. Divida-o com GPT / NFTS e instale uma nova janela. Perda de dados chegando aqui
por Ferris Garden 18.09.2015 / 11:10