¿Reiniciar Ubuntu en Windows sin reiniciar Windows?

¿Reiniciar Ubuntu en Windows sin reiniciar Windows?

¿Es posible reiniciar el subsistema Ubuntu sin reiniciar mi sistema?

Intenté usar el shutdowncomando después de instalar algunas actualizaciones, pero esa no parece ser una opción aquí.

WSL. Reinicio requerido. No se puede apagar el sistema

El texto de la captura de pantalla:

~$ bin/rcheck.sh
Reboot required.
~$ sudo shutdown -r now
shutdown: Unable to shutdown system

Respuesta1

No puedes reiniciar una distribución con un solo comando. Debes apagar e iniciar la distribución con dos comandos. Si tu correswsl.exeen lugar de wsl, entonces funciona tanto en WSL Bash como en CMD.

Vea la lista de distribuciones y su estado actual:

wsl.exe -l -v

Apagar todo: Build 18917+

wsl.exe --shutdown

Terminar una distribución específica: Windows 1903+

wsl.exe -t <DistroName>

Inicie la distribución predeterminada (marcada con *):

wsl.exe

Inicie una distribución específica:

wsl.exe -d <DistroName>

versiones anteriores

# PowerShell (admin)
Restart-Service LxssManager

# or CMD (admin)
net stop LxssManager
net start LxssManager

ingrese la descripción de la imagen aquí

Respuesta2

En un mensaje administrativo de PowerShell:Restart-Service LxssManager

Respuesta3

Desde Windows 10 versión 1803, cerrar todas las ventanas del terminal WSL no eliminará los procesos en segundo plano de forma predeterminada, a menos que el archivo /var/run/reboot-requiredesté presente. Este archivo será creado automáticamente por apt en Ubuntu cuando una actualización requiera un reinicio, pero si desea reiniciar manualmente el subsistema, puede crear el archivo usted mismo:

sudo touch /var/run/reboot-required

No he probado esto en otras distribuciones disponibles en Microsoft Store. Una solución alternativa es eliminar todos los procesos usted mismo:

sudo killall -r '.*'

Respuesta4

Lo siguiente permite un apagado desde WSL2 usando el comando wslreboot(o cualquier comando personalizado).

Técnicamente, wslshutdownsería más apropiado para el siguiente código:

Crear alias:

sudo nano ~/.bash_aliases

Añadir línea:

alias wslreboot='history -a && cmd.exe /C wsl --shutdown'

history -agarantiza que el historial del comando bash se guarde antes del apagado.

Habilitar alias:

Reiniciar WSL

cmd.exe /C wsl --shutdown

o tipo

source .bash_aliases

Usar

ahora puedes escribir

wslreboot  

para desconectar


Estoy pensando que podrías usar una variación de lo anterior para ejecutar un archivo por lotes con las líneas:

wsl --shutdown
wsl

para un reinicio adecuado.

información relacionada