@Tim donde hay un testamento (o toneladas de dinero) hay una manera: D
Wilf
Respuestas:
8
No es necesario modificar /boot/grub/grub.cfgcomo sugirió Michal Hagara. Esto podría romper Ubuntu si instala un nuevo núcleo y no actualiza el e:\home\user\Grubshift\ubuntudefault\grub.cfg.
Todo lo que necesita hacer es crear / copiar un archivo /boot/grub/grubenvcon el siguiente contenido
¿Dónde next_entryestá la línea de la siguiente entrada del menú de grub que debe iniciarse la próxima vez (comenzando desde cero) Entonces next_entry=2sería la tercera línea.
Grub eliminará automáticamente el valor después del arranque, por lo que la próxima vez volverá a iniciar su sistema operativo predeterminado.
Esta es una solución mucho más conveniente, ¡gracias!
Dmitriy Berkutov
No sabía nada de esa funcionalidad:) ... Como se puede ver, he señalado, que jugar con grub.cfg no es la más sabia ...
RiddleMeThis
¿estás seguro de que se requieren 987 veces '#'? Creo que 462 veces es suficiente :-D
Jounathaen
2
Esto es lo que tengo en mente:
http://www.ext2fsd.com/ (debería ser capaz de escribir en la partición EXT, "montar" y asignar letras en el arranque)
luego prepararía el archivo GRUB modificado, donde Ubuntu está configurado como SO predeterminado (este también se almacenaría en la partición de Linux)
Script BATCH de Windows (ejecutado por su acceso directo deseado) que:
Copia de seguridad OLD GRUB (Windows por defecto)
copiar GRUB modificado (el valor predeterminado es Ubuntu) sobre OLD one (el valor predeterminado es Windows)
Reiniciar PC
Script BASH de Linux que modificaría y actualizaría GRUB al inicio (o reinicio) para configurar Windows como SO predeterminado
Puedo estar completamente equivocado con este enfoque, pero no puedo ver por qué no debería funcionar.
OK, el lado negativo de esto es que tendremos que modificar grub.cfg (/boot/grub/grub.cfg) directamente (se desaconseja - https://askubuntu.com/a/437341/402801 ), porque hay no hay forma de correr update-grubdesde Windows ... si puedes vivir con eso, sigue leyendo.
Como mencioné anteriormente, instale Ext2Fsd , haga que se monte automáticamente y asigne una letra al inicio
He creado mi "Carpeta de copia de seguridad" /home/user/Grubshiftcon 3 subdirectorios: copia de seguridad (para hacer una copia de seguridad de /boot/grub/grub.cfg), ubuntudefault (para almacenar grub.cfg con Ubuntu como predeterminado), windowsdefault (tienes el idea)
Después de la instalación, Ubuntu se configura como predeterminado, así que cópielo grub.cfgen el directorio deseado. Tengo la configuración "Windows por defecto" modificando GRUB a través de grub-customizer (es más seguro en mi opinión), después de eso copie Windows grub.cfgen el directorio deseado
/y- opción de copycomando, suprime las indicaciones para confirmar que desea sobrescribir un archivo de destino existente
/r /t 0 - opciones de apagado, 1. significa reiniciar, 2. significa inmediatamente, sin mensajes feos apareciendo
¡Modifique la ruta en consecuencia!
Guarde ese archivo (he usado UTF-8) y cambie la extensión a *.bat
Cree un acceso directo de escritorio para shift.bat, haga clic derecho en shorctur -> propiedades -> pestaña de acceso directo -> Ejecutar: minimizado (eso eliminará la aparición de CMD)
He intentado esto al menos 8 veces, configurando Windows como predeterminado con grub-customizer...
No digo que sea seguro, pero ¡HEY !, estamos jugando con el gestor de arranque ... eso no es seguro
Cuando está funcionando completamente, podemos deshacernos del menú de GRUB por completo, porque siempre se iniciará en el sistema operativo correcto ...
La lógica se ve bien, lamentablemente ext2fsd no es totalmente compatible con ext4.
Dmitriy Berkutov
1
Además, si la secuencia de comandos se arruina (como si Windows alguna vez hiciera eso :) la computadora no arrancará, aunque es una buena idea. Un buen ejemplo es si el script de Linux se ejecuta en el arranque, pero la computadora se apaga mientras arranca y solo ejecuta ese script, entonces ...
Wilf
0
Así es como configuré mi configuración:
Para resumir: el sistema se reinicia de forma predeterminada a último activo, se reinicia desde Windows a Linux y viceversa utilizando un script simple.
Configure grub para arrancar siempre por última vez seleccionado:
Archivo por lotes para reiniciar desde Windows a 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
reemplace /mount disk1 L:con algo específico para su sistema. Puede encontrar discos disponibles utilizando el extmounter /listcomando y la letra de la unidad. Además, L:no debe ser tomado ya.
guárdelo como p. ej. reboot-linux.bat
puedes hacer clic derecho en bat y seleccionar run as administratorpara ejecutarlo
Script de Shell para reiniciar de Linux a Windows:
sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
reemplace next_entry=2con cualquiera que sea su entrada de Windows.
guárdelo como, por ejemplo, ~/reboot_windowsy márquelo como ejecutable:chmod +x ~/reboot_windows
Respuestas:
No es necesario modificar
/boot/grub/grub.cfg
como sugirió Michal Hagara. Esto podría romper Ubuntu si instala un nuevo núcleo y no actualiza ele:\home\user\Grubshift\ubuntudefault\grub.cfg
.Todo lo que necesita hacer es crear / copiar un archivo
/boot/grub/grubenv
con el siguiente contenido¿Dónde
next_entry
está la línea de la siguiente entrada del menú de grub que debe iniciarse la próxima vez (comenzando desde cero) Entoncesnext_entry=2
sería la tercera línea.Grub eliminará automáticamente el valor después del arranque, por lo que la próxima vez volverá a iniciar su sistema operativo predeterminado.
Así es como
grub-reboot
funciona.fuente
Esto es lo que tengo en mente:
Puedo estar completamente equivocado con este enfoque, pero no puedo ver por qué no debería funcionar.
EDITAR:
Y también hay: http://www.paragon-drivers.com/extfs-windows/ que nunca he probado.
PROGRESO
1. Atajo para reiniciar Windows y arrancar Ubuntu
OK, el lado negativo de esto es que tendremos que modificar grub.cfg (/boot/grub/grub.cfg) directamente (se desaconseja - https://askubuntu.com/a/437341/402801 ), porque hay no hay forma de correr
update-grub
desde Windows ... si puedes vivir con eso, sigue leyendo./home/user/Grubshift
con 3 subdirectorios: copia de seguridad (para hacer una copia de seguridad de /boot/grub/grub.cfg), ubuntudefault (para almacenar grub.cfg con Ubuntu como predeterminado), windowsdefault (tienes el idea)Después de la instalación, Ubuntu se configura como predeterminado, así que cópielo
grub.cfg
en el directorio deseado. Tengo la configuración "Windows por defecto" modificando GRUB a través de grub-customizer (es más seguro en mi opinión), después de eso copie Windowsgrub.cfg
en el directorio deseadoDespués de eso, abra el bloc de notas e inserte:
/y
- opción decopy
comando, suprime las indicaciones para confirmar que desea sobrescribir un archivo de destino existente/r /t 0
- opciones de apagado, 1. significa reiniciar, 2. significa inmediatamente, sin mensajes feos apareciendo¡Modifique la ruta en consecuencia!
*.bat
shift.bat
, haga clic derecho en shorctur -> propiedades -> pestaña de acceso directo -> Ejecutar: minimizado (eso eliminará la aparición de CMD)He intentado esto al menos 8 veces, configurando Windows como predeterminado con
grub-customizer
...No digo que sea seguro, pero ¡HEY !, estamos jugando con el gestor de arranque ... eso no es seguro
Cuando está funcionando completamente, podemos deshacernos del menú de GRUB por completo, porque siempre se iniciará en el sistema operativo correcto ...
fuente
Así es como configuré mi configuración:
Para resumir: el sistema se reinicia de forma predeterminada a último activo, se reinicia desde Windows a Linux y viceversa utilizando un script simple.
Configure grub para arrancar siempre por última vez seleccionado:
Debajo de Linux:
GRUB_DEFAULT=saved
yGRUB_SAVEDEFAULT=true
en / etc / default / grubsudo update-grub
Instalar el controlador extfs de Paragons
ver http://www.paragon-drivers.com/extfs-windows/
Crear scripts de reinicio:
Si / boot / grub / grubenv no existe, créelo usando la respuesta de Germar
Archivo por lotes para reiniciar desde Windows a Linux:
/mount disk1 L:
con algo específico para su sistema. Puede encontrar discos disponibles utilizando elextmounter /list
comando y la letra de la unidad. Además,L:
no debe ser tomado ya.reboot-linux.bat
run as administrator
para ejecutarloScript de Shell para reiniciar de Linux a Windows:
next_entry=2
con cualquiera que sea su entrada de Windows.~/reboot_windows
y márquelo como ejecutable:chmod +x ~/reboot_windows
fuente