もうWindowsとLinuxを選ぶ必要はない!WSL+Windows11で両方使える!
はじめまして、Zennではじめての技術ブログ投稿となります。
普段使いのPCや業務用でWindowsを利用しており、IaCやCLI操作について書かれたインターネット記事や書籍では、Macユーザーを対象としたものが多い印象です…。
そこで「WindowsユーザーでもCLI操作を実践したい! でも読み替えが大変…」という方の一助になればと思い、今回のテーマを執筆するに至りました。
WSLとはなにもの?
WSLとは「Windows Subsystem for Linux」の略で、Windows 10 / 11 の環境でもLinuxを実行できるようにする機能です。
主な特徴は以下のとおりです。
-
Windows 10 / 11上でLinux環境が実行可能
-
Linuxコマンドやアプリケーションの実行が可能
- Linux学習の初期環境としても最適
-
バージョンはWSL 1とWSL 2が存在
- WSL 2は仮想化技術を使用しており、WSL 1より高速
-
Microsoft StoreからLinuxディストリビューションを簡単に導入可能(Ubuntu、Debian、Kali Linuxなど)
-
Windows設定の変更が必要
-
WindowsとLinux間でファイル共有や移動も容易
WSLを有効化する手順
Windows 11でWSL(Windows Subsystem for Linux)を有効にする手順は以下のとおりです。
- 管理者権限でPowerShellを開きます。
- 以下のコマンドを実行し、WSL機能を有効にします。
仮想マシンプラットフォームの有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSLの有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 再起動を実行します。
再起動コマンド
Restart-Computer -Force
- WSL 2のパッチを以下のコマンドでダウンロード・インストールします。
パッチのダウンロードと実行
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile wsl_update_x64.msi
.\wsl_update_x64.msi
GUIインストーラーが起動したら「Next」をクリックして進めます。
:::message alert
セッションタイムアウトによりパッチのダウンロードに失敗することがあります。以下のコマンドでタイムアウト時間を30分に設定しておくと安心です。
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -Name "IdleTimeout" -Value 1800 -PropertyType DWORD -Force
出力例:
IdleTimeout : 1800
~以下略~
:::
- WSLのデフォルトバージョンをWSL 2に設定します。
wsl --set-default-version 2
- Kali Linuxのイメージをインストールします。
wsl --install -d kali-linux
出力例:
インストール中: Kali Linux Rolling
Kali Linux Rolling がインストールされました。
Kali Linux Rolling を起動しています...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
プロンプトが表示されたら、以下を入力して初期設定を完了させます。
Enter new UNIX username: home-kali
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
初回ログイン時のメッセージ:
┏━(Message from Kali developers)
┃
┃ This is a minimal installation of Kali Linux...
┗━(Run: “touch ~/.hushlogin” to hide this message)
┌──(home-kali㉿homework)-[~]
└─$
Kali Linux のGUIモードを使えるようにする手順
1. アップデートの実行
sudo apt update
出力例:
53 packages can be upgraded. Run 'apt list --upgradable' to see them.
2. GUIツール(kali-win-kex)のインストール
sudo apt install -y kali-win-kex
出力例:
Processing triggers for dbus...
Processing triggers for libgdk-pixbuf...
...
インストールにはやや時間がかかります。
3. KeXサービスの初期起動とパスワード設定
kex start
プロンプト表示:
Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:
4. 不要なマウントの解除
GUIモードが起動しない原因になるため、以下のコマンドで一度アンマウントしておきます。
sudo umount /tmp/.X11-unix/
5. KeXサービスの起動と状態確認
kex start
kex status
出力例:
KeX Server is running.
Win-KeX SL is stopped.
Win-KeX ESM is stopped.
'/tmp/.X11-unix' is a Win-KeX socket
※「KeX Server is running.」が表示されない場合、マウント解除を再度確認してください。
6. GUIモードの起動
kex --win
複数ディスプレイ環境では -m オプションを付けない方が快適でした。
起動後の画面:

参考: Qiita記事
余談:なぜ Kali Linux を選んだか
インフラやセキュリティの学習を進める中で、Udemyなどの講座でKali Linuxを使っているケースが多く見受けられました。
そのため、今回の環境構築ではKali Linuxを選択しています。
Kali Linuxで使えるセキュリティ系ツールの例:
- Metasploit Framework:脆弱性診断やペネトレーションテストに使用
- Nmap:ポートスキャン、OS・サービス検出など
- Wireshark:ネットワークパケットのキャプチャ・解析
- Sqlmap:SQLインジェクションの自動検出・攻撃
:::message alert
これらのツールは正当な目的でのみ使用してください。
不正利用は法律違反となる可能性があります。
:::
ご希望であれば、投稿用にZenn対応の形式へ微調整や冒頭・締めの文章案も追加できますので、お申し付けください。
Discussion