Windows10 2004(20H1) で WSL1から WSL2 へのアップデート

Windows10 を 2004(20H1) にバージョンアップしたので、WSL2(Windows Subsystem for Linux 2) はどうなった?
という事で WSL2 のファーストインプレッション.....と行きたいのですが、意外と難物でした。





前回のハマリ記事

Windows10 1903 から 2004、ISOでアップデート

ためになった記事

「WSL 2」へのバージョンアップでLinux互換環境はどう変わるのか?

PowerShell で次のコマンドを実行します。

PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

このコマンドは、Windows の"役割" の有効/無効を設定してくれるコマンドですね。

WSL2 does not changes state from Stopped to Running #5406

※ このブログより上の文書が詳しいじゃないか...このコマンドを実行した後、再起動が必要です(敗因)

WSL コマンドでバージョンを確認してみたら、これだけでは不十分な模様です。インストール済の openSUSE Leap 15.1 のバージョンが”1”のままです。

C:\>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Running         1

C:\>
C:\>wsl --set-version openSUSE-Leap-15-1 2
変換中です。この処理には数分かかることがあります...
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。
詳細については https://aka.ms/wsl2kernel を参照してください

と言われたので、こちらから wsl カーネル update ツールをダウンロードします。


wsl_update_x64.msi を実行して、ウィザードに従ってカーネルアップデートしました。

Windows10  2004(20H1) で WSL1から WSL2 へのアップデート_a0056607_14140509.png


C:\>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Running         1

これでもダメです。こちらに

Windows 10 用 Windows Subsystem for Linux のインストール ガイド

"wsl --set-version <distribution name> <versionNumber>
<distribution name> は、お使いのディストリビューションの実際の名前に必ず置き換えてください。<versionNumber> は、数字の "1" または "2" に置き換えてください。 上記と同じコマンドで "2" を "1" に置き換えて実行することにより、いつでも WSL 1 に戻すことができます。
また、WSL 2 を既定のアーキテクチャにする場合は、次のコマンドを使用して実行できます。
PowerShell
wsl --set-default-version 2
これにより、インストールされるすべての新しいディストリビューションのバージョンが WSL 2 に設定されます。"

とあるので、 wsl のバージョンを Version 2 に変換します。

C:\>wsl --set-version openSUSE-Leap-15-1 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

bssdtarというプロセスがヘビーに実行中で、変換には「数分」ではなく30分くらいかかりました。当然、変換中は WSL は起動できません。

C:\Users\myme >wsl
このディストリビューションのインストール、アンインストール、
または変換が進行中です。

当然、変換中は、 openSUSE Leap のアイコンをキックしても立ち上がらない。
変換が終わっても、wsl が起動できない。

- 切羽詰まって再起動 -

「変換が完了しました」と言うのでバージョンを確認してみます。

C:\Users\myme>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Stopped         2


ちゃんと Version 2 になっていた。が....

C:\Users\myme>wsl
Linux 用 Windows サブシステム インスタンスが強制終了されました。

<-- 変換直後は起動に失敗

- 落ち着いてから、結局再起動(The Last Resort: Reboot)-

困った事があれば再起動するのが Windows です。再起動しました。

C:\Users\myme>wsl
myme@goblin:/mnt/c/Users/myme > cat /etc/os-release
NAME="openSUSE Leap"
VERSION="15.1 "
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.1"
PRETTY_NAME="openSUSE Leap 15.1"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.1"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
myme@goblin:/mnt/c/Users/myme>

動いた....

 Windows10 の再起動は、精神衛生に良くないんだが..





他に読んでおくべき文書

Windows 10 用 Windows Subsystem for Linux のインストール ガイド

更にオチが続きます。GUIアプリケーションが X Server で動かない....

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)




by islandcenter | 2020-06-20 14:57 | Windows | Comments(0)