今回は、素の Windows 10 20H2 に WSL2 を設定して、Ubuntu 環境を構築していきます。
目次
概要
WSL2 がリリースされたのは最近ですが、前身の WSL が実装されたのはだいぶ前になります。
WSL(Windows Subsystem for Linux)は、Linux ファイルを Windows 上でネイティブ実行するための互換レイヤーです。
※以降、WSLは WSL1
と略記します。
しばらく静観していたのですが、去年 WSL2(Windows Subsystem for Linux 2)
がリリースされました。
WSL2 の最大のメリットは(WSL1 と異なり)仮想マシンを使った「本物の Linux 環境が提供される」ということです。
この WSL2 を使っていきたいと思います。
- WSL1
Windows 10 1709 - WSL2
Windows 10 20H1 (2004)
WSL2 は Hyper-V の仮想ディスク上で実行され、標準のファイルシステムは ext4 になります。
WSL2 のメリット
WSL2 は、専用の仮想マシン環境「Light Weight utility Virtual Machine」(軽量ユーティリティーVM)で実行されます。
そのため、Hyper-V と比較すると起動が早く、数秒で起動します。
また、(Hyper-V などのように)管理ツールなどはなく、スタートメニューから直に起動できるため、非常にスピーディに作業開始できます。
また、リセット機能があり、簡単に初期状態に戻すことが出来ます。 ※私の場合、10秒ほどでリセット完了しました。
WSL2 のデメリット
管理ツールが無いので、スナップショットなどの便利機能もありません。
WSL2 を使う
まず、WSL2 を有効化します。
ちなみに、有効化手順を飛ばして PowerShell からアクセスすると「そんなコマンドは無い」と怒られます。
PS C:\Windows\System32> wsl
wsl: The term 'wsl' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
有効化
WSL2 は初期状態で無効化されているため、有効化する必要があります。
以下、Windows 10 20H2 へアップデート直後の PC で作業しています。
Win + R
キーで "ファイル名を指定して実行" を開き optionalfeatures(optionalfeatures.exe でも可)と入力して実行します- "Windows の機能の有効化または無効化" 画面が開きます
- 一覧から、『Linux用Windowsサブシステム』と『仮想マシン プラットフォーム』にチェックを入れOKをクリックします
- 再起動
インストールが終了すると再起動を促すメッセージが表示されるので "今すぐ再起動" を押下します。
※(ちょっと古めの Core-i7 + SSD 構成で)再起動には、3分ほどかかりました。
PowerShell の初期設定
設定は PowerShell
から行うのですが、私の時はスタートメニューから PowerShell
を開くと、早速 new version の案内がされました。
案内どおりにインストールします。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6
メッセージにある URL https://aka.ms/
を開くと、Microsoft のページにリダイレクトされます。
PowerShell のインストール - PowerShell | Microsoft Docs
2021/04/02
PowerShell は GitHub のオープン ソース プロジェクトです。GitHub - PowerShell/PowerShell: PowerShell for every system!
Windows への PowerShell のインストール
Microsoft Store からインストールする
PowerShell を入手 - Microsoft Store ja-JPLinux への PowerShell のインストール
macOS への PowerShell のインストール
ARM への PowerShell のインストール
現在の PowerShell
はマルチプラットフォームなんですね。時代を感じます。
また、GitHub と Microsoft Store のどちらからでもインストール可能です。
私は、GitHub から「Windows (x64)・Download (LTS)」版をダウンロードしてインストールしました。
導入直後の PowerShell 画像を貼付します。紺色が旧版・黒色が新版で、パッと見だと DOSプロンプトと区別がつきません...。
WSL2 の初期設定
装いも新たになった PowerShell
で、WSL2 を既定にセットします。
※WSL1 と WSL2 は共存可能なため、間違いが無いように WSL2 を既定に設定します。
既定化
設定には、set-default
オプションを使います。
しかし、またもや new version があるよの表示が・・・。
PS C:\Windows\System32> wsl --set-default-version 2
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
メッセージ内の URL からダウンロードして、インストールします。
Windows 10 に WSL をインストールする | Microsoft Docs
2021/04/07
手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする
x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ
インストール自体は、特に難しいこともなく終了しました。
これは、再起動不要です。
再度、set-default
すると、今度は通りました。
PS C:\Windows\System32> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
Ubuntu を入れる
WSL2 の設定が終わったところで、Ubuntu を入れていきます。
以下、Ubuntu の導入手順です。
-
Microsoft Store から
Ubuntu
で検索すると、カノニカル謹製の Ubuntu が出てきます。 -
入手
ボタンをクリックするだけで、ダウンロードが始まります。 -
ダウンロードが完了すると、先程まで
入手
と表示されていたボタン部分が起動
に変わります。 -
この
起動
ボタンをクリックすると、Ubuntu ターミナルが起動します。 -
新たに開いた Ubuntu ターミナル画面で、アカウント名とパスワードの入力を促されます。
(ここらへんは、シングルボードコンピュータ用 OS ではお馴染みのパターンですね)。Enter new UNIX username: New password:
-
アカウント名とパスワードを入力して Ubuntu の新しいアカウントを作成します。
Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: *** New password: Retype new password: passwd: password updated successfully Installation successful! To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Apr 24 10:36:51 JST 2021 System load: 0.0 Processes: 8 Usage of /: 0.4% of 250.98GB Users logged in: 0 Memory usage: 1% IPv4 address for eth0: 172.23.131.172 Swap usage: 0% 1 update can be installed immediately. 0 of these updates are security updates. To see these additional updates run: apt list --upgradable The list of available updates is more than a week old. To check for new updates run: sudo apt update This message is shown once a day. To disable it please create the /home/***/.hushlogin file.
-
無事にアカウント作成が終わったら、環境を確認しておきます。
$ cat /etc/ec2_version Ubuntu 20.04.2 LTS (Focal Fossa) $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal
-
UPDATE
問題なければ、最新版にアップデートしておきましょう。$ sudo apt update -y && sudo apt dist-upgrade -y