Tengo una computadora portátil con más de un sistema operativo.
¿Existe algún comando mediante el cual pueda apagar el sistema operativo actual e iniciar otro sistema operativo?
windows->Ubuntu y viceversa
gracias
Respuesta1
Sí, es posible si usa Grub para la selección de arranque: -
- Inicie en Linux.
- Permitirraízprivilegios iniciando sesión o usando
su
osudo -s
. - Copie
/boot/grub.cfg
a cualquiera/boot/grub.win
o/boot/grub.lin
, según su valor predeterminado. - Edite
/etc/default/grub
para cambiarGRUB_DEFAULT=
el número del sistema operativo alternativo en la lista de inicio (contando desde cero). - Ejecute
update-grub
, luego copie/boot/grub.cfg
a/boot/grub.lin
o/boot/grub.win
, según corresponda. - Restaurar
GRUB_DEFAULT=
a su valor anterior en/etc/default/grub
. - Crear
bootlin
ybootwin
contener:cp /boot/grub.lin /boot.cfg
ocp /boot/grub.win /boot.cfg
shutdown -r now
Ahora puedes llamar bootlin
o bootwin
desde Ubuntu.
En Windows necesitarás hacer el mismo tipo de cosas:-
- Primera instalaciónext2fsd.
- Asigne una letra de unidad (por ejemplo
U:
, ) a la partición de Ubuntu y hágala grabable. - Ahora puede crear
bootlin.cmd
ybootwin.cmd
contener el comando apropiadocopy
para sobrescribirU:\boot\grub.cfg
, seguido de:shutdown -r
Si arranca con, ntldr
puede utilizar una técnica similar con dos copias de boot.ini
(es posible que primero deba borrar los atributos de Solo lectura, Sistema y Oculto). Puede haber una técnica similar que puedas usar con otros cargadores de arranque, pero dejo que otros sugieran qué funcionará con estos.
PRECAUCIÓN: encuentroext2fsdfunciona bien en modo de solo lectura, pero nunca lo he usado en modo de escritura: tenga en cuenta que podría dañar su sistema Ubuntu, así que asegúrese de tener una buena copia de seguridad hasta que lo haya probado varias veces y se haya asegurado de que funciona. correctamente. Puede que sea más seguro editar desde Windowsgrub.cfg
en el lugar, que no requerirá cambios de directorio, pero necesitará algún tipo de editor en línea de Windows que no use archivos de trabajo en el mismo sistema de archivos, o escriba algunas líneas para C
hacerlo.
Respuesta2
Es posible que estos detalles no coincidan exactamente con la forma en que UEFI maneja los sistemas GPT, pero sí describen los sistemas basados en MBR.
El estándar oficial (antiguo) es utilizar lo que está en el Master Boot Record. El comando "fdisk" se puede utilizar para cambiar los detalles del MBR.
El MBR tradicional contiene algunos bits que especifican si una partición está marcada. El estándar especifica que solo se marca una partición, aunque el código de inicio no necesariamente lo exige. Cuando un usuario especifica que se debe marcar una partición específica, un programa fdisk tradicional normalmente buscará otra partición marcada y, si encuentra una, la quitará de la marca. Es posible que se utilicen palabras alternativas para describir una partición "marcada", como una partición "seleccionada".
Luego, el MBR tradicional contiene algún "código" (instrucciones). Cuando se inicia el sistema, se ejecuta este código. El código verificará el MBR para ver qué tan grande es cada partición y qué partición está marcada. Luego continuará con el proceso de arranque ejecutando algún código adicional que se encuentra en la partición marcada.
Entonces, ese es el estándar que cuenta con un amplio apoyo. Desafortunadamente, este método estándar implica ingresar a fdisk e interactuar con él manualmente. Así que no se trata de un único programa que puedes ejecutar. Sin embargo, es el estándar más soportado.
CitarPreguntas frecuentes sobre OpenBSD: arranque múltiple:
Prácticamente todos los sistemas operativos ofrecen un programa para hacer esto; OpenBSD es fdisk(8), programas con nombres similares se encuentran en Windows 9x y DOS, y en muchos otros sistemas operativos. Esto puede ser muy conveniente para sistemas operativos o sistemas que tardan mucho en apagarse y reiniciarse: puede configurarlo e iniciar el proceso de reinicio, luego alejarse, tomar una taza de café y volver al sistema iniciado de la misma manera. lo desea, sin esperar el Momento Mágico para seleccionar el siguiente sistema operativo.
Es curioso cómo, con todos los reemplazos sofisticados que la gente ha hecho, las ventajas del proceso oficial con mayor apoyo pueden pasarse por alto con tanta frecuencia.
Sé que esto puede no ser tan automatizado como se desea, aunque la pregunta que se hizo no especificaba la no interactividad. Entonces, la respuesta simple es que sí, existe tal comando. Es "fdisk".
Ahora bien, existen otras variaciones, por lo que la automatización probablemente sea posible si buscas una solución de este tipo. Es posible que desee verificar sus sistemas operativos en busca de un comando llamado "arranque" o algo así; Sé que el antiguo sistema operativo OS/2 contenía un comando "BOOT" que podía modificar qué sistema operativo se iniciaba. Los comandos precisos que necesitaría ejecutar dependen del código de inicio que utilice realmente. Hay varios programas de "administrador de arranque" disponibles y esta funcionalidad ahora está integrada en más sistemas operativos. Ésa es la buena noticia. La mala noticia es que el proceso no está tan estandarizado, por lo que no puedo ofrecerles simplemente un proceso específico que se integre bien con las diferentes variaciones de todos. Básicamente, debes elegir una solución y utilizarla. Es probable que la principal preocupación sea encontrar un proceso que pueda realizarse desde múltiples sistemas operativos y que pueda usarse para escribir en las secciones del disco que se manejan mientras se inicia el sistema. Por lo general, esas secciones no forman parte de un sistema de archivos y las funciones antivirus pueden intentar limitar la capacidad de una persona para escribir en esas secciones críticas del disco.
Básicamente, el proceso implicará cambiar los bits de bandera de una partición, cambiar el código de arranque del MBR o cambiar el comportamiento del código que está en la partición que el MBR usa para continuar con el arranque. Son tres enfoques diferentes, y cada uno de esos enfoques en realidad es utilizado por algunas de las diferentes opciones que están disponibles.
Un cuarto enfoque puede ser modificar desde qué disco arranca el BIOS. Sin embargo, este enfoque ha sido tradicionalmente mucho menos compatible entre diferentes sistemas, por lo que es más una posibilidad teórica que algo realmente utilizado. (Aunque muchos usuarios han utilizado este enfoque de forma interactiva, a menudo presionando F12 o algo así para abrir un menú de inicio; a veces simplemente ingresan a la configuración del BIOS y cambian el disco predeterminado que se usará en inicios posteriores).
El método más común probablemente sea crear una imagen de 512 bytes de todo el MBR cuando el sistema arranca en un sistema operativo y luego guardar una imagen de 512 bytes de todo el MBR cuando el sistema arranca con un sistema operativo diferente. Luego, use cualquier software que necesite para escribir directamente esos 512 bytes en los primeros 512 bytes del disco. (Algo como "dd" funcionaría). El mayor desafío con esto podría ser simplemente tener permiso del sistema operativo.
La respuesta de AFH parece mostrar cómo se puede hacer esto desde Linux con grub. El Administrador de arranque de Windows de los días XP/2003 usaba este tipo de imágenes de sector (a las que se hacía referencia mediante un archivo "Boot.ini"), por lo que se podía salir de Windows modificando el archivo de texto Boot.ini. (Ese proceso podría haber cambiado en Vista/2008, así que consulte el nuevo administrador de arranque antes de intentarlo en sistemas más nuevos). Una forma precisa de implementar cualquiera de estas soluciones dependerá del sistema operativo que esté intentando dejar de usar. (Por ejemplo: qué versión de Microsoft Windows).
Respuesta3
mientras que cuando llamamos a un reinicio del hardware, es más o menos idéntico a un apagado y un encendido posterior. por lo tanto se pierde toda la memoria ram. Y cuando encendemos, el proceso de arranque lo maneja el firmware de la placa base. si queremos decirle al firmware de la placa base algomensaje, no debemos dejar dicho mensaje en la memoria RAM . pero podemos escribir algo (cualquier cosa) en el disco (o en algún otro medio permanente, y creo que efi proporciona un mecanismo para configurar variables no volátiles).
Además de los enfoques antes mencionados, los kernels de Linux tienenkexecfuncionalidad para "entregar el control" a otro sistema sin que el hardware se caiga. Aunque es posible que no se realice un kexec directamente en un kernel de Windows, existe una solución alternativa: realizar un kexec en un programa de carga y dejar que el programa de carga inicialice el sistema Windows.