Microsoftストア版WSLが正式版になり、Windows 10でも動作可能に
ASCII.jp / 2022年11月27日 10時0分
11月22日、Microsoftストアで配布されているWindows Subsystem for Linux(WSL)が正式版となり、Ver.1.0.1となった。このバージョンは、Windows 10にもインストール可能だ。Windows 10でもWindows 11と同じWSLが使えるようになり、Linux GUIアプリケーションも動作する。
また、このバージョンから、WindowsのアップデートとWSLのアップデートは分離され、今後WSLのリリースはMicrosoftストアを経由して実施される。ただし、Windowsに標準搭載のWSLも現時点では残ったままだ。
ここでは、MicrosoftストアからインストールされるWSLを「ストア版」と表記する。従来のWindowsに付属していたWSLは、Windowsのコンポーネントとして搭載されていたので、「コンポーネント版」と表記する。
なお、ストア版とコンポーネント版の違いなどについて、以前の記事で解説している(「Microsoftストア版でプレビューが進められているWSL」)。
Microsoftストア版のWSLのインストール
ストア版のWSLをインストールするには、Windows 10では、バージョン21H1以降で、KB5020030(「2022-11x64ベースシステム用Windows 10 Version 22H2の累積更新プログラム」)がインストールされている必要がある。ほぼ同名の累積更新プログラムが11月8日にも配布されているが、これはその後の11月15日のもので、“x64”の前のスペースが抜けている点が違う。これがインストールされたWindows 10では、OSビルド番号が19043/19044/19044.2311以上になっているはずだ。winver.exeなどで確認ができる。
Windows 11 Ver.22H2(OSビルド22621)では、そのままインストールが可能だが、21H2(OSビルド22000)では、KB5019157(2022-11x64ベースシステム用Windows 11の累積更新プログラム)を導入する必要がある。
KB5019157は通常配布ではないため、「設定」→「Windows Update」のページで「更新プログラムのチェック」ボタンを何回か押して、強制的に発見させる必要がある。また、Windows Updateのオプションの更新プログラムに表示されていることもあるらしい。Updateカタログのページ(https://www.catalog.update.microsoft.com/Search.aspx?q=KB5019157)からダウンロードすることもできる。
条件が整えば、MicrosoftストアからWSLのインストールやアップデートが可能になる。筆者の環境では、過去にストア版をインストールしていたWindows 10で自動更新が行なわれず、新規のインストールがエラーになった。しかし、Windows 10の「設定」→「アプリ」→「アプリと機能」で「Linux用Windowsサブシステム」を1回アンインストールしたあと、再度インストールすることで可能になった。
ストア版とコンポーネント版で異なるwsl.exe
このアップデートに合わせて、wsl.exeの機能やオプションが変更された。以下の表では、wsl.exeのオプションを示した。
wsl.exeは、Windows自体が管理しているため、実行ファイルが自動で切り替わる。このためユーザーが使う場合は、ストア版/コンポーネント版のどちらが実行中なのか意識する必要がある。どちらかなのかは「wsl.exe --version」で判断できる。このコマンドがエラーになれば、コンポーネント版、バージョンが表示されたらMicrosoftストア版である。また、現在のMicrosoftストア版では、オプションの間違いなどのコマンドラインでのエラーで、オンラインヘルプを表示しないようになった。
ストア版が正式版となったことで、WSLのインストール関係のオプションが変更になっている。まず、「--update」オプションは、ストア版WSLへの更新を意味するようになった。コンポーネント版でもこのコマンドでストア版へのアップデートが可能になるという。逆にコンポーネント版のwsl.exeには、ストア版ではなく、コンポーネント版の更新を前提とする「--inbox」オプションなどが追加されている。
またマウント処理も強化された。VHDXファイルのマウントができるようになり、またマウント先ディレクトリの名前指定も可能になった。これについては、別途記事にしたいと考えている。
インポート/エクスポート機能が大きく変化した
コマンドラインで大きく変化したのは、エクスポート/インポート処理である。ストア版ではWSL2が標準となり、このために、ディストリビューションは、仮想HDD(VHDX)をローカルファイルシステムとする。設定に関しては、Linuxディストリビューションの/etcにあるwsl.confで制御できるため、VHDXファイルのみがあれば、WSLディストリビューションが動作できる。
これにより、エクスポート処理でVHDXファイルへの出力が可能となり、これをそのまま新規ディストリビューションとして登録する「--import-in-place」オプションが追加された。このオプションを使うと、WSLディストリビューションの現在のスナップショットをVHDXファイルで作り、新規ディストリビューションとして登録することができる。このことで同一ディストリビューションを複数インストールすることが可能になった。ただし、指定するディストリビューション名が重複しないように配慮する必要がある。
「--import」でもVHDXファイルを扱えるが、この場合、VHDXファイルはコピーされ、指定されたインストール先ディレクトリにext4.vhdxという固定のファイル名が作られる。このため、複数のWSLディストリビューションをインポートする場合には、個別のディレクトリを指定しなければならない。
また、インポート機能でVHDXファイルを配置するディレクトリも指定できるようになり、管理は楽になった。デフォルトでは、ユーザーフォルダーの下のパッケージ用ディレクトリに置かれ、探すのが面倒だった。しかし、VHDXファイルを指定の場所に配置できるので、他のマシンへの移行も簡単にできる。
なお、ディストリビューション内の特定ファイルのみを別のディトリビューションに移行させたい場合には、tar形式でエクスポートしたあと、WSLディストリビューション内で、tarコマンドを使って特定のファイル、ディレクトリを取り出す。tarコマンドに関しては、オンラインマニュアル(man tar)で使い方を見ることができる。
Windows 10と11で同じWSLが使えるようになったことで、Windows 11にアップグレードできなかったマシンでも、WSLに関しては、同等になった。特にLinuxのGUIアプリケーションを動作させるWSLgが搭載されたことは大きな変化だ。WSLgは、Windows Insider PreviewのDev Channelでは、Windows 10でも動作していた。その後、Windows 11で標準的に利用できるようになったものの、Windows 10のリリース版21H2への対応はなされなかった。それから1年、ようやくWindows 10と11で同じWSLが利用できるようになった。
この記事に関連するニュース
-
Visual Studio Code 2024年4月の注目すべき新機能
マイナビニュース / 2024年5月9日 14時31分
-
Microsoft、1月の更新プログラムエラーは修正せず - 手動の解決策公開
マイナビニュース / 2024年5月7日 12時31分
-
Windowsのパス変換に問題、アクセスできないファイルを作って悪用可能
マイナビニュース / 2024年4月30日 7時31分
-
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか?
ASCII.jp / 2024年4月28日 10時0分
-
WindowsのPowerShellのプロファイルを設定する
ASCII.jp / 2024年4月14日 10時0分
ランキング
-
1「……が来ています」 伏字風になってしまった警告看板に恐怖する声 「恐怖の煽り方が上手い」「完全にSCPの画像」
ねとらぼ / 2024年5月12日 20時45分
-
2最新規格「Wi-Fi 7」のメリットは? 6つのポイントでチェック【前編】
Fav-Log by ITmedia / 2024年5月12日 17時30分
-
395歳“最強ばあちゃん”が「こればっかり食ってるから丈夫になんだよ笑」と言うのは…… ひ孫への愛あふれるお料理がおいしそう
ねとらぼ / 2024年5月9日 8時0分
-
4『ドラクエ3』公式ガイドに載ってなかった 知らずにクリアした人もいるレアアイテム
マグミクス / 2024年5月11日 21時25分
-
5ソニーは「着るエアコン」を本気でビジネスにしようとしている 新作はどう進化したか、実機をチェックする
ITmedia NEWS / 2024年5月10日 13時24分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください