Eu tenho uma configuração de inicialização dupla:
- Ubuntu 16.04LTS
- janelas
Atualmente, quando quero passar reboot
do Ubuntu para o Windows, uso grub-reboot
o número apropriado como argumento. Isso funciona bem.
No entanto, às vezes o Windows precisa ser reinicializado para que um determinado programa possa ser instalado ou atualizado e eu tenho que selecionar manualmente a entrada correta do menu de inicialização do grub. Existe uma maneira semelhante (na interface do Windows) de informar ao grub qual entrada inicializar?
Suponho que o grub-reboot
comando passe o argumento para um arquivo que, por sua vez, é lido pelo grub upon reboot
.
editar (em relação à minha resposta selecionada): Atualmente estou pensando em montar a unidade ext4 que contém/boot e criar scripts para a edição. isso possivelmente demorará um pouco, já que estou fazendo isso no meu tempo livre, além do meu trabalho não técnico de 40 horas por semana. ^^
Responder1
A maneira mais fácil é com o Grub
É complicado controlar grub
no Windows. É necessário um aplicativo de terceiros para acessar o Ubuntu a partir do Windows e alguns hackers. No entanto, na parte superior desta postagem:Como alterar a ordem em minhas distros de inicialização dupla, você pode configurar grub
a reinicialização automática para a última opção do menu. Portanto, quando você inicializar inicialmente com o Windows e ele acordar às 2 da manhã para executar as atualizações, grub
recarregará o Windows para que possa concluir as atualizações normalmente.
Quando você reinicia manualmente e escolhe o Ubuntu em grub
todas as suas próximas reinicializações, carrega automaticamente o Ubuntu. Este recurso funciona igualmente bem se você tiver bugs no kernel atual e quiser grub
reinicializar automaticamente para uma versão mais antiga do kernel selecionada.
Como fazer com que o Grub repita a última seleção de inicialização
Isso é bastante simples. Usando sudo
poderes, edite /etc/default/grub
e altere o seguinte:
#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
A primeira linha você estará comentando e logo abaixo dela insira as próximas duas linhas.
Salve o arquivo e digite no terminal:
sudo update-grub
Linha de comando do Ubuntu para reiniciar no Windows
Atualmente você usa algo assim:
sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now
A partir deste Stack Exchange modificadorespondervocê pode usar o padrão do grub para reiniciar no Windows. Copie este código em seu ~/.bashrc
arquivo:
function reboot-to-windows {
WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
sudo grub-set-default "$WINDOWS_TITLE"
sudo reboot
}
- Salve o
~/.bashrc
arquivo com a novareboot-to-windows
função. - Feche sua sessão de terminal atual.
- Abra uma nova sessão de terminal para que as alterações
~/.bashrc
sejam carregadas. - Você pode digitar
: ~/.bashrc
para recarregá-lo na sessão de terminal existente, mas algumas pessoas não recomendam fazer isso.
Para reinicializar no Windows a partir da linha de comando, use:
reboot-to-windows
Se o Windows reiniciar automaticamente quando você não estiver olhando, o Windows será reiniciado. Isso permite que as atualizações automáticas do Windows sejam processadas normalmente em vários ciclos de reinicialização que o Windows às vezes usa.
Responder2
Você pode replicar o que grub-reboot
faz. É apenas um script que eventualmente chama:
grub-editenv /boot/grub/grubenv set next_entry="Windows"
Onde Windows
está o nome da sua entrada no menu grub. Pode não ser isso
Eu corri isso. Tudo o que ele faz é next_entry=Windows
inserir /boot/grub/grubenv
. Na linha 2. Então, se for apenas um arquivo, em um sistema de arquivos,você pode fazer exatamente a mesma coisa no Windows. É um problema do Windows para resolver, mas aqui está uma visão geral de alto nível:
Monte o disco onde reside a inicialização. Esta é provavelmente a parte mais difícil porque provavelmente é ext4.Essepode ajudar, mas não é inconcebível que você precise do Linux rodando com o Windows para editá-lo.
Como aponta Muru, não precisa ser tão difícil.Você pode mover
/boot
para sua própria partição FAT32. Isso torna trivial a montagem no Windows.Insira
next_entry=Windows
(ou qualquer outra coisa) no arquivo após o comentário, antes dos hashes.- Desmontar.
- Reinício.
Fazendo um script dissono Windowsestá bem fora da minha zona de conforto e não é exatamente o que fazemos aqui. Mas isso deve ser tudo que você precisa fazer.
Responder3
grub-set-default
deve fazer o mesmo que grub-reboot, mas tornar a configuração permanente. Isso não é exatamente da interface do Windows, como você pediu, mas talvez funcione para você.
Responder4
Você não disse qual versão do Windows ou se está no UEFI.
Se você estiver usando uma inicialização UEFI adequada (e não uma inicialização herdada), é possível inicializar temporariamente na entrada de inicialização UEFI do Windows. No Linux, isso pode ser feito usando ferramentas como efibootmgr
. No Windows, eu pessoalmente usoFácil UEFI. É gratuito para uso pessoal e GUI, mas não para uso corporativo ou CLI. Não posso garantir sua segurança. Também parece ser um pouco lento, mas parece funcionar
Na minha própria configuração, que usa Arch Linux (kernel EFI shim, sem GRUB) e Windows 10, é assim que fica, depois de escolher "Gerenciar opção de inicialização EFI" na tela inicial:
Se você estiver usando inicialização UEFI, deverá ver algo semelhante para Windows, além de uma única entrada para Ubuntu (que carrega o GRUB), além de algumas outras opções específicas do dispositivo. A opção de inicialização única pode então ser usada para configurar a inicialização na entrada de inicialização UEFI do Windows uma vez e, em seguida, retornar ao GRUB na inicialização depois disso. Depois de definir isso, você reinicia normalmente.