Windows10(2004)からWindows Subsystem for Linux 2が利用できるようになりました。ちょっとLinux使いたいのにサーバーやサブ機を用意できない予算がない・・・という方にはこのページに記載する内容がおすすめです。
WSL2とは
https://docs.microsoft.com/ja-jp/windows/wsl/about
MicrosoftがWindows10マシンで提供しているLinux用アーキテクチャ・・・
つまり、Windowsを使いながらターミナルでbashが使えます。
WSL2になってからはHyper-Vの上でLinuxカーネルが動くようになったとのこと。Linux上にあるファイルもエクスプローラーでやりとりできるので便利ですよ。
実践
まず、お使いのWindowsマシンにWSLと仮想化プラットフォームの機能を追加します。
コントロールパネルを開いて「プログラム」をクリック

Windowsの機能の有効化または無効化をクリック

「Linux用Windowsサブシステム」にチェックを入れる

一番下にある「仮想化マシンプラットフォーム」にもチェックを入れる

キリのいいところで再起動すればいいです。

再起動したら、パワーシェルを開きます

現在WindowsにWSL2を動かせるLinuxカーネルが入っているのか確認しましょう。
パワーシェル上で下記コマンドを実行してWSL2を既定のバージョンに設定しようとしてみます
wsl --set-default-version 2

私の環境では、カーネルコンポーネントが必要なことがわかりました。
出力結果のURLにアクセスしてカーネルコンポーネントを入手します。
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#step-4—download-the-linux-kernel-update-package

「x64マシン用WSL2 Linux カーネル更新プログラムパッケージ」リンクから「wsl_update_x64.msi」というファイルがダウンロードできます。
ダウンロードフォルダに入っていますので、ダブルクリックで実行しましょう。

肯定的な選択肢で進めていけば大丈夫です。完了後再起動は不要です。
正常に完了できていれば先ほどのエラーメッセージはでてきません。

さて、MicrosoftStoreを開きます。

linuxで検索すれば色々なディストリビューションが出てきます。

私はUbuntu20.04をインストールします。
なぜかKaliLinuxやSUSEなどニッチなディストリビューションがありながらCentoOSがありません(CentOSは手動でインストール可能です。)

「入手」をクリックして、ボタンが「起動」になればインストール完了です。
ここでは再起動不要です。
ちなみに、MicrosoftStoreで何か入手するとMicrosoftアカウントにログインしていない方はアカウント情報を聞かれると思いますが、「アカウントがありません」、開いたポップアップはすべて閉じる、で問題なくインストールできますのでご安心を。
「起動」をクリックするとこんな感じで起動します。

ユーザー名とパスワードを設定してください。
そうしたら使えるようになります。

最後に、WSLの既定のバージョンを2にしましょう。
wsl -l -v
wsl --set-default-version 2
wsl -l -v

めでたしめでたし。
WSLならではの操作①:再起動
電源の点け方が分からないみたいな話ですが・・・
パワーシェルで下記コマンドです。
wsl -t Ubuntu-20.04
–terminate, -t <ディストリビューション>
指定したディストリビューションを終了します。
その後スタートメニューやコマンドで起動していただければOKです。
WSLならではの操作②:rootパス設定
suコマンドなどでrootで作業したいときもあると思います。
初期のままだとrootにはパスワードがないのでrootログインできません。
そういう場合はパワーシェルで下記コマンドです。
wsl -u root
–user, -u <ユーザー名>
指定したユーザーとして実行します。
その後、Linux上で下記コマンド
passwd
でパスワード設定してください。
ちなみに、複数のディストリビューションをインストールしている場合、既定のディストリビューションにログインします。
ディストリビューションを指定したい場合はこうです。
wsl -d Ubuntu-20.04 -u root
–distribution, -d <ディストリビューション>
指定したディストリビューションを実行します。
WSLならではの操作③:ファイル移動
WindowsとWSLの間でファイルのやり取りは、WSL上でエクスプローラーを実行してください。
explorer.exe .
explorer.exeの後にカンマを付けることで、Windowsからアクセスするには面倒な場所にあるLinuxのカレントフォルダを一発で開くことができます。
おすすめのターミナルアプリ
Microsoftが用意している「Windows Terminal」が使いやすくておすすめです。
コマンドプロンプト、パワーシェル、Linuxが1つのウィンドウの中にタブでまとまってくれるのでウィンドウ切替がなくて便利です。
これもMicrosoftStoreで「Windows Terminal」で検索すれば出てきます。
https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701
起動するとこんな感じです。

タブの矢印をクリックするとインストールされているLinuxを起動できます。


これでもうWSL2の環境構築はばっちりですね。
コメント