2.

WslRegisterDistribution failed with error: 0x800701bc

編集
この記事の要点
  • WSL2 ディストリビューション起動時の 「WslRegisterDistribution failed with error: 0x800701bc」 は WSL2 Linux カーネルが古い / 未インストールが原因
  • 対処の最短: 管理者 PowerShell で wsl --update
  • 効かない場合は Microsoft 公式から wsl_update_x64.msi を手動ダウンロードしてインストール
  • 前提条件: Windows 10 バージョン 2004 (Build 19041) 以上 + 仮想マシン プラットフォーム機能有効 + BIOS で仮想化 ON
  • wsl --set-default-version 2 でデフォルトを WSL2 に設定、再起動後 wsl --status で確認

このエラーの概要

Ubuntu / Debian 等の WSL2 ディストリビューションを初回起動するとき、次のメッセージが出ます:

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???? ?????? ??????????????????????????????????
????????????????????, ????? https://aka.ms/wsl2kernel ???????

Press any key to continue...

原因はほぼ 1 つで 「WSL2 Linux カーネルがインストールされていない、または古い」。WSL2 はディストリビューション本体とは別に、軽量 Linux カーネルが必要で、Windows Update では自動で入らない時期があります。

前提条件のチェック

項目確認方法
Windows バージョンwinver で確認 → Build 19041 以上必須
仮想化 (BIOS)タスクマネージャ → パフォーマンス → CPU → 「仮想化: 有効」
仮想マシン プラットフォームoptionalfeatures で「仮想マシン プラットフォーム」ON
WSL 機能optionalfeatures で「Linux 用 Windows サブシステム」ON

対処 1: wsl --update(最短)

Windows 10 21H2 以降 / Windows 11 では wsl コマンド自体に更新機能があります:

# 管理者 PowerShell
wsl --update

# 強制更新(既に最新でも実行)
wsl --update --pre-release

# 状態確認
wsl --status
# 既定のバージョン: 2
# 既定のディストリビューション: Ubuntu-22.04
# Kernel version: 5.15.x ...

wsl --update でカーネルが更新されたら、PC を再起動 してからディストリビューションをもう一度起動します。

対処 2: 手動でカーネル MSI をインストール

古い Windows / コマンドが効かない場合は、Microsoft 公式の MSI を直接インストールします:

  1. ブラウザで aka.ms/wsl2kernel へアクセス
  2. 「最新の WSL 2 Linux カーネル更新パッケージ」リンクから wsl_update_x64.msi をダウンロード
  3. ダウンロードした MSI を管理者として実行
  4. インストール完了後、PC 再起動
  5. wsl --set-default-version 2 でデフォルトを WSL2 に
  6. ディストリビューションを起動
# 既存ディストリビューションを WSL2 に変換
wsl --list --verbose
wsl --set-version Ubuntu-22.04 2

# 新しくインストール(既定で WSL2 になる)
wsl --install -d Ubuntu-22.04

# WSL バージョン確認
wsl --version
# WSL バージョン: 2.0.x
# カーネル バージョン: 5.15.x
# Windows バージョン: 10.0.22631

対処 3: 機能の再有効化

仮想マシン プラットフォーム / WSL 機能が中途半端な状態だと、カーネル更新が反映されません。一度オフ → 再起動 → オンで直ることがあります:

# 管理者 PowerShell

# 一旦無効化
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
Restart-Computer

# 再起動後、再度有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Restart-Computer

# WSL 更新
wsl --update

対処 4: BIOS で仮想化が ON か再確認

カーネル自体は入っていても、BIOS で仮想化 OFF だと 0x800701bc とは別のエラーが続発します。タスクマネージャ → パフォーマンス → CPU で「仮想化: 有効」が出ているか確認。出ていなければ BIOS 設定:

  • Intel CPU: BIOS の Advanced → CPU Configuration → Intel Virtualization Technology (VT-x) を Enabled
  • AMD CPU: BIOS の Advanced → CPU Configuration → SVM Mode を Enabled
  • Surface 等は UEFI ファームウェア画面から有効化

対処 5: Hyper-V との競合(一部環境)

# Hyper-V がインストール済か
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

# hypervisorlaunchtype が Off になっていると WSL2 も動かない
bcdedit /enum {current} | findstr hypervisorlaunchtype

# Auto に設定
bcdedit /set hypervisorlaunchtype Auto
shutdown /r /t 0

関連する WSL エラーコード

エラー意味対処
0x800701bcWSL2 カーネル未更新wsl --update
0x80370102仮想化未有効BIOS + 仮想マシン プラットフォーム
0x80370114同上BIOS + 機能有効化
0x8007019eWSL 機能未有効optionalfeatures で有効化
0x80004005不明エラーイベントビューアで詳細確認

確認コマンドまとめ

# Windows バージョン
winver
[System.Environment]::OSVersion

# WSL 全般
wsl --version
wsl --status
wsl --list --verbose
wsl --list --online

# 仮想化機能
Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

# CPU 仮想化サポート
systeminfo | findstr /C:"Hyper-V"

FAQ

Q: wsl --update でカーネル更新パッケージが見つからない
A: Windows Update のサーバ接続不可、社内プロキシ環境などが原因。手動 MSI(対処 2)が確実です。

Q: 直った直後にまた同じエラー
A: Windows Update でカーネルが差し戻された可能性。wsl --update を再実行 / カーネル MSI を入れ直してください。

Q: WSL1 ならエラーが出ない
A: WSL1 は Linux カーネルを使わないため。wsl --set-version Ubuntu 1 で WSL1 にすれば動きますが、Docker / systemd / カーネル機能が必要なら WSL2 必須です。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. Windowsの仮想マシンプラットフォーム機能を有効にして、BIOSで仮想化が有効になっていることを確認してください
  2. WslRegisterDistribution failed with error: 0x800701bc