【朗報】ついにWindows Server 2022で「WSL 2」が動くようになったよ!――インストール方法を詳細解説:山市良のうぃんどうず日記(234)
これまでWindows Server 2022では利用できなかった、本物のLinuxカーネルベースで動く「WSL 2」が、ユーザーからのフィードバックに応える形で、2022年6月の累積更新プログラム(Bリリース)で利用可能になりました。
WSLとWindows Serverの関係は?
「Linux用Windowsサブシステム(Windows Subsystem for Linux、WSL)」は、Linuxバイナリを実行可能なLinuxのシェル環境をWindows上で提供する「Windows 10」からの機能です。Windows 10 バージョン2004以降(バージョン1903と1909にもバックポート)と「Windows 11」では、本物のLinuxカーネルをベースにした「WSL 2」が利用可能です(WSL 2に対して、従来のエミュレーション環境は「WSL 1」)。
以下の連載記事でも、Windows Serverの半期チャネル(SAC)バージョン2004では、実はWSL 2が利用できていました。
- 「Windows×OpenSSH×WSL 2=ほぼほぼネイティブなLinux」に見えてしまう、の作り方(連載:その知識、ホントに正しい? Windowsにまつわる都市伝説 第164回)
しかし、WSL 1およびWSL 2の簡単セットアップ機能を盛り込むために更新された「wsl.exe」の影響からか、Windows ServerではWSL 2を利用できなくなりました。
Windows Serverで既定のバージョンをWSL 2に変更したり(「wsl --set-default-version 2」コマンド)、WSL 1で導入済みのLinuxディストリビューションをWSL 2に変換したり(「wsl --set-version <ディストリビューション> 2」コマンド)しようとしても、wsl.exeが正しいパラメーターとして認識してくれないのです。この問題は、最新の「Windows Server 2022」でも続いていました(画面1)。
画面1 Windows Server 2022ではwsl.exeツールがWSL 2を有効なバージョンと認識せずに、オンラインヘルプを表示するだけ(最初はWindows Server SAC バージョン2004でWSL 2を利用できていたが、その後の更新で同様の状況に)
2022年5月のオプションの更新プログラム(Cリリース、KB5014021)の提供に合わせ、以下のフィードバックに応える形で、6月からWindows Server 2022でもWSL 2が利用できるようになったことが明らかにされました。実際にWSL 2で「Ubuntu」が動いている様子が画面2です。ただし、5月のCリリースと6月のBリリース、どちらのリリース情報にもそのことには一切触れられていません。
- How to enable wsl 2 on windows server 2022 ver 20329?[英語](Microsoft Tech Community)
なお、Windows 11からWSL 2のLinux環境で利用可能になった「WSLg」のGUIサポート(Xアプリの実行)は、Windows Server 2022では利用できませんでした。Windows Server 2022は「ビルド20348」で、以下にGitHub書いてあるWSLgの最小要件「ビルド22000(つまりWindows 11)以降」を満たしていないので当然と言えば当然です。
- microsoft/wslg[英語](GitHub)
Windows Server 2022にLinuxサブシステムをインストールする方法(勝手に改訂版)
Microsoftは、以下の公式ドキュメントでWindows ServerへのWSL 1のインストール手順を説明していますが、これは「Windows Server 2019」とWindows Server SACの古いバージョン(※Windows Server SACバージョンは20H2を最後に、「2022年8月9日」で完全に廃止されます)を対象とした古い手順です。
- Windows ServerにLinuxサブシステムをインストールする(Microsoft Docs)
コマンドプロンプト(またはPowerShellウィンドウ)を管理者として開き、以下のコマンドを実行します。途中再起動が要求され、再起動後に自動的にインストールが再開されるので、指示に従ってLinuxディストリビューション用の「ユーザー名」や「パスワード」を入力します。Linuxディストリビューションを指定しなかった場合は、Ubuntuが既定で選択されます。
wsl --install(またはwsl --install -d <Linuxディストリビューション>)
途中、再起動や対話入力が必要ですが、このコマンド1つだけで、WSL 1のLinuxシェル環境がインストールされます(画面3)。
ここでいったん、以下のコマンドでWSL 1のLinuxを終了します。なお、ここまでの手順は2022年6月のBリリース(または5月のCリリース)以前でも構いません。これ以降の手順は、「2022年6月のBリリース(または5月のCリリース)以降」に更新後に行ってください。
wsl --terminate <Linuxディストリビューション>
次のコマンドを実行して、WSL 2の設定を試みてください。「https://aka.ms/wsl2kernel」のURLが示されるので、このURLをブラウザで開き、MSIパッケージ「x64マシン用WSL 2 Linuxカーネル更新プログラムパッケージ」をダウンロードしてインストールします(画面4)。
wsl --set-verson <Linuxディストリビューション> 2
Linuxカーネル更新プログラムパッケージをインストールしたら、先ほどのコマンド(「wsl --set-version <ディストリビューション> 2」コマンド)でインストール済みのLinuxディストリビューションを変換すればよいのですが、筆者の環境では数時間待っても変換が終わりませんでした。しかも、CPUやメモリ、ディスクI/Oを見ても変換のために何か仕事をしているようにも見えません。プロンプトが戻ってこず、[Ctrl]+[C]キーでも中断できなかったので、結局そのままOSを再起動して諦めました。
インストール済みのLinuxディストリビューションを変換する方法はお勧めしません。次の方法で進めると、あっという間にWSL 2のLinuxが出来上がります(前出の画面2参照)。
wsl --set-default-versio 2 wsl --unregister <Linxuディストリビューション> wsl wsl --install -d <Linxuディストリビューション>
これは、Windows Server 2022の「デスクトップエクスペリエンス」インストールの場合の成功手順です。
「Server Core」インストールの場合はどうかというと、コンポーネント(仮想マシンプラットフォームとWSL)のインストールまでは進みます。その後、デスクトップエクスペリエンスでは手動で行う必要があった、Linuxカーネル更新コンポーネントのインストールまではそのまま進むのですが、エラーで失敗します。再起動してもインストールは続行されませんでしたが、手動でLinuxカーネル更新コンポーネントをインストールすることまではできました。
しかし、Linuxディストリビューションのインストールは「wsl --install」コマンドでも手動(Add-AppxPackageを使用した旧手順)でもエラーとなり、新旧どちらの手順でもインストールを成功させることはできませんでした。
Windows Server 2022のRTM(Release To Manufacturing)ビルドを新規インストールして試してみましたが、もともとLinuxディストリビューションのインストールはエラー(0x80040154)で失敗するようです。Windows 11でセットアップ済みのLinuxディストリビューションをエクスポートし、それをWSL 2を既定に設定したServer Coreインストール環境(Linuxカーネル更新コンポーネントを手動でインストール)にインポートしてみたところ、WSL 2でLinuxディストリビューションを動かすことに成功しました(画面6)。
wsl --export <Linuxディストリビューション> <エクスポート先ファイル名.tar> wsl --import <Linuxディストリビューション> <インポート先パス> <エクスポートファイル名.tar>
筆者の手順は、Windows Server 2022でWSL 2が利用可能になったことが明らかになった直後に試行錯誤の末、編み出した手順ですが、2022年6月のBリリース(または5月のCリリース)より前にWSLをインストールしていた場合にも対応できるはずです。
WSL 1/WSL2を新規導入する場合は、以下の公式ブログで説明されているように、手動でWSLの機能とLinuxカーネル更新プログラムをインストール後、「wsl --install」コマンドを実行する方が、最短でWSL 2を導入できると思います。
- WSL2 now available on Windows Server 2022[英語](Microsoft Tech Community)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 11登場! 11で変わること、思ったほど変わらないこと
新しいWindows OS「Windows 11」の正式出荷が2021年10月5日に開始された。Windows 10からの無償アップグレードが可能であるため、どのような新機能が実装されたのか気になる人も多いのではないだろうか。そこで、本稿ではWindows 11の新機能、削除された機能などを簡単にまとめてみた。 - Windows 11一般提供開始、企業での導入/展開時に注意すべきポイントは?
MicrosoftはWindowsデスクトップOSの最新バージョンである「Windows 11」を正式にリリースし、Windows 11対応ハードウェアを搭載したWindows 10デバイスに対して、無料アップグレードの段階的なロールアウトを開始しました。 - 買って、試して分かったWindows 365(契約・セットアップ編)
Microsoftからクラウド上でWindows 10が動く「クラウドPC」の利用可能なサブスクリプションサービス「Windows 365」の提供が開始された。早速、サブスクリプションを契約し、クラウドPCの設定を行ってみた。契約からセットアップまでで見えてきた便利な点、不便な点などをまとめてみた。 - いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール
長らくWindows OSに標準装備されてきたInternet Explorer(IE)。その「寿命」は各種サポートの終了時期に左右される。Windows OSごとにIEのサポート終了時期を分かりやすく図示しつつ、見えてきた「終わり」について解説する。