Al instalar una distribución WSLafuerade Microsoft Store (por ejemplo, en una red restringida, consulte el enlace), muchos de los medios estándar para interactuar con esa distribución no están disponibles. En mi ejemplo, cuando voy a Configuración > Aplicaciones y características, la distribución no se muestra en la lista y las funciones de administración no están disponibles. Si mi instancia de Linux instalada manualmente queda en mal estado, ¿cuál es la forma correcta de restablecerla y devolverla a una instalación nueva?
Editar: Los ejemplos de un "mal estado" encontrado hasta ahora incluyen un BSOD durante una "actualización de apt-get", lo que lleva a un estado irrecuperable. Además, realizar múltiples cambios de configuración para solucionar un problema, eliminar o deshabilitar servicios e instalar otros paquetes sin realizar un seguimiento cercano de lo que se cambió, con el deseo de "comenzar de nuevo" para probar si la solución a la que se llegó realmente funciona por sí sola. ..
Respuesta1
Si mi instancia de Linux instalada manualmente queda en mal estado, ¿cuál es la forma correcta de restablecerla y devolverla a una instalación nueva?
Si está ejecutando Windows 10 versión 1903:
wsl --unregister <DistributionName>
Si está ejecutando Windows 10 versión 1709, 1803 o 1809:
wslconfig /unregister <DistributionName>
Administrar y configurar el subsistema de Windows para Linux
Respuesta2
Puedes utilizarchocolateado(con un repositorio privado de NuGet, por ejemplo) y elija la imagen de Debian con:
choco install wsl-debiangnulinux
Pero entonces
- sólo hay accesos directos disponibles como "Terminal WSL" y "Terminal Debian".
- No se le solicitará la creación de un usuario, solo se inicia un shell raíz.
- No encontrará su distribución de Linux para WSL en "Configuración/Aplicaciones y características", por lo que no encontrará "Opciones avanzadas" ni "Restablecer".
Por cierto, la línea de comando wsl está disponible, pero luego debe crear manualmente su cuenta de usuario (useradd o adduser según la distribución), otorgar sudo (sudo grupo o sudoers) y crear /etc/wsl.conf
con [user]
la sección y default=yourlogin
- consulteconfiguración wsldocumentación. En mi caso, <distribution> config --default-user yourlogin
no tuvo ningún efecto.
En caso de corte definitivo, la única opción parece ejecutar la siguiente secuencia de:
wsl --export <distribution> wsl-backup-<distribution>.tar
wsl --unregister <distribution>
choco install wsl-<distribution>
wsl --import <distribution> wsl-backup-<distribution>.tar
Con suerte, tus problemas no te seguirán con los archivos importados.
Respuesta3
Advertencia:La siguiente información no está documentada en su totalidad oficialmente porque la pregunta trata sobre la "instalación manual" de la distribución en WSL. Por lo tanto el procedimiento puede serun poco diferenteen futuras versiones de Windows 10.
Para entenderlo primero necesitamos saber cuál es la diferencia entre instalar la distribución a través de la Tienda Windows y manualmente. Piense en la Tienda Windows como un administrador de paquetes en Windows. Supervisa todos los paquetes instalados, desinstalados, actualizados, etc. Entonces, hay una lista de aplicaciones instaladas en el menú Configuración. Cuando se instala la distribución, viene como un paquete Appx (archivo ZIP). Ese paquete contiene un tarball rootfs (archivo tar GZIP) de esa distribución (ejemplo install.tar.gz
), un ejecutable de inicio (ejemplo ubuntu.exe
) y algunas otras cosas.
Cuando ese iniciador se ejecuta por primera vez, extrae el archivo tar (como tar -xf
el comando) y realiza una entrada de registro en HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{GUID}
la clave de registro. Esta clave de registro es importante y proporciona dónde está instalada la distribución, el usuario predeterminado, etc.
Cuando la distribución está instalada.a manose crea esta misma clave de registro pero con ruta base diferente y otras. Como este procedimiento manual no viene a través de la Tienda Windows, no aparece en la aplicación Configuración. Pero wsl.exe --list --all
el comando puede mostrar toda la distribución instalada en WSL. De esta manera, no obtenemos el ejecutable del iniciador, pero podemos hacer todo con wsl.exe
.
¿Cómo podemos restablecernos del 'mal estado'? Si está familiarizado con el mundo UNIX, asuma distribuciones en WSL como enentorno chroot. Siemprehacer una copia de seguridad de una distribución WSL. Como es habitual en las distribuciones reales basadas en Debian, generalmente ejecutamos estos comandos para reparar paquetes:
sudo dpkg –configure -a
sudo apt update –fix-missing
sudo apt install -f
Si no pueden solucionar el problema, la desinstalación y la reinstalación pueden solucionarlo. Es posible que desee hacer una copia de seguridad de la /home
carpeta tar -czf
porque la mayoría de las configuraciones específicas del usuario se guardan allí. Luego desinstale la distribución con wsl.exe --unregister <Distribution Name>
el comando. La copia de seguridad puede ser importante para los usuarios porque el comando anterior elimina toda la carpeta raíz, también conocida como. /
. Ahora puede instalar una nueva distribución y extraer la /home
carpeta de copia de seguridad anterior tar -xf
como de costumbre.
Respuesta4
Prueba esto:
wsl --set-default-version 2
También puede configurar la versión de wsl para cualquier distributivo instalado:
wsl --set-version Ubuntu-20.04 1