![](https://e-seventh.s3.amazonaws.com/wp-content/uploads/2023/08/27201745/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2023-08-27-201657.png)
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
コマンドライン引数にディストロ名とバージョンを指定します。バージョンアップは数分ほどで完了します。
ディスカッション
コメント一覧
まだ、コメントがありません