Windows11でLinuxを使ってみよう~WSL2でUbuntu 24.04 LTSを始める~

スポンサーリンク
コンピューターに親しむ

普段Windowsを使っていると、「Linuxを勉強してみたい」と思っても、Linux専用のパソコンを用意するのは少しハードルが高い。
そこで便利なのが、Windows上でLinux環境を利用できるWSL(Windows Subsystem for Linux)である。

本記事では、Windows 11にWSL2を導入し、Ubuntu 24.04 LTSを起動するまでの流れをご紹介する。

また、単純にインストールするだけではなく、実際の環境構築で遭遇したトラブルも含めてご紹介しよう。Windowsの状態によっては、WSLのインストール以前にWindows側の機能設定を確認する必要があるからである。

WSLとは

WSLは、Windows上でLinux環境を利用するための仕組みである。

Linux専用のパソコンを用意したり、WindowsとLinuxを完全に別々にインストールしたりしなくても、Windows上からLinuxを起動して、Linuxのコマンドを実際に操作できる。

Linuxの学習では、コマンドを覚えるだけでなく、実際にコマンドを入力して結果を確認することが重要である。

WSLを利用すれば、Windowsを普段使いしながらLinuxの学習環境を用意できる。
本ブログでも、LinuCの学習記事などでWSL2をLinuxの実践環境として利用している。

WSL1とWSL2

ところで、WSLにはWSL1とWSL2がある。
現在利用するのであれば、基本的にはWSL2を選択すればよい。

WSL2ではLinuxカーネルを利用した仕組みが採用されており、Linuxコマンドの学習や開発環境として利用しやすい。
今回もWSL2を使用する。

今回の環境

今回確認した筆者のPC環境は次のとおりである。

項目内容
OSWindows 11 Home
Windowsバージョン25H2
OSビルド26200.9457
WSL2.7.14.0
LinuxディストリビューションUbuntu 24.04 LTS
WSLバージョンWSL2

なお、WindowsやWSLのバージョンは更新によって変わるため、読者の環境と一致しない場合がある。

まずWindows側の状態を確認する

WSLを利用するためには、Windows側で仮想化に関係する機能が利用できる状態になっている必要がある。

通常、Windows 11では wsl --install によって必要な機能の有効化まで自動的に行われる。
ただし、既存の環境や過去の設定によってインストールに失敗する場合は、Virtual Machine Platformなどを個別に確認する必要がある。

今回、最初にwsl --statusを実行したところ、次のような状態であった。

wsl --status
  • WSLの既定バージョンは2
  • WSL1に必要な「Linux用Windowsサブシステム」は有効になっていない
  • WSL2を起動するための仮想化関連機能に問題がある

ここで重要なのは、「WSLがインストールされていること」と「WSL2を実際に起動できること」は別問題であるという点である。

WSL2を利用するには、Windows側の仮想化機能が正しく設定されている必要がある。

CPUの仮想化を確認する

まず、タスクマネージャーを開く。

「パフォーマンス」→「CPU」を選択すると、「仮想化」という項目を確認できる。

今回の環境では、
仮想化:有効
となっていた。

したがって、PCのファームウェア側の仮想化機能そのものは有効になっていた。
しかし、これだけでは十分ではないのである。

Virtual Machine Platformを確認する

次に、PowerShellまたはコマンドプロンプトを管理者権限で起動し、次のコマンドを実行する。

dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform

今回の環境では、次のように表示された。

Feature Name : VirtualMachinePlatform
Display Name : 仮想マシン プラットフォーム
State        : Disabled

つまり、CPUの仮想化は有効だったものの、Windowsの「仮想マシン プラットフォーム」機能が無効になっていた。

Virtual Machine Platformを有効にする

管理者権限のPowerShellで、次のコマンドを実行する。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

処理が完了すると、

操作は正常に完了しました。

と表示される。

設定を反映するため、Windowsを再起動する。
再起動後、もう一度次のコマンドを実行する。

wsl --status

今回の環境では、再起動後に表示されていたWSL2の仮想化エラーが解消された。
ここまで来れば、WSL2を利用するためのWindows側の準備は整ったことになる。

WSLにLinuxディストリビューションが入っているか確認する

次に、以下を実行する。

wsl -l -v

Linuxディストリビューションがまだインストールされていない場合は、次のような表示になる。

Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。

これはWSLそのものが壊れているという意味ではない。
WSLの仕組みは利用できるが、Linuxディストリビューションがまだ登録されていないという状態である。

インストールできるLinuxを確認する

次のコマンドを実行すると、利用できるディストリビューションを確認できる。

wsl --list --online

今回の環境では、Ubuntu、Debian、Kali Linux、openSUSE、Fedora系など、複数のディストリビューションが表示された。

Linux初心者が学習目的で利用するのであれば、Ubuntuは扱いやすい選択肢の一つである。
今回はUbuntu 24.04 LTSをインストールする。

Ubuntu 24.04 LTSは、2024年4月25日にリリースされた長期サポート(LTS)版のLinuxOSである。
サポート期間: 標準で5年間(2029年5月まで)の無償セキュリティ保守。

Ubuntu 24.04 LTSをインストールする

次のコマンドを実行する。

wsl --install -d Ubuntu-24.04

ダウンロードとインストールが始まる。環境によってはしばらく時間がかかる。
インストールが完了すると、Ubuntuの初回起動処理が始まる。

Linuxのユーザー名を設定する

初回起動時には、次のような表示が出る。

Create a default Unix user account:

ここでLinux上で使用するユーザー名を入力する。
Windowsのユーザー名と同じにする必要はない。
今回の環境では、Linux側のユーザー名をvintとした。

続いて、

New password:
Retype new password:

と表示されるので、Linuxユーザーのパスワードを設定する。

Linuxでは、パスワード入力中に画面上へ文字が表示されない。これは正常な動作である。
入力しても何も表示されないが、そのままパスワードを入力してEnterキーを押せばよい。

設定が成功すると、次のようにと表示される。

passwd: password updated successfully

さらに、次のようなLinuxのプロンプトが表示されれば、Ubuntuが起動している。

vint@PC:/mnt/c/Users/vinta$

のようなLinuxのプロンプトが表示されれば、Ubuntuが起動していることが確認できる。

Windowsのファイルにもアクセスできる

プロンプトを見ると、次のようになっている。

/mnt/c/Users/vinta

WSLでは、Windows側のCドライブがLinux側から/mnt/cとして認識している。
そのため、WindowsとLinuxのファイルを行き来しながら作業できる。
これはWSLを学習環境として利用するうえで非常に便利な点である。

ただし、Linuxの開発環境として利用する場合、プロジェクトファイルを常に /mnt/c に置くのが最適とは限らない。Linuxのコマンドやビルドツールを主に使う場合は、/home/ユーザー名/ 以下などWSL側のファイルシステムに置いたほうが性能面で有利である。

Ubuntuを終了する

Linuxの作業を終了するときは、次のように入力する。

exit

Ubuntuを終了すると、WindowsのPowerShellに戻る。

ここで、次のように実行してみよう

wsl -l -v

をみる。

今回の環境では、次のように表示された。

 NAME            STATE           VERSION
* Ubuntu-24.04    Stopped         2

ここでStoppedと表示されているが問題はない。
これはUbuntuが現在停止しているという意味であり、アンインストールされたわけではない。

また、VERSION2となっていることから、Ubuntu 24.04 LTSがWSL2として登録されていることを確認できる。

Ubuntuを再び起動する

PowerShellから、次のように入力すれば、既定のLinuxディストリビューションを起動できる。

wsl

Ubuntu 24.04を明示して起動する場合は、次のように入力する。

wsl -d Ubuntu-24.04

これで再びLinuxのコマンドを利用できる。

今回のトラブルから分かったこと

今回の環境構築では、単純に、次のように入力するだけでは終わらなかった。

wsl --install

Windows側の状態を確認しながら、次のように問題を切り分けることになった。

Windows 11
   ↓
CPUの仮想化を確認
   ↓
仮想化:有効
   ↓
Virtual Machine Platformを確認
   ↓
Disabled
   ↓
Virtual Machine Platformを有効化
   ↓
Windowsを再起動
   ↓
WSL2の起動状態を再確認
   ↓
Ubuntu 24.04 LTSをインストール
   ↓
Linuxユーザーを作成
   ↓
wsl -l -v
   ↓
Ubuntu-24.04 / VERSION 2

このように、WSLのトラブルでは「WSLそのものが壊れている」と決めつけず、Windows側の仮想化機能やLinuxディストリビューションの状態を一つずつ確認することが重要である。

Windowsの状態によっては、さらに大きなトラブルになることもある

今回の環境では、WSLの問題を調べる過程でWindows側の状態も確認することになった。
Windows Updateなど、Windowsそのものの機能に問題がある場合は、WSLだけを再インストールしても解決しないことがある。

そのような場合には、

  • Windows Updateの状態
  • Windowsのシステムファイル
  • 仮想化機能
  • Virtual Machine Platform
  • WSL本体
  • Linuxディストリビューション

を順番に切り分けて確認する必要がある。

今回も最終的にはWindows側の環境を整えたうえで、Virtual Machine Platformを有効化し、UbuntuをWSL2として登録することで正常な状態まで戻すことができた。

WSL2をLinux学習に利用する

Ubuntuが起動できるようになれば、Linuxの基本コマンドを実際に試せる。

例えば、次のように入力すると現在のディレクトリを確認できる。

pwd

また、次のように入力すると、ファイルやディレクトリを一覧表示できる。

ls

次のように入力すると、ディレクトリを移動できる。

cd

また、次のように入力すると、、Linuxカーネルに関する情報を確認できる。

uname -a

を実行すれば、Linuxカーネルに関する情報を確認できる。

このように、Windowsを使いながらLinuxのコマンド操作を実際に体験できる。

Linuxをこれから学び始める人にとって、WSL2は身近なWindowsパソコンでLinuxに触れるための一つの方法となる。

まとめ

WindowsでLinuxを学習する方法の一つとして、WSL2とUbuntuを利用する方法がある。
今回の環境構築では、次の手順でUbuntu 24.04 LTSをWSL2として利用できる状態にした。

  1. Windows側の仮想化状態を確認
  2. Virtual Machine Platformを確認
  3. Virtual Machine Platformを有効化
  4. Windowsを再起動
  5. WSLの状態を確認
  6. 利用可能なLinuxディストリビューションを確認
  7. Ubuntu 24.04 LTSをインストール
  8. Linuxユーザーとパスワードを設定
  9. wsl -l -vでWSL2として登録されていることを確認

特に重要なのは、WSL2のトラブルが発生したときに、いきなり再インストールを繰り返さないことである。

「Windowsの仮想化機能は有効か」「Virtual Machine Platformは有効か」「Linuxディストリビューションは登録されているか」というように、一つずつ状態を確認していくと原因を切り分けやすい。

Ubuntuが起動できるようになったら、次は実際にLinuxコマンドを入力してみよう。
Linuxは、読むだけでなく実際に手を動かして学ぶことで理解しやすくなる。
本記事で構築したWSL2環境を、Linux学習の実践環境として活用していきたい。

(付録)よく使うコマンド

PowerShellで実行するコマンド

コマンド内容
wsl --installWSLをインストールする
wsl --list --onlineインストールできるディストリビューションの一覧を表示する(短縮形:wsl -l -o
wsl --install -d Ubuntu指定したディストリビューションをインストールする
wsl --list --verboseインストール済みのディストリビューションと、その状態・WSLのバージョンを表示する(短縮形:wsl -l -v)。既定のものには*が付く
wsl既定のディストリビューションを起動する
wsl -d Ubuntu指定したディストリビューションを起動する
wsl --shutdown起動中のすべてのディストリビューションと、WSLを停止する。/etc/wsl.confなどの設定を変更したあとに反映させるときにも使う
wsl --terminate Ubuntu指定したディストリビューションだけを停止する(短縮形:wsl -t Ubuntu
wsl --set-default Ubuntu既定のディストリビューションを変更する
wsl --statusWSLの状態や、既定のバージョンなどを表示する
wsl --versionWSLのバージョンを表示する
wsl --updateWSLを最新の状態に更新する
wsl --unregister Ubuntu指定したディストリビューションを削除する

wsl --unregisterは、ディストリビューションとその中のファイルをすべて削除する。元に戻せないので、実行する前に、必要なファイルを別の場所へコピーしておくこと。

Ubuntuで実行するコマンド

コマンド内容
cat /etc/os-releaseUbuntuのバージョンなど、OSの情報を表示する
sudo apt-get updateパッケージの一覧を更新する
sudo apt-get upgrade -yインストール済みのパッケージを最新の状態にする
sudo apt-get install パッケージ名パッケージをインストールする
locale現在のロケール(言語設定)を確認する
cd ~Linux側のホームディレクトリへ移動する
cd /mnt/c/WindowsのCドライブへ移動する
explorer.exe .現在のディレクトリを、Windowsのエクスプローラーで開く
exitUbuntuを終了して、シェルを閉じる

トラブルシューティング

WSLを最新の状態にしたい
管理者権限のターミナルでwsl --updateを実行する。

wslを実行するとヘルプが表示される、またはディストリビューションがないと言われる
まずwsl --list --verboseで、インストール済みのディストリビューションを確認する。
何もなければ、手順3でインストールする。

インストールが0.0%から進まない
wsl --install --web-download -d Ubuntuを試す。

wsl --installの進捗が、途中で長時間止まる
筆者の検証用のPCでは、「機能を有効にしています」の進捗が、37.8%のまま進まなくなった。
別のPowerShellでGet-Content C:\Windows\Logs\CBS\CBS.log -Tail 5を実行すると、Windows Updateからのダウンロードの進捗が、同じ数字のまま繰り返されていた。
このPCでは、ネットワークを変えても、Windowsを初期化して更新を最新にしても、同じ位置で止まり、原因を特定できなかった。(そもそもネットワークからのインストールができなかった。)このようにWindows側の問題が疑われる場合には、Windowsのインストールメディアを利用したインプレースインストール(上書きインストール)が選択肢の一つとなる。
ただし、「これはWSLをインストールするために必要な通常の手順ではない。」ことに注意を要する。
この方法については、次回、実際に行った手順とともに詳しくご紹介しよう。

コメント

タイトルとURLをコピーしました