É possível selecionar qual sistema inicializar antes de reinicializar, em um sistema UEFI com múltiplas inicializações?

4

Eu estou querendo saber se há uma maneira de ter um computador com UEFI e dois sistemas operacionais diferentes instalados (Windows 10 e Linux Mint 17.x no meu caso), onde você não precisa esperar que o sistema seja desligado para selecionar um sistema diferente para inicializar.

Para explicar melhor:
A maneira como os sistemas multi-boot normalmente funcionam é que um menu aparece quando o computador é iniciado (a partir de um gerenciador de inicialização ou gerenciador de inicialização etc) e você seleciona um sistema operacional para inicializar. Este menu geralmente pode ser configurado para ter um padrão, de forma que, se deixado sozinho, ele "fará uma escolha" sozinho, ou até mesmo lembrar sua última opção e reutilizá-la até que você faça uma diferente (pelo menos isso foi o caso com o GRUB legado).

No meu computador, o Mint é o padrão e funciona na maior parte do tempo. No entanto, se eu estiver no Windows e quiser reinicializá-lo novamente no Windows, terei que esperar que o menu GRUB apareça e selecione o Windows; caso contrário, ele será reinicializado no Mint. Como desligar pode demorar um pouco (especialmente ao instalar atualizações), isso significa ficar perto do computador, caso contrário, eu seria capaz de me afastar.

Idealmente, gostaria de poder selecionar um SO quando eu disser ao computador para reinicializar.

Obviamente, isso não faria parte do menu padrão "desligar" em nenhum dos sistemas, mas acredito que isso poderia acontecer com um script para ser executado.
Com o GRUB, por exemplo, pode ser possível ter um script que altere seu arquivo de configuração para definir um determinado sistema como padrão e inicie a reinicialização, mas isso pode levar muito tempo, exigiria privilégios de root e também funcionaria apenas com o Mint. / p>

Existe tal método, usando qualquer gerenciador de boot disponível (possivelmente rEFInd, por exemplo) que funcione de um dos sistemas operacionais sem nenhuma confirmação especial?

EDIT: rEFInd suporta esse recurso, aparentemente. Link A mesma página também sugere como definir a variável no Linux. Além disso, o MSDN parece ter um método para definir uma variável EFI através do código C ++, disponível no Windows 10. Link
Assim, parece que é possível criar uma maneira de fazer isso. Eu não poderei tentar até alguns dias a partir de agora, no entanto.

    
por George T 22.12.2015 / 15:24

1 resposta

1

Sua pergunta em si contém algumas respostas possíveis. Outra é manipular o parâmetro BootNext do EFI. Isso define uma inicialização única para o programa de inicialização de destino especificado. Isso pode ser feito no Linux através do utilitário efibootmgr :

  1. Digite efibootmgr (ou efibootmgr -v para obter mais detalhes) como root ou usando sudo . Isto irá mostrar uma lista das suas opções de inicialização.
  2. Identifique a opção de inicialização que você deseja inicializar. Por exemplo, para inicializar diretamente no Windows, você provavelmente quer a opção intitulada Windows Boot Manager . (Observe, no entanto, que esses nomes às vezes são enganosos. Você pode precisar experimentar e descobrir os detalhes do seu sistema).
  3. Digite efibootmgr -n #### como root ou use sudo para informar ao sistema para inicializar em Boot#### next, onde #### é o número da entrada que você deseja inicializar.

Acredito que você pode fazer algo semelhante com o EasyUEFI no Windows, mas essa é uma ferramenta de GUI e, portanto, pode não ser ser útil para o cenário que você descreve. Talvez bcdedit pudesse fazer o truque, mas eu não olhei para isso.

    
por 22.12.2015 / 19:28