¿Reiniciar Ubuntu en Windows sin reiniciar Windows?

76

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

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

Bash en Windows.  Reinicio requerido.  apagado: no se puede apagar el sistema

Louis
fuente

Respuestas:

101

Apaga todo: Build 18917+

wsl --shutdown

Terminar distribución específica: Windows 1903+

wsl -t <DistroName>

versiones anteriores

# PowerShell (admin)
Restart-Service LxssManager

# CMD (admin)
net stop LxssManager
net start LxssManager

ingrese la descripción de la imagen aquí

samdd
fuente
por qué en netlugar de sc, como en la respuesta de @ llinfeng
Gaia
nettrabajó en cmd (con admin). Acabo de probar que mi archivo bat scno funcionaba en Windows OS Build 1809.
llinfeng
31

Desde Windows 10 versión 1803, cerrar todas las ventanas de terminal WSL no matará 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 matar todos los procesos usted mismo:

sudo killall -r '.*'
nyuszika7h
fuente
¿Sabes lo que puedo hacer para forzar un reinicio requerido? Quiero probar la respuesta para poder aceptarla.
Louis
1
Esto funcionó para mí. Tenía que sudo:sudo killall -r '.*'
F21
@ Louis Veo que ya lo has aceptado, pero puedes hacerlo sudo touch /var/run/reboot-required. De hecho, parece que la presencia del archivo hace que WSL elimine todos los procesos en segundo plano y apague el subsistema cuando todas las ventanas de terminal están cerradas, por lo que también puede abusar de eso.
nyuszika7h
1
killallFuncionó perfectamente para mí. No necesito tocar reboot-required.
Giovanni Bassi
23

En un indicador administrativo de PowerShell: Restart-Service LxssManager

regexaurus
fuente
11
@RajeshS Puede ser breve pero responde la pregunta.
nyuszika7h
Me gusta. Fácil de recordar, se completa automáticamente con la pestaña lo suficientemente bien. Divertido ver qué tan bien Windows consiguió su modelo de servicio desde el principio.
Louis
2
Acabo de recibir esto repetidamenteWARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Chris Snow
Esto funciona a la perfección. Simplemente inicie su PowerShell con derechos de administrador primero.
Erik Kalkoken
10

Simplemente salir del shell con exity reabrir parece hacer el truco.

Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.

Louis@ATHENA:~$ bin/update.sh
[sudo] password for Louis:
The following packages will be upgraded:
  libssl1.0.0 openssl
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libssl1.0.0 amd64 1.0.1f-1ubuntu2.21 [830 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssl amd64 1.0.1f-1ubuntu2.21 [489 kB]
Setting up libssl1.0.0:amd64 (1.0.1f-1ubuntu2.21) ...
Setting up openssl (1.0.1f-1ubuntu2.21) ...
Del libssl1.0.0 1.0.1f-1ubuntu2.20 [830 kB]
Del openssl 1.0.1f-1ubuntu2.20 [489 kB]

Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.

Louis@ATHENA:~$ exec bash -l
Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.

Louis@ATHENA:~$ exit

Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.
Louis@ATHENA:~$
Louis
fuente
55
Esto ya no funciona.
Dakkaron
@Dakkaron: lo hizo cuando se envió la pregunta.
Ramhound
1
Por eso dije "más". La información de que esta publicación está desactualizada es importante, por lo que otras personas que tienen el problema en este momento no necesitan probarlo para descubrir que no funciona. No estoy seguro de cómo se manejan las cosas aquí, pero en Stackoverflow se supone que una respuesta no solo ayuda a la persona que hizo la pregunta, sino también a todos los demás que buscan soluciones para el mismo problema.
Dakkaron
Específicamente, no funciona desde entonces Windows 10 Build 17046. @ Louis, ¿te importaría editar esto en tu respuesta?
Dakkaron el
Funciona para mí en la compilación 17134.
Ian Kemp
7

Simplemente abra una ventana de cmd como administrador y ejecute estos comandos para reiniciarlo.

net stop LxssManager
net start LxssManager
normarth
fuente
1
Agregue algunos segundos entre esos dos comandos. Por ejemplo, timeout /t 3comando (agregar 3 segundos).
Biswapriyo
2
Esto duplica la respuesta de samdd de agosto.
fijador1234
No funciona ... permanece en estado de "detención". cuando intento ejecutarlo nuevamente aparece "El servicio se está iniciando o deteniendo. Inténtalo de nuevo más tarde" ... nunca finaliza. Siempre se cuelga después de ejecutar un comando rsync desde un lote como "bash -c 'rsync ....'". Esto es una pesadilla.
pistolero el
"El servicio LxssManager se está deteniendo ............................................ ............................. No se pudo detener el servicio LxssManager ". : - /
Alex Jansen
4

He creado un *.batarchivo, y al ejecutarlo se reinicia en 10 segundos. (Me sorprende lo rápido que se recargan las cosas. Y, por favor, avise si mi enfoque causará serios problemas a largo plazo).

Coloque las siguientes dos líneas en un WSL_reboot.batarchivo y ejecútelo cada vez que necesite reiniciar el WSL en Windows 10.

net stop LxssManager
net start LxssManager 

Nota de actualización : según mi reciente "actualización" del sistema operativo Windows, a Build 1809 ya no le gusta el sccomando.

Nota al margen: es necesario reiniciar el "núcleo" WSL cuando formatea una unidad con letras a través del Explorador de Windows. Sin embargo, aún no he resuelto el subproducto, donde el lscomando obtendrá el siguiente error. Related-post-from-WSL @ Github ; Related-post-from-the-Stack . Dejaré caer un enlace si logro resolver el error del subproducto

ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng       512 Jan 15 11:00 'System Volume Information'/
...
llinfeng
fuente
por qué en sclugar de net, como en la respuesta de @ samdd
Gaia
1
¿Supongo que netno funcionaba con mi Windows 10 en ese momento? scdebe haber funcionado en ese entonces. Debería haber especificado el número de compilación de Windows.
llinfeng