通常、Ubuntuの停止や再起動はshutdownコマンドやrebootコマンドを使って行うが、WSLで動作するUbuntuではこの方法が使用できない。WSL(正確にはWSL 2)は仮想マシンで動作するLinuxという位置づけだが、そのあたりはちょっとばかり仕組みが異なっている。今回は、WSLで、Ubuntuの起動やシャットダウンを行う方法を紹介しよう。→連載「WindowsでUbuntuをはじめる」のこれまでの回はこちらを参照

WSLではshutdownコマンドやrebootコマンドが動かない(少なくとも本稿執筆時点では)

第12回で、スーパーユーザーの権限が必要なコマンドはsudoコマンドによって実行できることを取り上げた。Ubuntuの終了や再起動の処理はスーパーユーザーの権限が必要だ。そして、そのコマンドはshutdownコマンドやrebootコマンドなので、sudoと組み合わせて実行することで、Ubuntuを停止したり再起動させることができる。

しかし、WSLで動作するUbuntuではこのコマンドが使用できない。試しに、次のようにshutdownコマンドやrebootコマンドを実行すると、エラーとなってコマンドが正常に実行されない。

shutdownコマンドの実行サンプル

daichi@VAIO-SX14:~$ sudo shutdown -h now
[sudo] password for daichi:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.
daichi@VAIO-SX14:~$

rebootコマンドの実行サンプル

daichi@VAIO-SX14:~$ sudo reboot
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.
daichi@VAIO-SX14:~$

Hyper-VやVMware、VirtualBoxといった仮想化アプリケーションでUbuntuを実行していたり、そのほかのハイパーバイザ、またはベアメタルでUbuntuを実行していたりするなら、shutdownコマンドやrebootコマンドでUbuntuの終了・再起動が可能だ。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら