はじめに
前回の記事で、MT7922 搭載機で WSL2 が遅い問題を WSL1 に切り替えて回避しました。
今回、ドライバのダウングレードで WSL2 のまま解決できたので共有します。
原因
MT7922 ドライバの 3.4.x 以降に、Hyper-V 仮想ネットワークとの相互作用にリグレッションがあるようです。
Reddit の WSL2 が遅くなる問題のスレッド で、同じ MT7922 での報告を発見しました。
- WSL2 は Hyper-V の仮想スイッチ(vEthernet)を経由するため直撃する
- Windows 側は物理 NIC を直接使うため影響なし
- WSL1 は Windows のネットワークスタックを共有するため影響なし
ドライババージョンと WSL2 の動作状況
| バージョン | リリース日 | WSL2 |
|---|---|---|
| 3.3.0.1030 | 2024/05/10 | ✅ 問題なし |
| 3.4.0.1304 | 2025/06/30 | ❌ 問題あり |
| 3.4.0.1329 | 2025/08/05 | ❌ |
| 3.5.0.1349 | 2025/09/22 | ❌ |
| 3.5.0.1356 | 2025/10/27 | ❌ |
解決手順
1. ドライバ 3.3.0.1030 を入手
Microsoft Update Catalog で以下を検索:
- UpdateID:
2c94f83b-7810-4ea3-8c51-eda28e4dc771 - または「MediaTek Wi-Fi 6E MT7922」で検索し、バージョン 3.3.0.1030 を選択
ダウンロードした .cab を展開し、mtkwl6ex.inf を確認。
2. ドライバをインストール
- デバイスマネージャーを開く
- 「ネットワーク アダプター」→「MediaTek Wi-Fi 6E MT7922」を右クリック
- 「ドライバーの更新」→「コンピューターを参照してドライバーを検索」
- 「コンピューター上の利用可能なドライバーの一覧から選択」
- 「ディスク使用」→ 展開した
mtkwl6ex.infを指定 - インストール完了後、Wi-Fi が再接続されることを確認
確認:
Get-NetAdapter | Where-Object { $_.InterfaceDescription -like '*MT7922*' } |
Select-Object Name, Status, LinkSpeed, DriverVersion
DriverVersion が 3.3.0.1030 になっていれば OK。
3. Windows Update による自動更新をブロック
放っておくと Windows Update でドライバが元に戻ります。
Windows 11 Pro の場合: gpedit.msc で設定可能。
Windows 11 Home の場合: gpedit が使えないため、レジストリで設定。
# 管理者権限の PowerShell で実行
$path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions"
New-Item -Path $path -Force
Set-ItemProperty -Path $path -Name "DenyDeviceIDs" -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name "DenyDeviceIDsRetroactive" -Value 0 -Type DWord
$idsPath = "$path\DenyDeviceIDs"
New-Item -Path $idsPath -Force
Set-ItemProperty -Path $idsPath -Name "1" -Value <あなたのハードウェアID> -Type String
ハードウェア ID は環境によって異なります。
デバイスマネージャーの「詳細」タブ →「ハードウェア ID」で確認してください。
実行前にシステムの復元ポイントの作成やレジストリのバックアップを推奨します。
結果
ドライバ 3.3.0.1030 + WSL2 でテストした結果、WSL1 と遜色ないパフォーマンスが出るようになりました。
MT7922 搭載機で WSL2 が遅い場合、ドライバ 3.3.0.1030 へのダウングレードを試してみてください。