@ Tim, onde é que há uma vontade (ou toneladas de dinheiro), há um caminho: D
Wilf
Respostas:
8
Você não precisa modificar /boot/grub/grub.cfgcomo Michal Hagara sugeriu. Isso pode quebrar o Ubuntu se você instalar um novo kernel e não atualizar o e:\home\user\Grubshift\ubuntudefault\grub.cfg.
Tudo que você precisa fazer é criar / copiar um arquivo /boot/grub/grubenvcom o seguinte conteúdo
Onde next_entryestá a linha da próxima entrada do menu grub que deve ser iniciada na próxima vez (começando do zero). Então next_entry=2seria a terceira linha.
O Grub removerá automaticamente o valor após a inicialização, para a próxima vez que você inicializar novamente no sistema operacional padrão.
1.Shortcut para reiniciar o Windows e inicializar o Ubuntu
OK, o lado negativo disso é que teremos que modificar o grub.cfg (/boot/grub/grub.cfg) diretamente (é desaconselhado - https://askubuntu.com/a/437341/402801), porque existe não há como executar a update-grubpartir do Windows ... se você puder viver com isso, leia mais.
Como mencionei antes, instale o Ext2Fsd , monte-o automaticamente e atribua uma letra na inicialização
Eu criei minha "pasta Backup" em /home/user/Grubshifttrês subdiretórios: backup (para fazer backup do /boot/grub/grub.cfg), ubuntudefault (para armazenar o grub.cfg com o Ubuntu como padrão), windowsdefault (você tem o idéia)
Após a instalação, o Ubuntu é definido como padrão, então copie-o grub.cfgpara o diretório desejado. Eu tenho a configuração "Windows como padrão" modificando o GRUB via grub-customizer (é mais seguro na minha opinião), depois disso copie o Windows grub.cfgpara o diretório desejado
/y- opção de copycomando, suprime a solicitação para confirmar que você deseja substituir um arquivo de destino existente
/r /t 0 - opções de desligamento, 1. significa reinicialização, 2. significa imediatamente, sem aparecer mensagens feias
Modifique o caminho de acordo !!!
Salve esse arquivo (usei UTF-8) e altere a extensão para *.bat
Criar atalho na área de trabalho para shift.bat, clique com o botão direito do mouse em shorctur -> propriedades -> guia de atalho -> Executar: minimizado (que eliminará o surgimento do CMD)
Eu tentei isso pelo menos 8 vezes, definindo o Windows como padrão com grub-customizer...
Não estou dizendo que é seguro, mas HEY !, estamos mexendo com o gerenciador de inicialização ... isso não é seguro
Quando está funcionando, podemos nos livrar completamente do menu GRUB, porque ele sempre inicializa no sistema operacional correto ...
A lógica parece boa, infelizmente o ext2fsd não suporta totalmente o ext4.
Dmitriy Berkutov
11
Além disso, se o script melhorar (como se o Windows fizesse isso :), o computador não inicializa - é uma boa ideia. Um bom exemplo é se as corridas de script Linux na inicialização, mas o computador é desligado, enquanto a inicialização e apenas executar esse script, então ....
Wilf
0
Aqui está como eu defini minha configuração:
Para resumir: O sistema reinicia o padrão para a última atividade, reinicia do Windows para o Linux e vice-versa usando um script simples.
Configure o grub para sempre inicializar a última seleção selecionada:
Se / boot / grub / grubenv não existir, crie-o usando a resposta de Germar
Arquivo em lote para reinicialização do windows para linux:
@echo off
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /mount disk1 L:
:CheckForFile
IF EXIST "L:\boot\grub\grubenv" GOTO FoundIt
GOTO CheckForFile
:FoundIt
sed -i -e '/next_entry/c\next_entry=0' L:/boot/grub/grubenv
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /umount disk1 L:
echo press enter to reboot
pause
shutdown -r -t 00
substitua /mount disk1 L:por algo específico ao seu sistema. Você pode encontrar discos disponíveis usando o extmounter /listcomando e a letra da unidade. Além disso, L:já não deve ser utilizado.
salve como reboot-linux.bat
você pode clicar com o botão direito do mouse no bastão e selecionar run as administratorpara executá-lo
Script de shell para reinicialização do linux para o windows:
sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
substitua next_entry=2por qualquer que seja a sua entrada do Windows.
salve como por exemplo ~/reboot_windowse marque como executável:chmod +x ~/reboot_windows
Respostas:
Você não precisa modificar
/boot/grub/grub.cfg
como Michal Hagara sugeriu. Isso pode quebrar o Ubuntu se você instalar um novo kernel e não atualizar oe:\home\user\Grubshift\ubuntudefault\grub.cfg
.Tudo que você precisa fazer é criar / copiar um arquivo
/boot/grub/grubenv
com o seguinte conteúdoOnde
next_entry
está a linha da próxima entrada do menu grub que deve ser iniciada na próxima vez (começando do zero). Entãonext_entry=2
seria a terceira linha.O Grub removerá automaticamente o valor após a inicialização, para a próxima vez que você inicializar novamente no sistema operacional padrão.
É assim que
grub-reboot
funciona.fonte
Aqui está o que eu tenho em mente:
Posso estar completamente errado com essa abordagem, mas não consigo entender por que não deve funcionar.
EDITAR:
E também há: http://www.paragon-drivers.com/extfs-windows/ que eu nunca tentei.
PROGRESSO
1.Shortcut para reiniciar o Windows e inicializar o Ubuntu
OK, o lado negativo disso é que teremos que modificar o grub.cfg (/boot/grub/grub.cfg) diretamente (é desaconselhado - https://askubuntu.com/a/437341/402801), porque existe não há como executar a
update-grub
partir do Windows ... se você puder viver com isso, leia mais./home/user/Grubshift
três subdiretórios: backup (para fazer backup do /boot/grub/grub.cfg), ubuntudefault (para armazenar o grub.cfg com o Ubuntu como padrão), windowsdefault (você tem o idéia)Após a instalação, o Ubuntu é definido como padrão, então copie-o
grub.cfg
para o diretório desejado. Eu tenho a configuração "Windows como padrão" modificando o GRUB via grub-customizer (é mais seguro na minha opinião), depois disso copie o Windowsgrub.cfg
para o diretório desejadoDepois disso, abra o bloco de notas e insira:
/y
- opção decopy
comando, suprime a solicitação para confirmar que você deseja substituir um arquivo de destino existente/r /t 0
- opções de desligamento, 1. significa reinicialização, 2. significa imediatamente, sem aparecer mensagens feiasModifique o caminho de acordo !!!
*.bat
shift.bat
, clique com o botão direito do mouse em shorctur -> propriedades -> guia de atalho -> Executar: minimizado (que eliminará o surgimento do CMD)Eu tentei isso pelo menos 8 vezes, definindo o Windows como padrão com
grub-customizer
...Não estou dizendo que é seguro, mas HEY !, estamos mexendo com o gerenciador de inicialização ... isso não é seguro
Quando está funcionando, podemos nos livrar completamente do menu GRUB, porque ele sempre inicializa no sistema operacional correto ...
fonte
Aqui está como eu defini minha configuração:
Para resumir: O sistema reinicia o padrão para a última atividade, reinicia do Windows para o Linux e vice-versa usando um script simples.
Configure o grub para sempre inicializar a última seleção selecionada:
No Linux:
GRUB_DEFAULT=saved
eGRUB_SAVEDEFAULT=true
em / etc / default / grubsudo update-grub
Instale o driver extfs do Paragons
consulte http://www.paragon-drivers.com/extfs-windows/
Crie scripts de reinicialização:
Se / boot / grub / grubenv não existir, crie-o usando a resposta de Germar
Arquivo em lote para reinicialização do windows para linux:
/mount disk1 L:
por algo específico ao seu sistema. Você pode encontrar discos disponíveis usando oextmounter /list
comando e a letra da unidade. Além disso,L:
já não deve ser utilizado.reboot-linux.bat
run as administrator
para executá-loScript de shell para reinicialização do linux para o windows:
next_entry=2
por qualquer que seja a sua entrada do Windows.~/reboot_windows
e marque como executável:chmod +x ~/reboot_windows
fonte