最新のWindows10では、気軽にLinux環境を楽しめることをご存じだろうか。
以前はVM ware playerとか、Hyper-vとかを使って、isoイメージからインストールしてセットアップを頑張っていたが、最近はそんなLinux環境をMicrosoft Storeから調達できてしまう。
Linuxを使うために専用PCを用意したり、1台のPCをデュアルブート構成にしたりといった時代からは格段の進歩である。
早速使ってみたが、何とも便利で感動した。
以前は若干の癖があったが、GUI化の手間があったが、最近はそれすらもなくなり、Windowsのメニューからアプリを起動できるようになってしまった。その手順についてメモがてらここに残しておく。
0.WSLとWSL2について
WSL(Windows Service for Linux)とは、Windows 10 Fall Creators Updateから標準搭載されている、Windows 10からLinuxを利用するための仕組み。
WSLは、Windows APIをLinux APIでラップしています。WSLの下はWindowsのAPIなので「仮想」ではなく、いわば「Windowsのアプリケーション」です。
一方、WSL2は完全な仮想環境です。仮想マシンをつくる、ハイパーバイザーの上でWindowsに全く依存しない形でLinuxカーネルごと起動します。
自分の理解しやすいように整理すると、
WSLはLinux環境のファイルがWSLのホームディレクトリ配下(C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名称を含む文字列]\LocalState\rootfs\home\)に直接配置されていた。
⇒ファイルシステムがWindowsと共用なので、WSL上のLinuxでマルウェアを取り扱うとホストOS上のWindows Defenderが反応する。
WSL2はホームディレクトリ配下に該当Linux環境の仮想ディスクが作られる。
⇒WSL2上のLinuxでマルウェアを取り扱ってもホストOS上のWindows Defenderは反応しない。
自分の理解しやすいように整理すると、
WSLはLinux環境のファイルがWSLのホームディレクトリ配下(C:\Users\[ユーザー名]\AppData\Local\Packages\[パッケージ名称を含む文字列]\LocalState\rootfs\home\)に直接配置されていた。
⇒ファイルシステムがWindowsと共用なので、WSL上のLinuxでマルウェアを取り扱うとホストOS上のWindows Defenderが反応する。
WSL2はホームディレクトリ配下に該当Linux環境の仮想ディスクが作られる。
⇒WSL2上のLinuxでマルウェアを取り扱ってもホストOS上のWindows Defenderは反応しない。
こうなると、WSL2があればHyper-vいらないじゃんという話だが、Hyper-vは複数の仮想ディスクを管理することができるが、WSL2はMicrosoft Storeから提供されるOSと1:1になる。
つまりKali Linuxの場合、WSL2では1OSまでしか作れない。
1.WLS2の環境構築手順
基本はMicrosoft Storeから調達。
コマンドから実行する場合は管理者権限で、ディストリビューションを指定します。
wsl --install -d kali
基本はこれで終わり。あとはWSL上のkali linuxのセットアップを進めていく。
2.Linux(Kali linux)環境のセットアップ
基本的な流れは下記の通り
2-1.Microsoft Storeから Kali linuxを入手(済み)
-インストールされたkali linuxのバージョン確認コマンド-
cat /etc/os-release
2-2.セットアップ(アカウント/パスワード設定、パッチ適用、日本語化、SSH接続有効化)
sudo apt update
sudo apt upgrade
sudo apt install -y task-japanese
sudo apt install -y task-japanese-desktop
※日本語化は下記参照
https://doruby.jp/users/r357_on_rails/entries/Kali-Linux-2020
sudo apt install ssh
sudo /etc/init.d/ssh start
sudo systemctl enable ssh
※ssh有効化は下記参照
https://qiita.com/delphinz/items/72f5a4a9b52ac454fc74
-サービスの起動確認コマンド-
service ssh status
2-3.デスクトプのGUI化に必要なパッケージのインストール、デーモン起動(任意)
sudo apt install xfce4
sudo apt install xrdp
sudo apt install dbus-x11
sudo /etc/init.d/xrdp start
2-3.5.xrdpの自動起動設定(任意)
sudo systemctl enable xrdp
2-4.KaliのIPアドレス確認
if add
2-5.リモートデスクトップで接続
※参考動画
リモートデスクトップ接続時に下記のエラー(Faild execute child process "dbus-launch"...)が出る場合、パッケージを追加でインストールする。
【参考】
ちなみにWSL2のLinux環境はshutdownコマンドでは落とせない。
ちゃんと落とすにはホストOSのPower Shellを起動してコマンドをたたく必要がある
wsl --shutdown
又は
wsl -t "ディストリビューション名"
【参考】
3.wslgについて
Windows11でwslのバージョンが最新化されていると、Windows上からWSLのLinuxにインストールしたアプリを直接使えるようになる。
これがwslg(Windows Subsystem for Linux GUI)
アーキテクチャは以下のようになっており、ホストのWindowsとはRDPで画面転送しているような感じ。