Eu tenho uma configuração de inicialização dupla:
- Ubuntu 16.04 LTS
- janelas
Atualmente, quando eu quero reboot
do Ubuntu para o Windows, eu uso grub-reboot
com o número apropriado como argumento. Isso funciona bem.
No entanto, às vezes o Windows precisa de uma reinicialização para que um determinado programa possa instalar ou atualizar e eu manualmente tenho que selecionar 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 transmita o argumento para um arquivo que, por sua vez, é lido pelo grub upon reboot
.
editar (referente à minha resposta selecionada): Atualmente, estou pensando em montar a unidade ext4 que contém / boot e criar scripts para a edição. isso pode demorar um pouco, já que estou fazendo isso no meu tempo livre, além do meu trabalho não técnico de 40h / semana. ^^
reboot-to-windows
função que é um compromisso sobre o uso do ext2fsd que corrompe os superblocos do ext4 .Respostas:
Você pode replicar o que
grub-reboot
faz. É apenas um script que eventualmente chama:Onde
Windows
está o nome da sua entrada no menu grub. Pode não ser issoEu corri isso. Tudo o que faz inserção
next_entry=Windows
em/boot/grub/grubenv
. Na linha 2. Portanto, se é 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á a visão geral de alto nível:Monte o disco onde está a inicialização. Esta é provavelmente a parte mais difícil, porque provavelmente é ext4. Isso pode ajudar, mas não é inacreditável que você precise do Linux executando o Windows para editá-lo.
Como muru aponta, não precisa ser tão difícil. Você pode mover
/boot
para sua própria partição FAT32 . Isso facilita a montagem no Windows.Insira
next_entry=Windows
(ou o que seja) no arquivo após o comentário, antes dos hashes.Criar scripts no Windows está fora da minha zona de conforto e não é exatamente o que fazemos aqui. Mas isso deve ser tudo o que você precisa fazer.
fonte
/boot
partição separada e formatá-la para FAT32 ou NTFS, e depois editá-las confortavelmente no Windows. Não há nada/boot
que exija particularmente recursos do Unix-y. Criar scripts usando o Powershell deve ser fácil.A maneira mais fácil é com o Grub
É um controle complicado
grub
do Windows. É necessário um aplicativo de terceiros para acessar o Ubuntu no Windows e alguns hackers. No entanto, na parte superior deste post: Como alterar a ordem em minhas distros de inicialização dupla , você pode configurargrub
para reiniciar automaticamente a última opção do menu. Portanto, quando você inicializa com o Windows e ele acorda às 2 da manhã para executar atualizações,grub
o Windows é recarregado para que possa concluir as atualizações normalmente.Quando você reinicia manualmente e escolhe o Ubuntu em
grub
todas as próximas reinicializações, carrega o Ubuntu automaticamente. Esse recurso funciona igualmente bem se você tiver bugs no kernel atual e desejagrub
reiniciar automaticamente em uma versão mais antiga do kernel selecionada.Como fazer com que o Grub repita a última seleção de inicialização
Isso é bastante direto. Usando
sudo
poderes, edite/etc/default/grub
e altere o seguinte:A primeira linha que você estará comentando e logo abaixo, inserirá as próximas duas linhas.
Salve o arquivo e digite o terminal:
Linha de comando do Ubuntu para reiniciar no Windows
Atualmente você usa algo como isto:
Nesta resposta modificada do Stack Exchange, você pode usar o padrão do grub para reiniciar o Windows. Copie este código no seu
~/.bashrc
arquivo:~/.bashrc
arquivo com novareboot-to-windows
função.~/.bashrc
seja carregada.: ~/.bashrc
para recarregá-lo na sessão de terminal existente, mas algumas pessoas recomendam isso.Para reiniciar no Windows a partir da linha de comando, use:
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 ciclos de reinicialização múltipla que o Windows às vezes usa.
fonte
grub-set-default
deve fazer o mesmo que o grub-reboot, mas tornar a configuração permanente. Isso não é exatamente da interface do usuário do Windows, como você pediu, mas talvez funcione para você.fonte
Você não disse qual versão do Windows ou se está na UEFI.
Se você estiver usando uma inicialização UEFI adequada (e não a herdada), é possível inicializar temporariamente a entrada de inicialização UEFI do Windows. No Linux, isso pode ser feito usando ferramentas como
efibootmgr
. No Windows, eu pessoalmente uso o EasyUEFI . É gratuito para uso pessoal, 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 funcionarNa minha própria configuração, que usa o Arch Linux (kernel EFI shim, sem GRUB) e o Windows 10, é assim que parece, depois de escolher "Manage EFI Boot Option" na tela inicial:
Se você estiver usando a inicialização UEFI, deverá ver algo semelhante para o Windows, além de uma única entrada para o Ubuntu (que carrega o GRUB), além de outras opções específicas de dispositivos. A opção de inicialização única pode então ser usada para definir a inicialização na entrada de inicialização UEFI do Windows uma vez e, em seguida, voltar ao GRUB a inicialização depois disso. Depois de definir isso, você reinicia normalmente.
fonte
/boot
para NTFS ou FAT32 em vez de editá-lo como ext4. O suporte de gravação para ext4 no Windows é duvidoso, você está arriscando demais dessa maneira.