1 votos

Android x86 de arranque dual con LineagOS x86 en el disco duro externo

Yo una instalación en un disco duro interno del portátil que utilizo como un dribe externo del USB

La unidad es un disco duro de 500 GB pero tiene particiones de 50 GB, 50 GB, 50 GB y el resto no está asignado por el momento.

Tengo Android x86 ( Android-x86_64-9.0-rc2.iso ) instalado en la primera partición (sdb1) y también instalé EFI GRUB2 mientras instalaba Android

Luego instalé el LineagOS x86 ( cm-x86_64-14.1-r2.iso ) a la segunda partición (50 GB) y también le dije que instalara EFI GRUB2 mientras instalaba LineagOS

El GRUB de LineageOS parece haber sobrescrito el GRUB de Android-x86 y ahora no puedo arrancar en Android-x86 desde la pantalla de arranque de la BIOS, aunque sus archivos están todos ahí en la primera partición

¿Hay alguna forma de editar el GRUB para LineagOS y añadir una entrada para arrancar el Android-x86 desde la primera partición?

También tengo un disco duro SATA interno dentro del portátil con Windows 10. No quiero que las instalaciones de arranque en el disco duro externo afecten a esta instalación de Windows o a la unidad interna de ninguna manera, pero parece que el EFI GRUB2 que se instaló al instalar Android-x86 y LineageOS se instaló en el disco duro interno. Esto sigue siendo aceptable porque no parece haber afectado la instalación de Windows o su procedimiento de arranque de ninguna manera, pero no tengo experiencia con GRUB y sea lo que sea que tenga que hacer, quiero asegurarme de que no afectará la instalación de Windows 10 en mi disco duro interno.

Para resumir:

sdb1: Android-x86 sdb2: LineageOS, se puede arrancar usando su GRUB (este menú de grub aparece cuando selecciono la entrada para él en el menú de arranque de la BIOS)

¿Cómo puedo editar este menú GRUB para que también apunte a la instalación de Android-x86? ¿Es posible hacer esto desde Windows?

0 votos

La velocidad no va a ser la ideal si entiendo bien tu pregunta.

0 votos

@William ¿por qué la velocidad no sería la ideal?

0 votos

es típicamente más lento, eso es todo

1voto

swati Puntos 139

Para empezar ayudaría si pudieras proporcionar algunos registros con adb. El firmware x86 para obtener un volcado de lo que está pasando, simplemente lanza el comando adb logcat desde un elevado comando. Haciendo más simple su lectura, aunque debería ser un volcado y bastante sencillo, puedes intentar añadir -v (verboso) de aspecto largo: abd logcat -v long

Esperemos que el demonio adbd haya empezado desde que es parte del trabajo inicial.

Sin embargo, si no lo ha hecho y no puede conseguir un logcat, entonces puede tratar de saltarse parte del proceso de arranque para llevar las cosas más lejos dentro del proceso de arranque deteniendo el cigoto:

Desde el Sitio web de los desarrolladores de x86 :

Detener el cigoto para que se ejecute automáticamente:

Ve dentro del vendor/whatever_device_oem/eeepc/init.rc, cambia las siguientes líneas:

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server socket zygote stream 666 onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on

a:

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server socket zygote stream 666 onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on disabled oneshot

En este punto, detener el cigoto hará que las cosas se comuniquen una vez que el davlik empiece a funcionar, ya que eso es lo que hace que las cosas en la máquina virtual funcionen.

Intenta sacar los registros a través del comando logcat arriba mencionado.

Cuando quieras iniciar el cigoto manualmente después de obtener o si falla entonces lanza el comando desde un shell adb start zygote o si no puedes conseguir un shell adb puedes intentarlo desde un emulador de terminales start zygote si eso falla, entonces deténgase y revierta los cambios en el vendor/whatever_device_oem/eeepc/init.rc de lo que es el booteo, o dentro de la iso, o antes de la recompilación.

Esperemos que a estas alturas puedas publicar una salida de descarga para que podamos llegar al meollo de lo que está pasando.

Aunque suena como un problema de orden de arranque desde el cargador de arranque primario al secundario y así sucesivamente. También podría ser cualquiera de los otros caminos pertinentes necesarios para arrancar.

Con eso, después de haber repasado los largos y detallados pasos que has intentado para la depuración. La clave de la depuración es mi respuesta detallada a los registros de estado. De la parte superior de mi cabeza digo que lo más probable es que sea un problema de camino que puede ser corregido usando el set de un sistema basado en linux o un emulador de comandos de sistema similar a linux. (Clave por cierto al salvar un ladrillo de la recuperación de la comida).

Lanza el set para ver lo que el sistema reconoce y ver como el camino hacia el camino elegido.

Vea lo que se muestra y se compara con lo que se necesita como set Root, cmdpath, kernel, boot, grub, vmlinux o aboot, y muchas más cosas necesarias para el arranque, pero no es lo mismo dejar el dispositivo y el OEM, la versión del sistema operativo o las variantes.

La sintaxis es:

set {envvar=valor}

Simplificado:

Establecer opción = (Valor)/el/la/elegido/la ruta

Para borrar/eliminar una variable ambiental sólo nosotros unset en lugar de la orden establecida.

El manual técnico de la GN'U explica lo que parece ser su problema:

https://www.gnu.org/software/grub/manual/grub/html_node/set.html#set

El procedimiento normal de arranque de GRUB implica establecer el "prefijo" de la variable de entorno a un valor establecido en la imagen central por grub-install, ajustando la variable 'root' para que coincida, cargando el módulo "normal" desde el prefijo, y ejecutando el comando "normal" (ver sección 16.3.51 normal, página 77). Este comando es responsable de leer "/boot/grub/grub.cfg", ejecutar- en el menú, y haciendo todas las cosas útiles que se supone que hace el GRUB.

Comienza tus soluciones de depuración con el set para poner en orden las variables de arranque adecuadas. Si tienes que borrar una variable que ha sido establecida, entonces usa el unset comando.

Si no es así, entonces necesitamos registros para saber qué está pasando con el proceso de arranque.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X