O Grub2 não consegue detectar o Windows 10, inicialização dupla em dois discos rígidos, sistema UEFI / GPT

3

Eu tenho dois ssd que tem o Windows 10 no / dev / sda1 e o OpenSuse em / dev / sda3 (o / dev / sda2 é para um disco rígido de armazenamento). Eu tenho o Ubuntu instalado no meu / dev / sda3 alguns meses atrás. Mas por causa de algumas razões pessoais eu decidi ir com o OpenSuse. Então eu instalei o OpenSuse no meu / dev / sda3 há uma semana.

Quando eu estava usando meu / dev / sda3 com o Ubuntu, minha ordem de inicialização era / dev / sda3 do que / dev / sda1. E quando eu inicializo minha máquina, o grub estava inicializando o sistema. E ele pode detectar o Ubuntu enquanto o Windows 10 estava no meu / dev / sda1.

Mas depois que eu formatei meu / dev / sda3 e instalei o OpenSuse no meu / dev / sda3, o grub recém-instalado, que vem com o OpenSuse, não conseguiu detectar o Windows 10, com a mesma ordem de inicialização.

Por isso, verifiquei alguns fóruns e tentei várias coisas diferentes, como os-prober ou update-bootloader , mas nada funcionou.

E depois dessas tentativas eu encontrei uma questão wiki stackoverflow sobre como Janelas de inicialização dupla no segundo disco rígido, sistema UEFI / GPT . Eu segui este passo a passo.

Depois de concluído, a primeira tentativa falhou. Aqui está o meu /etc/grub.d/40_custom aparência,

#!/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.
menuentry "MS Windows" {
        insmod part_gpt
        insmod search_fs_uuid
        insmod ntfs
        insmod chain
        search --fs-uuid --no-floppy --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 685EBC705EBC3920
        chainloader /Windows/Boot/EFI/bootmgfw.efi
}

Para criá-lo, eu segui esses passos (eu apenas reescrevo os mesmos passos com o link acima, se eu fizer algo errado ...)

1) encontre o caminho de montagem do disco do Windows 10, que é para o meu caso, /run/media/cavit/685EBC705EBC3920 ,

2) faça um env var dele como win ,

3) encontre o efi das janelas que me dá, /Windows/Boot/EFI/bootmgfw.efi ,

4) grub2-probe --target=hints_string $win--hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 --hint='hd2,gpt4' ,

5) grub-probe --target=fs_uuid $win dá, 685EBC705EBC3920 ,

6) Eu não fiz drivemap porque meu disco do Windows 10 já está em primeiro lugar.

7) find /boot -name grub.cfg dá, /boot/grub2/grub.cfg ,

8) grub-mkconfig -o /boot/grub2/grub.cfg fornece uma saída assim,

Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-4.4.2-1-default
Found initrd image: /boot/initrd-4.4.2-1-default
Found linux image: /boot/vmlinuz-4.4.1-1-default
Found initrd image: /boot/initrd-4.4.1-1-default
Found memtest image: /boot/memtest.bin
done

9) grub-script-check /boot/grub/grub.cfg não fornece saída.

Mas na minha primeira tentativa depois de reiniciar e selecionar essa nova entrada, o grub deu uma saída can't find command chainload . Na postagem original, a última linha de código de /etc/grub.d/40_custom era chainload (${root})/Windows/Boot/EFI/bootmgfw.efi , então, pensei que, se esse comando fosse revisado para chainloader . Então eu tentei se fosse e desta vez eu recebi um erro como Error: Invalid Signature .

Por outro lado, uma partição wierd está presente no meu disco do Windows 10 (/ dev / sda1). Há uma partição extra que não entendo porque está presente. Aqui está minha blkid output,

/dev/sda1: LABEL="Recovery" UUID="6AC8BAAFC8BA78C1" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="83e0d3c4-f90b-4f2f-8f8b-500b1f773d5d"
/dev/sda2: UUID="08BA-F986" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="4c3e9d7b-1f9c-49e7-8bfe-83d1e3d778b4"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="2686e370-0de7-466c-85b7-1e6594f6eb56"
/dev/sda4: UUID="685EBC705EBC3920" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="901c7e27-71f0-4e61-9626-095783661f2d"

na pasta / dev / sda2 existe a pasta EFI , aqui está a estrutura da árvore,

EFI                                                                                                                                                                            
├── Boot                                                                                                                                                                     
│   └── bootx64.efi                                                                                                                                                          
├── Microsoft                                                                                                                                                                
│   ├── Boot                                                                                                                                                                 
│   │   ├── BCD                                                                                                                                                              
│   │   ├── BCD.LOG                                                                                                                                                          
│   │   ├── BCD.LOG1                                                                                                                                                         
│   │   ├── BCD.LOG2                                                                                                                                                         
│   │   ├── bootmgfw.efi                                                                                                                                                     
│   │   ├── bootmgr.efi                                                                                                                                                      
│   │   ├── BOOTSTAT.DAT                                                                                                                                                     
│   │   ├── boot.stl     
│   │   ├── kd_02_10df.dll
│   │   ├── kd_02_10ec.dll
│   │   ├── kd_02_1137.dll
│   │   ├── kd_02_14e4.dll
│   │   ├── kd_02_15b3.dll
│   │   ├── kd_02_1969.dll
│   │   ├── kd_02_19a2.dll
│   │   ├── kd_02_8086.dll
│   │   ├── kd_07_1415.dll
│   │   ├── kd_0C_8086.dll
│   │   └── kdstub.dll
│   └── Recovery
│       ├── BCD
│       ├── BCD.LOG
│       ├── BCD.LOG1
│       └── BCD.LOG2
└── ubuntu
    ├── grub.cfg
    ├── grubx64.efi
    ├── MokManager.efi
    └── shimx64.efi

Portanto, não sei se estou errado e porque esta pasta ubuntu está no meu EFI dir. E parece que não há mais fóruns ou wiki que eu possa verificar para resolvê-lo. Então, existe uma maneira de corrigir essa detecção de grub para o Windows 10?

Nota: tenho hibernação próxima no Windows e desative a inicialização rápida, etc.

    
por cavitsinadogru 03.03.2016 / 21:30

0 respostas