WSL2とUbuntu 24.04のインストール

前提_

以下の手順を進める際にはPowershellを管理者モードで起動していること。

何かうまくいかなかったときには下にあるトラブルシューティングの項を眺めてみること。

本ページでのPowershellやLinux/Unixコマンドの表記方法_

本ページではターミナル上で入力する命令(Powershell、Linux/Unixコマンド、あるいはコマンドという)をパーセント記号(%)の後ろに表記する。たとえば以下のように表記する。

% コマンド

Linux/Unixコマンドの一つであるlsを表記する場合は以下のようにあらわす。これはターミナル上でlsという文字列を入力し、その後Enterキーを押すという意味である。

% ls 

また、必要に応じてLinux/Unixコマンドを実行した際の出力結果も例として示す。出力結果は冒頭にパーセント記号がついていない文字列である。以下の表記例は ls -1 というコマンドを実行した結果としてgotohという文字列が表示されたことを表す。

% ls -1
gotoh

これとは別に、後で説明するLinuxのroot権限でコマンドを実行する場合には冒頭にパーセント記号の代わりにシャープ記号(#)を用いて表記する。

WSLとUbuntu 24.04のインストール_

はじめてWSLをインストールする場合_

マイクロソフト:WSL のインストールに従いWSLをインストールする。

  1. パソコンがインターネットに接続していることを確認する。接続していなければ接続する(WSLやUbuntuをダウンロードするため)。
  2. PowerShell上で以下のコマンドを実行する。実行時間はお使いのパソコンの性能やインターネットの接続環境によって変わる。
    %  wsl --install
    
  3. しばらく待っていると以下のようにWSLのインストールが終わる。再起動を求められるのでWindowsを再起動する。
    %  wsl --install
    ダウンロード中: Linux 用 Windows サブシステム 2.3.26 (注:2.3.26は実施時期によって変わる)
    インストール中: Linux 用 Windows サブシステム 2.3.26
    Linux 用 Windows サブシステム 2.3.26 はインストールされました。
    Windows オプション コンポーネントをインストールしています: VirtualMachinePlatform
    
    展開イメージのサービスと管理ツール
    バージョン: 10.0.26100.1150  (注:ここのバージョンも実施時期によって変わる)
    
    イメージのバージョン: 10.0.26100.2454 (注:ここのバージョンも実施時期によって変わる)
    
    機能を有効にしています
    [==========================100.0%==========================]
    操作は正常に完了しました。
    要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
    
  4. Windowsを再起動したら、Powershellを管理者権限で起動する。まず、wslのインストールが成功したのかを確認する。以下のコマンドを実行し、WSLのバージョン情報が表示されれば、wslのインストールは成功している。
    + wsl --version
    WSL バージョン: 2.4.12.0
    カーネル バージョン: 5.15.167.4-1
    WSLg バージョン: 1.0.65
    MSRDC バージョン: 1.2.5716
    Direct3D バージョン: 1.611.1-81528511
    DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
    Windows バージョン: 10.0.26100.3775
    
  5. Ubuntuをインストールする。Powershellで以下のコマンドを実行する。なお、2025年4月7日現在、ディストリビューション名「Ubuntu」の中身はUbuntu 24.04 となっている。その時点でのUbuntuをバージョンを知りたい場合にはこちらのページを参照のこと→[https://github.com/microsoft/WSL/blob/master/distributions/DistributionInfo.json]
    %  wsl --install -d Ubuntu-24.04
    
  6. しばらく待っていると以下のようにWSLとUbuntu 24.04のインストールが終わる。
    %  wsl --install -d Ubuntu-24.04
    インストール中: Ubuntu 24.04 LTS
    Ubuntu 24.04 LTS がインストールされました。
    
  7. Ubuntuがインストールできたかを確認する。Powershell上で以下のコマンドを実行し、Ubuntu-24.04が表示されることを確認する。表示されていなければ、Ubuntuのインストールに失敗している。
    %  wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-24.04    Stopped         2
    
  8. Ubuntuのインストールに成功していたらPowershellを終了してよい。
  9. インストールしたUbuntuを起動する。私の環境では「スタート」→「すべて」からUbuntuを起動した。

Ubuntuが起動したら、下の「Ubuntuのログインパスワードの設定」へ進む。

すでにWSLをインストール済みの場合_

  1. すでにwslがインストール済みの場合は、まず、wslを最新版にする。
    % wsl --update
    

    次にwslを一度停止する。

    % wsl --shutdown
    

    そして、Ubuntuのインストールを行う。

    %  wsl --install -d Ubuntu-24.04
    インストール中: Ubuntu 24.04 LTS
    Ubuntu 24.04 LTS がインストールされました。
    Ubuntu 24.04 LTS を起動しています...
    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:
    

Ubuntuのインストールがおわると、Ubuntuのユーザアカウントの作成へ進むので、下の「Ubuntuのログインパスワードの設定」へ進む。

Ubuntuのログインパスワードの設定_

初回起動時は下記の図のようなメッセージがでて、初期設定が行われる(私の環境だと5~6分かかった)。

初期設定が終わるとログイン名が求められる。このUbuntu上で使うログイン名を入力する(半角英数字、空白不可)。特に思いつかなければ自分の名前(First name)か名字(Family name)のローマ字 or 英語表記にするとよい。たとえば、私は後藤祐一(ごとう ゆういち)なので、gotoh や yuichiをユーザ名として使っている。

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: gotoh

続いて、ログインパスワードを入力する。Windowsのログインパスワードと異なるもので良い。なお、パスワードを入力している際に画面上には何も表示されないが、キー入力は受け付けているので気にせずパスワードを入力し、Enterキーを押すこと。

New password:

上で設定したものと同じパスワードを入力する。入力したパスワードが1度目に入力したものと異なると、再度パスワードの入力が求められる。

Retype new password:

1度目と2度目のパスワードが一致すると「passwd: password updated successfully」というメッセージが表示される。

「Installation successful!」と表示されインストール終了となる。以下、この開いているウィンドウのことを「ターミナル」と呼ぶこととする。

これでWSLのインストールとUbuntuのインストールが終わった。

フォントおよびターミナルサイズの変更_

WSL上にUbuntuをインストールした場合に、Ubuntuのアイコンをクリックして起動するウィンドウのことをターミナルと呼ぶことにする。余談ながら、このターミナルはWindowsターミナルというソフトウェアである。

ターミナルでフォントやフォントサイズを変更する際の手順は次のとおりである。まず、Ubuntuを起動する。次に起動したウィンドウの上部(タブが展開するスペース)で右クリックし、「設定」をクリックする。

開いた「設定」タブにおいて「プロファイル」の「規定値」をクリックする。次に「外観」をクリックする。

ここでフォントやフォントサイズの変更をする。変更したら「保存」を押して、変更を保存する。

以下はこの手順を動画で説明したものである。

コピー&ペーストのやり方_

CUIとGUI_

Ubuntuを始めとするLinuxは 主にCUI (Character User Interface) で操作を行う。CUIは命令(コマンド)を文字列の形で入力し操作する方法である。一方で、WindowsやMacOSのようにアイコンをマウスでクリックすることで操作する方法をGUI(Graphic User Interface)という。

WindowsアプリとUbuntuターミナル間でのコピー&ペースト_

以下の操作では基本的にCUIで操作を行う。このとき、コマンドを打ち間違えるとうまく動かない。そこで、このページのコマンド例をコピー&ペーストして実行することをお勧めする。

WindowsアプリからUbuntuターミナルへのコピー&ペースト

  • Windows上でコピーしたい文字列を選択し(マウスで選んで反転させる)、そして、Ctrl+c(あるいはマウスの右クリックで)「コピー」する。
  • Ubuntu上で張り付けたい場所にマウスカーソルを移動させ、マウスを右クリックしてペーストする。

UbuntuターミナルからWindowsアプリへのコピー&ペースト

  • Ubuntu上でコピーしたい文字列を選択する(マウスで選んで反転させる)
  • マウスを右クリックする(これでコピー状態になる)。
  • Windows上で張り付けたい場所にマウスカーソルを移動させ、Ctrl+v(あるいはマウスの右クリックで)「貼り付け」する。

UbuntuとWindowsでファイルをやりとりする方法_

ファイルシステム_

LinuxやWindowsなどのオペレーティングシステム(OS)がOS上のファイルやディレクトリ/フォルダを管理する仕組みのことをファイルシステムという。各OSごとにファイルシステムが異なるため、基本的には他のOSのファイルシステムで管理されているファイルやディレクトリ/フォルダにはアクセスできない。このため、異なるOSで使っていた記録媒体(HDDやSSDなど)を別のOSにつないでもそのままではファイルは読み込めない。

Windows subsystem for Linux(WSL)では、Windows側からWSL上にインストールしたLinuxのファイルにアクセスする仕組み、WSL上にインストールしたLinuxからWindows側のファイルにアクセスする仕組みが用意されている。

Windows側からWSL上のファイルを閲覧する_

なお、事前にWSL上のUbuntuを起動しておくこと(基本的にはUbuntuアイコンからUbuntuを起動していればよい)。

スタートメニューから「エクスプローラー」を開く。

エクスプローラーにおいて、パス(path, コンピュータ上でどこにファイルやフォルダ/ディレクトリがあるのかを表す表記)の欄に「\\wsl$」(バックスラッシュ2つ、半角小文字でwsl、最後に半角文字でドルマーク)を入力し、Enterキーを押す。

するとWSL上にインストールしているLinuxの一覧が表示される。以下の例ではUbuntu-18.04が表示されている。このアイコンをクリックするとUbuntu上のファイルやディレクトリにアクセスできる。

WSL上のLinux側からWindowsのファイルを閲覧する_

WSL上のLinux(今回の例ではUbuntu)からWindows側のファイルを閲覧するときには、Linux側はWindowsのドライブ名を利用して閲覧できるようにしている。ドライブ名とはWindows上で記録媒体の塊ごとに割り振られている識別子のことである。

たとえば、私の環境では下のようにCドライブとDドライブという2つのドライブがある。Windowsではどの環境においてもCドライブは必ず存在するが、Dドライブ移行は使用しているパソコンの環境によって異なっている。

Ubuntuを起動し、ターミナル(UbuntuターミナルでもGnomeターミナルでもどちらでもよい)上で以下のコマンドを実行する。このdfコマンドはLinux上の記憶領域(ハードディスクドライブ、メインメモリなど)の占有率とその記憶領域がLinux上でどういうディレクトリ名で認識されているのかを表示するコマンドである。

% df -h
Filesystem      Size  Used Avail Use% Mounted on
none            3.9G  4.0K  3.9G   1% /mnt/wsl
drivers         454G  152G  302G  34% /usr/lib/wsl/drivers
none            3.9G     0  3.9G   0% /usr/lib/wsl/lib
/dev/sdc       1007G  1.7G  954G   1% /
none            3.9G   96K  3.9G   1% /mnt/wslg
rootfs          3.9G  1.9M  3.9G   1% /init
none            3.9G  4.0K  3.9G   1% /run
none            3.9G     0  3.9G   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            3.9G     0  3.9G   0% /run/user
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
none            3.9G  244K  3.9G   1% /mnt/wslg/versions.txt
none            3.9G  244K  3.9G   1% /mnt/wslg/doc
drvfs           454G  152G  302G  34% /mnt/c
drvfs           449G  402G   48G  90% /mnt/d

上記のdfコマンドの出力結果のうち「/mnt/c」と「/mnt/d」という表記があるがこれがWindows上のCドライブおよびDドライブに該当する。試しにCドライブの中身を確認してみる。

% cd /mnt/c
% ls

lsやcp, mvコマンドを用いてファイルのコピーや移動を行うことができる。

注意:Windowsの「ドキュメント」「デスクトップ」「ダウンロード」へのアクセス_

Windowsの「ドキュメント」「デスクトップ」「ダウンロード」というフォルダは、基本的にCドライブの下の「ユーザ」フォルダの下にある個人ユーザフォルダの下にある。このため、Linux側からアクセスするときには正しくパスを入力する必要がある。

Windows側でパスを確認する場合は、エクスプローラーのパス欄をクリックすると表示される。たとえばエクスプローラーで「ダウンロード」フォルダに移動してみる。

この「ダウンロード」フォルダのパスはエクスプローラーのパス欄をクリックすると表示される「C:\Users\gotoh\Downloads」である。基本的には「C:\Users\Windowsのユーザ名\Downloads」というパスになる。

この「ダウンロード」フォルダにLinux側からアクセスする場合は以下のパスになる。

% ls /mnt/c/Users/gotoh/Downloads/

トラブルシューティング_

エラーメッセージ:ForEach-Object: You cannot call a method on a null-valued expression.がでる。_

Powershellで以下のようなメッセージがでるときがある。

PowerShell 7.5.0
PS C:\Windows\System32> %  wsl --install -d Ubuntu-24.04
ForEach-Object: You cannot call a method on a null-valued expression.

これはコマンド冒頭の%も一緒にコピー%ペーストしてしまっているのが原因である。%の後ろからコピーすること。

Windowsを再起動してもUbuntuが起動しない_

Windowsを再起動してもUbuntuが起動しない場合は、Ubuntuのインストールが成功したかどうかを以下のように確認すること。

お使いのパソコンの設定によっては、Ubuntuが起動せずエラーが出る場合がある。以下のページを参考に仮想化が有効になっているかどうかを確かめ、仮想化が有効かされていない場合はUEFIで仮想化を有効にする。UEFI画面の出し方や設定方法はお使いのパソコンごとに異なるのでGoogleなどで調べること。

仮想化が有効になっているかどうかは以下を参考にして確認する。

Powershellで文字化けする_

UbuntuのアイコンからUbuntuが起動しない(すぐに終了する)_

「スタート」→「すべて」からUbuntu-24.04 LTSのアイコンを用いて、Ubuntuを起動する際に、Ubuntuが起動しない、あるいは、起動してもすぐに終了してしまうときは、以下のように原因を探ってみること。

  1. Powershellを管理者権限で実行する。
  2. Ubuntuがインストールできているか確認する。以下のコマンドを実行し、Ubuntu-24.01が表示されえていない場合は、Ubuntuのインストールに失敗しているので、Ubuntuを再インストールする(必要に応じて、現在のUbuntuを削除してから再インストールする。参考:アプリの削除方法
    % wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-24.04    Stopped         2
    
  3. Ubuntuがインストールされている場合は、一般ユーザアカウントの設定が終わっていない可能性がある。PowershellからUbuntuを起動してみる。以下のように「new UNIX username」を求められた場合は、一般ユーザアカウントの設定が終わっていない。ユーザ名とログインパスワードを設定する(参照 Ubuntuのログインパスワードの設定
    % wsl -u root -d Ubuntu-24.04
    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: gotoh
    

    設定がおわったら、Ubuntuを終了する。

    % exit
    

    Ubuntuのアイコンから起動できるか確認してみる。

  4. 以下のように表示されていれば、一般ユーザアカウントの設定は終わっている。
     wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-24.04    Stopped         2
    PS C:\Windows\System32> wsl -u root -d Ubuntu-24.04
    Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/pro
    
     System information as of Fri Apr 18 15:36:30 JST 2025
    
      System load:  0.48                Processes:             71
      Usage of /:   0.3% of 1006.85GB   Users logged in:       0
      Memory usage: 6%                  IPv4 address for eth0: 172.24.246.153
      Swap usage:   0%
    
     * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
       just raised the bar for easy, resilient and secure K8s cluster deployment.
    
       https://ubuntu.com/engage/secure-kubernetes-at-the-edge
    
    This message is shown once a day. To disable it please create the
    /root/.hushlogin file.
    

一度、Ubuntuからログアウトする。

% exit

今度は一般ユーザアカウントでPowershellからログインしてみる。

% wsl -u 以前設定したユーザ名 -d Ubuntu-24.04

一般ユーザアカウントでログインできている場合は、Ubuntuからログアウトし、もう一度、UbuntuのアイコンからUbuntuを起動してみる。やっぱり、起動できない場合は後藤に相談する。

  1. トラブルが解決しなければ、後藤に相談すること。

Ubuntuの起動時のアカウントがrootの場合_

上述のユーザアカウントの作成がうまくいかなかった場合、UbuntuのアイコンからUbuntuを起動したときのアカウントがrootになってしまう場合がある。今のアカウントが誰なのかを調べる場合はターミナルで以下のコマンドを実行する。rootと表示された場合は、rootユーザになっている。

% whoami
root

rootユーザの場合は以下の手順で一般ユーザアカウントを作成する。

rootでなければ、問題はない。

余談:WSLのバージョンの確認_

PowerShell上で以下のコマンドを実行するとWSLのバージョンを確認できる。 本インストールログは以下のWSLのバージョンで行っている(2025年4月7日現在)。

% wsl -v
WSL バージョン: 2.4.13.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5716
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26100.2894

戻る_