Adicione o HDD externo “Windows To Go” ao menu de inicialização do grub2

1

Instalei o Windows 10 em um disco rígido externo USB 3.0. Atualmente, a única maneira de inicializá-lo é acessando as opções de inicialização da BIOS e escolhendo-as na lista.

Instalei o Ubuntu 16.04 em um SSD M.2 interno, mas o instalador do Ubuntu não adicionou automaticamente uma opção para o GRUB2 inicializar a unidade externa como eu esperava.

Não sei como adicionar uma entrada de menu que instrua o grub a inicializar a partir da unidade externa que possui o Windows 10 instalado. Eu sei que posso usar o comando de pesquisa com o uuid da unidade externa para definir a variável raiz, mas não sei como usar o comando de inicialização depois disso, ou qual arquivo editar para adicionar opções de inicialização.

UPDATE : acabei fazendo algo parecido com a resposta aceita, mas muito mais simples

menuentry "Windows 10" {
    set root=(hd0,msdos1)
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
    
por Broseph 30.07.2016 / 21:54

2 respostas

1

Tipicamente, o Grub executa os-prober em partições montadas e adiciona entradas automaticamente.

Para entradas de menu personalizadas, você pode adicionar sua própria configuração a /etc/grub.d/40_custom . Eu recomendaria essa opção porque confiar no os-prober requer que a partição do outro SO seja sempre montada sempre que a configuração do Grub for atualizada, que é o caso quando o gerenciador de atualização instala um novo kernel Linux ou atualiza o próprio pacote grub (por exemplo, segurança atualizações).

Para os próximos passos, eu suponho que o Ubuntu inicializa com UEFI e o Windows 10 faz o mesmo, se esse não for o caso, aqui aqui ou na seção MBR do artigo no wiki do Arch onde pedi emprestado o seguinte código de:

menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root $hints_string $fs_uuid
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Coloque isso no 40_custom e substitua as variáveis $hints_string e $fs_uuid pela saída dos comandos grub-probe . Para fazer isso, você precisa montar a partição do sistema EFI (que é o que ESP representa) da unidade do Windows To Go. A maneira mais fácil é lançar gnome-disks , selecionar sua unidade e a partição, depois clicar no botão play (‣) e anotar onde montou a unidade (geralmente / media / your_username) e substituir $esp por esta string (adicionar cotação marca se necessário) nos seguintes comandos:

# fs_uuid
grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi

# hints_string
grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi
    
por LiveWireBT 31.07.2016 / 03:42
1

Tente simplesmente dizer ao GRUB para tentar detectar outros sistemas operacionais.

Execute um terminal ( CTRL + ALT + T ) e execute o seguinte comando:

sudo update-grub

Se isso não funcionar, tente arrancar a partir de um DVD / USB ao vivo e executar este comando a partir do terminal:

sudo grub-install /dev/sda #Replace block accordingly
    
por Android Dev 30.07.2016 / 22:27