🗿
WSL2環境でUbuntu起動時エラーメッセージ対処: 実行しようとした操作は、参照したオブジェクトの種類の種類ではサポートされていません。
はじめに
- WindowsへWSL2をインストールし、WSL2上でUbuntu-20.04を起動すると、以下のメッセージが表示されて起動できない。これに対する対処法を記載する。
エラー出力に至る経緯
- この対処に至ったのは、Windows環境でdocker-composeの開発環境を作成する必要があったため。
- WSL1では問題無く起動し、WSL2の場合は該当エラーメッセージが出力されて起動できなかった。よって、WSL2環境下のみの対処となる。
- WSL1からWSL2環境へアップデートしたのは、下記の理由による。
- WSL1環境で起動したubuntuのsystemdがPID1ではなかったため、systemctlコマンドが実行できず、プロセス起動ができないため対処が必要となった。
- 対処のためGenieをインストールしようとして、WSL1未対応であったため、WSL2環境下でのUbuntu-20.04 VM起動に至る。
PS C:\Windows\system32> wsl --set-version Ubuntu-20.04 2
PS C:\Windows\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
対処方法
- アプリケーションでレジストリエディタ起動(regeditで検索して、管理者として起動)
- レジストリエディタ経由で、下記画面のとおり値を追加すれば良い。(値が同じになればOK)
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000
その他
- Windows環境でWSL2経由のVM作成に至るまでは割と大変である。流れ的には以下のとおりになる。
- WSL2インストール
- レジストリ対応(今回の対処)
- ubuntuイメージからWM起動
- 起動したubuntuへGenieインストール
- systemctlコマンドの起動確認
- docker等各種必要なパッケージをインストールし、systemctl経由で起動
- AppId_Catalogの"0408F7A3"が何を指すか、文献を確認したが分からなかった。
Discussion