Bash en Windows / Windows Subsytem para Linux (WSL) no se instala correctamente / se bloquea

11

Recibí la actualización de aniversario de Windows e intenté instalar Bash. Ejecuté bash desde el símbolo del sistema (modo no administrativo) y se atascó al intentar extraer los archivos. Cerré la ventana e intenté hacer lo mismo con privilegios elevados (símbolo del sistema ejecutado como administrador ).

Pero ahora cuando entro en bash, está atascado allí y no se inicia ni me pide que instale bash. Pude ver el proceso bash consumiendo el 25% de la CPU en segundo plano.

Cuando intento desinstalar bash en ejecución lxrun /uninstall /full, no se puede desinstalar:

C: \ WINDOWS \ system32> lxrun / uninstall / full
Esto desinstalará Ubuntu en Windows.

Esto eliminará el entorno de Ubuntu, así como cualquier modificación, nuevas aplicaciones y datos de usuario.

Escriba "y" para continuar: y

Desinstalando ...

Error: 0x80080005

¿Cómo podría restablecer el subsistema de Linux para Windows 10?

EDITAR : También probé opciones mencionadas aquí por Microsoft.

Además, echa un vistazo a este problema. Bash no hace nada por un tiempo y luego sale

Vivek Vijayan
fuente
¿Cuánto tiempo esperó realmente para que (se) instale?
gronostaj
Esperé unos 30 minutos.
Vivek Vijayan
Alternativamente, puede ir a Habilitar o deshabilitar las características de Windows y desmarcar el subsistema de Windows para Linux (Beta) y luego reiniciar. Después de eso, vuelva a habilitar la misma casilla de verificación y reinicie nuevamente. En mi máquina, no podía correr lxrun.
kleinfreund
¡Intenté todo eso! Creo que este es un problema
Vivek Vijayan
@VivekVijayan: toma posesión de y %localappdata%\lxssluego bórralo . Luego puede usar lxrun /installpara instalar Ubuntu on Windowsnuevamente. Esto supone que tiene habilitado el modo de desarrollador y que ya ha agregado la función de Windows (subsistema de Windows Linux).
Ramhound

Respuestas:

5

Inicialmente tuve problemas para desinstalar una instalación fallida y eliminar la carpeta lxss. Después de limpiar con éxito la instalación, comencé mis pruebas para reinstalar, pero apareció el problema anterior con la instalación. El proceso se atasca Extrayendo el sistema de archivos ... como se informa aquí .

Después de días de prueba y error, parece que encontré la razón de esta agonía. En mi caso (y según lo informado por muchos otros aquí ), el antivirus es el spoilsport. Desactivar el antivirus y reiniciar parece hacerlo por mí. Por tonto que parezca, el antivirus fue la principal causa del dolor yError: 0x80080005

Ahora, para aquellos que todavía tienen este error, esto debería ser útil si intenta hacer lo siguiente en orden:

  1. Deshabilite el antivirus permanentemente y reinicie (puede habilitarlo después de que se complete la instalación)
  2. Abra el símbolo del sistema o Windows PowerShell como administrador
  3. Desinstale WSL ejecutando el siguiente comando lxrun /uninstall /full
  4. Ahora pare el servicio WSL - sc stop lxssmanager
  5. Eliminar carpetas de datos de la aplicación - rmdir /S %LOCALAPPDATA%\lxss. Confirme que las carpetas se hayan eliminado. Es posible que deba cambiar la propiedad para eliminar la carpeta si obtiene algún error de acceso denegado .
  6. Una vez que se eliminan las carpetas, intente instalar WSL nuevamente ejecutando lxrun /install /y
  7. Espere hasta que se descargue de la Tienda Windows y extraiga los archivos. (Puede verificar %LOCALAPPDATA%\lxss\rootfssi los archivos se han extraído).
  8. Espero que no tengas una Error: 0x80080005esta vez.
  9. ¡Disfruta de Bash en Windows !

EDITAR : Otra razón para el error se identifica como un error cuando tiene múltiples archivos de intercambio . Esto se solucionará en el futuro, pero por ahora, elimine otros archivos de intercambio y conserve solo un archivo de intercambio. Esto debería arreglarlo.

Más detalles para los interesados:

" Debido a su archivo de rastreo, he identificado un error en el código de instalación que calcula el tamaño del archivo de intercambio. Esta función es utilizada tanto por la llamada al sistema sysinfo como para generar el contenido de / proc / meminfo. Este problema ocurrirá cuando tenga múltiples archivos de paginación en su máquina. Hay tres resultados diferentes que pueden suceder como resultado de este error: El tamaño del archivo de intercambio se informará incorrectamente. Nuestro controlador desreferenciará una dirección de memoria no válida y causará una pantalla azul. tamaño de archivo de intercambio (este es el que está viendo) Como solución temporal si elimina todos los archivos de página excepto uno, debería poder usar WSL. Estoy codificando una solución para esto ahora " .

Referencia: Bash en Ubuntu en Windows

Vivek Vijayan
fuente
Gracias, esto me ayudó. Tenía Windows Defender ejecutándose y solo tenía que hacer 1-3 y 6-9, es decir, no tenía que detener el servicio ni eliminar nada.
Tom Ellis
Feliz de ayudar. En algunos casos, el servicio WSL dificulta la eliminación limpia de los archivos de instalación. Me alegro de que no tengas que pasar por todo eso.
Vivek Vijayan