Windows を再起動せずに Windows 上で Ubuntu を再起動しますか?

Windows を再起動せずに Windows 上で Ubuntu を再起動しますか?

システムを再起動せずに Ubuntu サブシステムを再起動することは可能ですか?

いくつかのアップデートをインストールした後にコマンドを使用しようとしましたshutdownが、ここではそのオプションがないようです。

WSL。再起動が必要です。システムをシャットダウンできません

スクリーンショットのテキスト:

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

答え1

ディストリビューションを1つのコマンドで再起動することはできません。2つのコマンドでディストリビューションをシャットダウンして起動する必要があります。wsl.exeの代わりにwsl、WSL Bash と CMD の両方で動作します。

ディストリビューションのリストと現在の状態を表示します。

wsl.exe -l -v

すべてをシャットダウンします: Build 18917+

wsl.exe --shutdown

特定のディストリビューションを終了します。 Windows 1903+

wsl.exe -t <DistroName>

デフォルトのディストリビューションを起動します ( でマークされています*)。

wsl.exe

特定のディストリビューションを起動します。

wsl.exe -d <DistroName>

旧バージョン

# PowerShell (admin)
Restart-Service LxssManager

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

ここに画像の説明を入力してください

答え2

管理 PowerShell プロンプトで:Restart-Service LxssManager

答え3

Windows 10 バージョン 1803 以降では、ファイルが/var/run/reboot-required存在しない限り、すべての WSL ターミナル ウィンドウを閉じても、バックグラウンド プロセスはデフォルトで終了しません。このファイルは、更新で再起動が必要な場合に Ubuntu 上の apt によって自動的に作成されますが、サブシステムを手動で再起動する場合は、自分でファイルを作成できます。

sudo touch /var/run/reboot-required

Microsoft Store で入手可能な他のディストリビューションではこれをテストしていません。別の解決策としては、すべてのプロセスを自分で強制終了することです。

sudo killall -r '.*'

答え4

以下は、コマンド wslreboot(または任意のカスタム コマンド) を使用して WSL2 内からシャットダウンできるようにします。

技術的にはは、wslshutdown以下のコードの方が適切です。

エイリアスを作成:

sudo nano ~/.bash_aliases

行を追加:

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

history -aシャットダウン前に bash コマンド履歴が保存されるようにします。

エイリアスを有効にする:

WSLを再起動する

cmd.exe /C wsl --shutdown

または入力

source .bash_aliases

使用

今入力できます

wslreboot  

閉鎖すること


上記のバリエーションを使用して、次の行を含むバッチ ファイルを実行できると思います。

wsl --shutdown
wsl

適切な再起動のために。

関連情報