4.

WSLのよくあるエラー対処|0x80370102・wsl --update・kernel update

編集
この記事の要点
  • 0x80370102: 仮想化未有効。BIOS で VT-x / AMD-V を ON、Windows 機能で「仮想マシン プラットフォーム」有効化
  • installation is incomplete: WSL コンポーネント未インストール。wsl --install
  • WSL 2 requires an update to its kernel: wsl --update または MSI 手動インストール
  • ネットワーク不通: Hyper-V vEthernet IP 競合、Hyper-V Manager で削除 → 再起動
  • ファイル権限: /etc/wsl.conf[automount] options = "metadata,umask=22,fmask=11"

WSL エラー早見表

エラーコード / 症状原因対処
0x80370102仮想化未有効BIOS で VT-x / Windows 機能で VMP
0x8007019eWSL コンポーネント未インストールwsl --install
installation is incompleteWSL 1 → 2 移行未完了カーネル更新
WSL 2 requires an update to its kernelカーネル MSI 未適用wsl --update
0x80004002Hyper-V との競合VMware / VirtualBox 古いと衝突
0x80370114仮想化機能の一部不足VMP + WSL 機能の両方有効化
ネットワーク繋がらないHyper-V vSwitch 競合vEthernet 再生成
systemd not enabledWSL 0.67.6+ 必要wsl.conf に systemd=true
ファイル権限が変metadata 無効wsl.conf に metadata
The attempted operation is not supportedWSL 1 → 2 変換失敗仮想化機能 + カーネル更新

0x80370102 (仮想化未有効)

WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 仮想マシンを起動できませんでした。
仮想マシン プラットフォーム機能を有効にして、BIOS で仮想化が有効になっていることを確認してください。

対処:

  1. BIOS で Intel VT-x / AMD SVM を Enabled に
  2. PowerShell (管理者) で Windows 機能を有効化
# Windows 機能を有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Restart-Computer

# CPU が仮想化対応か確認 (タスクマネージャの「仮想化」項目)
systeminfo | findstr /C:"Hyper-V"
# Virtualization Enabled In Firmware: Yes ← これが Yes 必須

installation is incomplete

The Windows Subsystem for Linux instance has terminated.
Error: 0x8007019e
WSL の installation is incomplete です。

WSL 自体が完全インストールされていないか、ディストロは入ったがカーネルが古い。

# 一括インストール(Windows 10 21H2 / 11 ならこれだけで完了)
wsl --install

# 既存環境の修復
wsl --update
wsl --shutdown
wsl --set-default-version 2

# 既存ディストロを 2 に変換
wsl --list --verbose
wsl --set-version Ubuntu 2

WSL 2 requires an update to its kernel component

WSL 2 requires an update to its kernel component.
For information please visit https://aka.ms/wsl2kernel

対処: コマンドで更新、または公式から MSI を DL してインストール:

# 自動更新
wsl --update

# 手動: 以下からカーネルアップデートパッケージをダウンロード
# https://aka.ms/wsl2kernel
# wsl_update_x64.msi を実行

# 確認
wsl --version

ネットワーク不通(DNS / Apt が動かない)

WSL2 はインストール時に Hyper-V 仮想スイッチを作りますが、VPN / セキュリティソフト / 既存 Hyper-V 設定と競合すると DNS が引けなくなります。

# WSL 内で DNS 確認
cat /etc/resolv.conf
# nameserver 172.x.x.x (Hyper-V 経由)
ping 8.8.8.8
nslookup google.com

# DNS 固定(resolv.conf を上書き)
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "nameserver 1.1.1.1" >> /etc/resolv.conf'

# Windows 側の自動上書きを止める (/etc/wsl.conf)
sudo nano /etc/wsl.conf
# [network]
# generateResolvConf = false
# Windows 側: vEthernet (WSL) を再生成
Get-NetAdapter -Name "vEthernet (WSL)" | Disable-NetAdapter -Confirm:$false
Get-NetAdapter -Name "vEthernet (WSL)" | Enable-NetAdapter

# それでも駄目なら Hyper-V Manager → 仮想スイッチマネージャー → WSL を削除 → wsl --shutdown → wsl で再起動
wsl --shutdown
wsl

ファイル権限が変

Windows 側 (/mnt/c/...) のファイルが全部 0777に見える、chmod が効かない症状:

# /etc/wsl.conf を編集
sudo nano /etc/wsl.conf
# /etc/wsl.conf
[automount]
options = "metadata,umask=22,fmask=11"

[boot]
systemd=true

[interop]
appendWindowsPath = true

[network]
generateResolvConf = true
# 設定反映
wsl --shutdown
wsl

systemd 関連エラー

WSL 0.67.6+ で systemd 対応。systemctl が「Failed to connect to bus」になる場合は有効化が必要:

# /etc/wsl.conf
[boot]
systemd=true
wsl --shutdown
wsl
# 確認
systemctl --version
ps aux | grep systemd

The attempted operation is not supported (WSL1 → WSL2 変換失敗)

# 変換が失敗する場合
wsl --set-version Ubuntu 2
# → ERROR: The attempted operation is not supported for the type of object referenced.

# 対処: 仮想化機能 + カーネル更新後にやり直し
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
Restart-Computer

# 再起動後
wsl --update
wsl --set-version Ubuntu 2

# それでも駄目ならエクスポート → 削除 → インポート
wsl --export Ubuntu C:\backup\ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu C:\WSL\Ubuntu C:\backup\ubuntu.tar --version 2

その他: メモリ使い切る (Vmmem 暴走)

WSL2 はホスト RAM を勝手に大量取得することがある:

# C:\Users\<USER>\.wslconfig(無ければ新規作成)
[wsl2]
memory=8GB           # 上限
processors=4
swap=2GB
localhostForwarding=true
wsl --shutdown
wsl

FAQ

Q: wsl --install が何も起きない
A: Windows Update が古い場合は Microsoft Store 版 WSL の自動 DL が動きません。winget install Microsoft.WSL か手動 DL。

Q: VPN を ON にすると WSL のネットが落ちる
A: VPN クライアントが WSL の NAT を奪う仕様。Cisco AnyConnect では特に頻発。VPN の Split Tunneling 設定で WSL 帯域を除外。

Q: WSL を完全リセットしたい
A: wsl --unregister Ubuntu でディストロ削除 → Microsoft Store から再 DL。重要データは事前 export を。

編集
Post Share
子ページ
  1. Windowsの仮想マシンプラットフォーム機能を有効にして、BIOSで仮想化が有効になっていることを確認してください
  2. WslRegisterDistribution failed with error: 0x800701bc
同階層のページ
  1. WSL1 インストール方法
  2. WSL2のインストール
  3. バージョン確認
  4. エラー一覧 (WSL)

最近更新/作成されたページ