新しい会話を開始

未解決

Community Manager

 • 

7.2K メッセージ

8

2025年8月28日 07:23

WSLの呪い

WSLの呪い

会社のPCがWindows11になったタイミングで「WSLはサポートしません!」とITに言われたのでそのままになっていたWSLのインストールを試みた話です。(なんかいきなりWindows11でもWSLを入れてもいいことに社内ルールが変わっていた・・)


WSL(Windows Subsystem for Linux)とは・・・
平たく言えば、Windows PC上で VMware Workstation などを使わずに、Linux環境を簡単に構築できる仕組みです。これがあるとWindows上でもLinux関係のアプリケーションとかコマンドとかを使えるので便利です。VMware WorkstationでもLinux仮想マシンを使えますが、インストールやネットワーク設定が面倒なため、気軽にLinuxコマンドを使いたい場合はWSLの方が簡単です。


やり方>

① PowerShellを開く

② wsl.exe --list --onlineコマンド発行 

PS C:\Users\XX> wsl.exe --list --online
 インストールできる有効なディストリビューションの一覧を次に示します。
 'wsl.exe --install <Distro>' を使用してインストールします。
 NAME                         FRIENDLY NAME
 AlmaLinux-8                  AlmaLinux OS 8
 AlmaLinux-9                  AlmaLinux OS 9
 AlmaLinux-Kitten-10          AlmaLinux OS Kitten 10
 AlmaLinux-10                 AlmaLinux OS 10
 Debian                       Debian GNU/Linux
 FedoraLinux-42               Fedora Linux 42
 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
 SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7
 Ubuntu                       Ubuntu
 Ubuntu-24.04                 Ubuntu 24.04 LTS
 archlinux                    Arch Linux
 kali-linux                   Kali Linux Rolling
 openSUSE-Tumbleweed          openSUSE Tumbleweed
 openSUSE-Leap-15.6           openSUSE Leap 15.6
 Ubuntu-18.04                 Ubuntu 18.04 LTS
 Ubuntu-20.04                 Ubuntu 20.04 LTS
 Ubuntu-22.04                 Ubuntu 22.04 LTS
 OracleLinux_7_9              Oracle Linux 7.9
 OracleLinux_8_10             Oracle Linux 8.10
 OracleLinux_9_5              Oracle Linux 9.5

  


⚠ ⚠ 注意: 私が経験したトラブル ⚠ ⚠

Ayasは最初、.exeを付けずにwsl --list --onlineコマンドを実行したところ、リストされるディストリビューションが非常に少ないという現象に遭遇しました。

この原因は、おそらくコマンド実行時の一時的なネットワーク接続の不具合か、環境に古いWSLのコンポーネントが残っていたためと考えられます。( By Geminiさんの見解)

結論として、wsl.exeとwslは同じコマンドですが、安定性を重視してwsl.exe --install <Distro>を実行することをおすすめします。
(wslの後に.exeつけないコマンドで突き進み、DNSの罠にかかってしまいました)


 PS C:\Users\XX> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d <Distro>'.
 NAME                         FRIENDLY NAME
Ubuntu                       Ubuntu
Debian                       Debian GNU/Linux
kali-linux                   Kali Linux Rolling
Ubuntu-18.04                 Ubuntu 18.04 LTS
Ubuntu-20.04                 Ubuntu 20.04 LTS
Ubuntu-22.04                 Ubuntu 22.04 LTS
Ubuntu-24.04                 Ubuntu 24.04 LTS
OracleLinux_7_9              Oracle Linux 7.9
OracleLinux_8_10             Oracle Linux 8.10
OracleLinux_9_5              Oracle Linux 9.5
openSUSE-Leap-15.6           openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed          openSUSE Tumbleweed

上記出力結果の言うとおりにwsl --install -d <Distro>でUbuntsu入れたら今度は以下のエラーになりました。

root@W11BJH5VL3:/home/xx# ping -c 4 google.com ping: google.com: 
Temporary failure in name resolution


→WLS上のUbuntuからGoogle.comへのPingがDNSエラーでできない・・・


正解は wsl.exe --install <Distro> コマンドでした。

wsl.exe --install Ubuntu 

PS C:\Users\xx> wsl.exe --install Ubuntu-24.04
ダウンロードしています: Ubuntu 24.04 LTS[==========================87.2%===================        ]


省略

そしてPing テスト
root@W11BJH5VL3:/mnt/c/Users/XX$ ping -c 3 google.com
PING google.com (142.250.4.100) 56(84) bytes of data.
64 bytes from sm-in-f100.1e100.net (142.250.4.100): icmp_seq=1 ttl=105 time=88.5 ms

うまくいった・・・

まとめ>
Windowsにありがちな話らしいですが、コマンドに.exeつけてWSLは使いましょう。そのほうが安定します。

おまけ>
*WSLに入れたLinuxのDistributionの確認方法
PS C:\Users\XX> wsl.exe --list
Linux 用 Windows サブシステム ディストリビューション:
AlmaLinux-10 (既定値)
Ubuntu-22.04

*起動したいとき
PS C:\Users\XX> wsl.exe -d Ubuntu-22.04
XX@W11BJH5VL3:/mnt/c/Users/XX$

*Rootパスワードを設定したいとき(WSLに入れたLinuxのRootパスワードは最初は設定されていないのでsu でRootになりたいとき困る・・)
Ubuntuの場合>
XX@W11BJH5VL3:/mnt/c/Users/XX$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
XX@W11BJH5VL3:/mnt/c/Users/XX$ su
Password:
root@W11BJH5VL3:/mnt/c/Users/XX#

MSサイト:https://learn.microsoft.com/ja-jp/windows/wsl/install 



レスポンスがありません。
イベントは見つかりませんでした!

Top