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
dá --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.