7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2変換時に「必要な機能がインストールされていないため、操作を開始できませんでした。」と出た場合の対処方法

Posted at

はじめに

Windows10 may 2020 update(バージョン 2004 (OS ビルド 1904.329))から搭載されたWSL2(windows subsystem for linux 2)を導入した際に、WSL1 -> WSL2 の変換が上手くできなかった事象に対応した内容になります。

Windows10 may 2020 update(バージョン 2004 (OS ビルド 1904.329))が配信されてから、既に致命的な不具合がいくつか報告[日本語版不具合List]されていますが、updateの目玉としてWSL2が正式に対応しています。

WSL2ではアーキテクチャの変更により劇的にファイルシステムのパフォーマンスが向上しているらしく、ファイルI/O速度がWSL1と比較して最大20倍に速度の向上が見込める事(測った事はないorz)や、LinuxのシステムコールについてもWSL1ではNTカーネル上で実行するための変換層を利用していたのに対し、WSL2では完全なシステムコールの互換が確保されるなど、docker使いには非常に魅力的なUpdateになっています。

本内容は、真っ先にWindows10 may 2020 updateに適用。WSL2(windows subsystem for linux 2)を導入した際に、
WSL1 -> WSL2 の変換が上手くできなかった事象に対応した内容になります。

不具合内容

wsl --set-version で、WSL2変換時の対処に困る、このエラー....。

_人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人_
> 必要な機能がインストールされていないため、操作を開始できませんでした。 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y  ̄

image.png

対応方法

Google先生に聞いてみたもの日本語のエラー内容では、なかなか出てこない!
最終的には、
「The operation could not be started because a required feature is not installed」
の文字検索で、解決策が見つかりました(まんまやん)。

以下に日本語のUIでの対応方法を記載しました。

Exploit protectionの設定を開く

キーボードのimage.pngを押して
Exploit protection」と入力して、「Exploit protection」を実行します。

image.png

「プログラム設定」タブを選択
image.png

「プログラムを追加してカスタマイズ」の左側のimage.png
をクリック。
「正確なファイル パスを選択してください」をクリック。
image.png

Hyper-Vホストコンピューティングサービス(HCS)[vmcompute.exe]と、仮想マシンワーカープロセス[仮想マシンワーカープロセス.exe]の登録

Hyper-Vホストコンピューティングサービス(HCS)[vmcompute.exe]の登録

C:\WINDOWS\System32\vmcompute.exe

をフルパスで設定。
設定画面にて「制御フローガード(CFG)」の「システム設定の上書き」のチェックを外して、「適用」をクリックします。
image.png

仮想マシンワーカープロセス[仮想マシンワーカープロセス.exe]の登録

C:\WINDOWS\System32\vmwp.exe

をフルパスで設定。
設定画面にて「制御フローガード(CFG)」の「システム設定の上書き」のチェックを外して、「適用」をクリックします。
image.png

Hyper-Vホストコンピューティングサービス(HCS)の再起動

PowerShellを管理者権限で開き以下のコマンドを実行させます。
vmcomputeが起動しHyper-Vマシンが正常に動作してくれます。

net start vmcompute

image.png

WSL2への変換

改めて、wsl --set-versionで変換してみましょう。
今度は、「変換が正常に完了しました。」となり正常に変換が完了するはずです!

image.png

最後に

自分の他の開発環境PCでは、こんな不具合が発生しなかったので「Windows機能設定間違ってない?」とか、「BIOSのHyper-Vが有効になってない?」とか色々調べたり、Windowsの再起動を繰り返したりで、時間がかかってしまったので、同じ不具合に遭遇した人の解決の時間短縮の資料になれば幸いです。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?