O Grub não consegue detectar o Windows 10 (UBUNTU INSTALADO PRIMEIRO)

1

Eu tenho um Lenovo Yoga 2 pro triplo inicializado com dois Ubuntu (15.10, 14.04) e Windows 10. Inicialmente eu limpei o disco rígido e instalei o Ubuntu. Para instalar o windows eu reformatei o disco rígido para o GTP usando o gdisk e instalei o Windows em uma partição ntfs.

(nada foi capaz de inicializar, mas consegui inicializar no windows acessando o menu de inicialização do botão novo e escolhendo o bootloader do windows (o bootloader do ubuntu não estava presente aqui e iria para a tela preta com o cursor piscante se drive foi escolhido))

Após o resgate do gerenciador de boot do Grub usando um live cd do Ubuntu, o Windows não aparece. A execução do reparo do Boot detecta o Windows, mas acaba estragando o grub, resultando na reinicialização do computador, uma vez que ele tenta acessar o menu do grub. Os resultados do pastebin do reparo da inicialização podem ser encontrados aqui: link .

Executar o ambiente de reparo do Windows a partir de um usb é incapaz de corrigir o problema (selecionar a inicialização de reparo, resulta no Windows tentando consertar o bootloader, mas acaba afirmando que o reparo falhou.)

A partição de inicialização do Windows Mib 100 parece estar lá, mas não é detectada.

Parted -l fornece a seguinte saída (inferior) e o os-prober detecta apenas a outra instalação do ubuntu. Eu também tentei editar manualmente o arquivo /etc/grub.d/40_custom sem sucesso. Também sudo update-grub não produz nenhum resultado (útil).

Alternar a inicialização para UEFI do Legacy não permite que o grub seja inicializado e ainda não detecta o carregador de inicialização do Windows. Qualquer conselho é apreciado - Obrigado

** Note que eu encontrei uma situação semelhante aqui: Windows 8.1 doesn ' t aparece no GRUB2 , mas não produziu resultados.

    Model: ATA SAMSUNG MZMTE256 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  141GB  141GB   ext4            Linux filesystem
 2      141GB   192GB  50.9GB  ntfs            Microsoft basic data          msftdata
 3      192GB   192GB  472MB   ntfs            Basic data partition          hidden, diag
 4      192GB   193GB  105MB                   EFI system partition          boot, esp
 5      193GB   193GB  16.8MB  ntfs            Microsoft reserved partition  msftres
 7      193GB   203GB  10.2GB  ext4
 8      242GB   243GB  186MB   ext4                                          boot, esp
 6      248GB   256GB  8501MB  linux-swap(v1)  Linux swap


Model: SanDisk Cruzer Fit (scsi)
Disk /dev/sdb: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  16.0GB  16.0GB  primary  fat32        boot, lba
    
por tlambros 29.01.2016 / 07:32

1 resposta

2

Muitos de seus problemas parecem se resumir a problemas com sua Partição do sistema EFI (ESP) , que no seu caso é (ou deveria ser) /dev/sda4 . O problema é que o script de Reparo de Inicialização (mis? -) identificou /dev/sda4 como mantendo o arquivo core.img do GRUB. OTOH, está marcado na tabela de partições como sendo um ESP. Minha suspeita é que uma das duas coisas aconteceu:

  • Ao instalar o Windows, /dev/sda4 foi usado como o ESP, mas a localização da partição coincidiu com a localização de uma Partição de inicialização do BIOS , que contém o código GRUB 2 para inicializações no modo BIOS. Se o Windows não apagasse adequadamente esses dados antigos, isso poderia fazer com que o sistema de arquivos fosse identificado erroneamente por algumas ferramentas do Linux, o que resultaria no problema que você está enfrentando agora.
  • Em algum momento após a instalação do Windows, você ou um utilitário de reparo erroneamente gravou os dados do GRUB "brutos" em /dev/sda4 . O comando grub-install em uma inicialização no modo legado do BIOS / CSM / pode fazer isso, mas normalmente apenas se a partição foi marcada como uma Partição de inicialização do BIOS, o que atualmente não é. No entanto, esta é uma possibilidade se os dados do GRUB foram escritos aqui de alguma outra forma ou se o código de tipo da partição foi alterado para o de um ESP após o erro grub-install .

A primeira dessas explicações é aquela que você deve esperar, pois significa que os dados do sistema de arquivos FAT devem estar intactos. Neste caso, o primeiro passo para a recuperação é fazer backup da partição (talvez seja necessário especificar explicitamente seu tipo de sistema de arquivos para montá-lo no Ubuntu, como em sudo mount /dev/sda4 -t vfat /mnt ), desmontá-lo, criar um novo sistema de arquivos FAT ( sudo mkdosfs /dev/sda4 ), montá-lo novamente e restaurar os arquivos de backup. Isso deve habilitar o Reparo de Inicialização para funcionar. Note que você pode fazer tudo isso em praticamente qualquer sistema operacional, embora você tenha que montar o ESP primeiro se fizer isso no Windows (veja abaixo).

Outro caminho para a recuperação seria usar meu gerenciador de reinicialização em uma unidade flash USB ou CD-R . Se o sistema de arquivos do ESP for legível para o firmware, o rEFInd deverá permitir que você inicialize o Windows ou o Ubuntu. Você poderia então criar uma entrada /etc/fstab para montar /dev/sda4 at /boot/efi e instalar o rEFInd através de seu pacote Debian ou PPA. (Como alternativa, você pode instalar o pacote grub-efi e configurá-lo você mesmo.) Por si só, essa abordagem ainda deixará dados confusos no ESP, portanto, ferramentas como o Boot Repair continuarão a ser menos úteis; para totalmente recuperar, você precisaria fazer o backup do ESP, criar um novo sistema de arquivos e restaurá-lo. Por falar nisso, não tenho certeza se o script de instalação do rEFInd (usado nos pacotes) funcionaria corretamente devido à identificação errônea do sistema de arquivos, então talvez seja necessário corrigir o problema mesmo com essa solução.

Se o sistema de arquivos em /dev/sda4 estiver tão danificado que você não possa recuperar seus arquivos, você precisará criar um novo sistema de arquivos, usar um disco de recuperação do Windows para reinstalar o gerenciador de inicialização do Windows e em seguida, recupere o Ubuntu para a inicialização usando o Boot Repair ou o rEFInd.

Note que é possível que o sistema de arquivos seja legível em um ou dois ambientes, mas não em todos os três. (Os três ambientes são EFI, Windows e Ubuntu.) O Windows normalmente não monta o ESP, portanto, é necessário digitar mountvol S: /S em uma janela Prompt de Comando do Administrador. (Você pode alterar S: para algum outro identificador de unidade, se quiser.) É claro que sua saída do Boot Repair já revela que algumas ferramentas do Linux (como blkid ) não vêem um sistema de arquivos FAT no disco, mas Ainda poderia ser legível pelo kernel se você dissesse para usar o driver vfat , como no comando mount /dev/sda4 -t vfat /mnt que apresentei anteriormente.

    
por Rod Smith 29.01.2016 / 15:59