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が利用できるようになった。
この記事に関連するニュース
-
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた
ASCII.jp / 2024年11月24日 10時0分
-
窓辺の小石 第191回 リンクの冒険
マイナビニュース / 2024年11月8日 17時3分
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
-
Windows 11 向け更新プログラム「KB5044384」リリース、sfcコマンドの不具合解消
マイナビニュース / 2024年10月29日 8時48分
-
「消えない8.63GB」のファイルが消えた - 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年10月27日 16時0分
ランキング
-
1HD-2D版『ドラクエ3』勇者「俺だけバラモス倒せなかった…」←なんで? 嘆きの声続出の理由
マグミクス / 2024年11月25日 17時25分
-
2ビューカード、顧客との通話内容を録音したSDカード20枚を紛失
ASCII.jp / 2024年11月25日 17時5分
-
3メルカリ、不正利用へのサポート強化と補償方針を発表 ネットで意見「当たり前」「個人的には期待」「悪意のあるやつは排除して」
iza(イザ!) / 2024年11月25日 13時21分
-
4スタバ福袋当選発表に悲喜こもごも SNS「3度目の正直来た」「外れてうつになりそう」
iza(イザ!) / 2024年11月25日 12時11分
-
5「不要なスマホなどをdポイントと交換」 ドコモ、小型機器の買い取りに挑戦 都内の25店舗で
ITmedia Mobile / 2024年11月25日 16時21分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください