Ubuntu unter Windows neu starten, ohne Windows neu zu starten?

Ubuntu unter Windows neu starten, ohne Windows neu zu starten?

Ist es möglich, das Ubuntu-Subsystem neu zu starten, ohne mein System neu zu starten?

Ich habe versucht, den Befehl nach der Installation einiger Updates zu verwenden shutdown, aber das scheint hier keine Option zu sein.

WSL. Neustart erforderlich. System kann nicht heruntergefahren werden

Der Screenshot-Text:

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

Antwort1

Sie können eine Distribution nicht mit einem einzigen Befehl neu starten. Sie müssen die Distribution mit zwei Befehlen herunterfahren und neu starten. Wenn Siewsl.exeanstelle von wsl, dann funktioniert es sowohl in WSL Bash als auch in CMD.

Sehen Sie sich die Liste der Distributionen und ihren aktuellen Status an:

wsl.exe -l -v

Alles herunterfahren: Build 18917+

wsl.exe --shutdown

Beenden Sie eine bestimmte Distribution: Windows 1903+

wsl.exe -t <DistroName>

Starten Sie die Standarddistribution (mit *) gekennzeichnet:

wsl.exe

Starten Sie eine bestimmte Distribution:

wsl.exe -d <DistroName>

ältere Versionen

# PowerShell (admin)
Restart-Service LxssManager

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

Bildbeschreibung hier eingeben

Antwort2

An einer administrativen PowerShell-Eingabeaufforderung:Restart-Service LxssManager

Antwort3

Seit Windows 10, Version 1803, werden Hintergrundprozesse standardmäßig nicht mehr beendet, wenn alle WSL-Terminalfenster geschlossen werden, es sei denn, die Datei /var/run/reboot-requiredist vorhanden. Diese Datei wird unter Ubuntu automatisch von apt erstellt, wenn ein Update einen Neustart erfordert. Wenn Sie das Subsystem jedoch manuell neu starten möchten, können Sie die Datei selbst erstellen:

sudo touch /var/run/reboot-required

Ich habe dies nicht auf anderen im Microsoft Store verfügbaren Distributionen getestet. Eine alternative Lösung besteht darin, alle Prozesse selbst zu beenden:

sudo killall -r '.*'

Antwort4

Das Folgende ermöglicht ein Herunterfahren innerhalb von WSL2 mithilfe des Befehls wslreboot(oder eines beliebigen benutzerdefinierten Befehls).

Technisch, wslshutdownwäre für den folgenden Code passender:

Alias ​​erstellen:

sudo nano ~/.bash_aliases

Zeile hinzufügen:

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

history -astellt sicher, dass der Bash-Befehlsverlauf vor dem Herunterfahren gespeichert wird.

Alias ​​aktivieren:

WSL neu starten

cmd.exe /C wsl --shutdown

oder Typ

source .bash_aliases

Verwenden

Jetzt können Sie tippen

wslreboot  

Herunterfahren


Ich denke, Sie könnten eine Variante des oben genannten verwenden, um eine Batchdatei mit den folgenden Zeilen auszuführen:

wsl --shutdown
wsl

für einen ordnungsgemäßen Neustart.

verwandte Informationen