WSLでsystemctlが使えないときに試すこと
こんにちは。今回はWSLでsystemctlが使えないとき、解決するために試すことをご紹介します。
systemctlでエラー
以下のようなエラーが出た場合の解決策になります。
$ systemctl start httpd.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
wsl.confでsystem.dを有効化する
/etc/wsl.confがない場合は作成し、以下の設定を書き込みます。
[boot]
systemd=true
再起動するとsystemctlが使えるようになります。
使えるようにならない場合は、WSLやディストリビューションのバージョンが古く、system.dに対応していない可能性がありますので、さらに以下の可決策を実行してください。
WSLをアップデート
windowsでコマンドプロンプトを開き、次のコマンドでwslをアップデートします。
wsl --update
アップデート後にWSLを起動し、systemctlコマンドが使えるか試してみます。
ディストリビューションのバージョンアップ
ディストリビューションのバージョンが1の場合は2にバージョンアップします。現在のバージョンを確認するには以下のコマンドを使います。windowsのコマンドプロンプトでコマンドを実行します。
wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 1
VERSIONの下に現在のバージョンが表示されます。
バージョンアップするには以下のコマンドです。
wsl --set-version Ubuntu 2
コマンドライン引数にディストロ名とバージョンを指定します。バージョンアップは数分ほどで完了します。
ディスカッション
コメント一覧
まだ、コメントがありません