2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2 のセットアップ手順まとめ

Posted at

記事概要

WSL (Windows Subsystem for Linux) を利用し、Windows 上で Linux を使えるようにするセットアップ手順をまとめた記事です。
本記事で取り扱っている内容は下記の通りです。

  • WSL を使えるようにする為の Windows 設定。
  • WSL 用作業ディレクトリを任意の場所に変更する設定。
  • OS の最小限のセットアップ(OS インストール、パッケージ更新、ユーザ作成)。
  • WSL を GUI で操作する為の設定。
  • WSL 上で USB デバイスを認識させる為の設定。

やること

  • WSL2 環境構築
    • WSL, Hyper-V 有効化、wsl 更新
  • OS のインストール
    • LxRunOffline インストール
    • イメージファイルダウンロード、インストール
  • OS のセットアップ
    • パッケージの更新、sudo インストール
    • sudo 権限付きユーザの作成、UID の確認
    • デフォルトユーザの設定、Linux の起動確認
  • GUI 環境(+リモートアクセス)の設定
    • 前提パッケージのインストール、設定ファイル編集
    • RDP による接続確認
  • USB デバイス接続用設定
    • Windows 側の設定
    • Linux 側の設定
    • USB デバイスの接続(解除)方法

設定時の注意事項

  • ~.ps1 のスクリプトは Windows にて 管理者として実行している「PowerShell 端末」 で実行して下さい。
  • ~..sh のスクリプトは WSL で実行している 「Linux 端末」 で実行して下さい。
  • セットアップ時にダウンロードしたファイルはユーザディレクトリ直下の Downloads 内に保存されているものとして扱います。
    • 別ディレクトリに保存する設定の場合は、 ~\Downloads を自身が設定しているディレクトリに置き換えて読んで下さい。

セットアップ確認時の環境

  • OS: Windows10 Pro (22H2)
  • WSL: WSL2 kernel Ver. 5.10.102.1

WSL2 環境構築

WSL, Hyper-V 有効化、wsl 更新

WSL を使用出来るよう Windows の設定を変更および、wsl の更新を行います。
以下のコマンドを実行し、設定およびコマンドの更新を行って下さい。

■setup_wsl2.ps1

# WSL2 のセットアップ
## Windows Subsystem for Linux 有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

## Hyper-V 有効化
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

## WSL2 Linux kernel 更新
wsl --update

## いったん再起動する
Restart-Computer

## デフォルトバージョンを WSL2 に変更
wsl --set-default-version 2

OS のインストール

LxRunOffline インストール

WSL のファイル保存先を変更する為、LxRunOffline を使用出来るようにします。
※ WSL のファイルはデフォルトの場合、下記のディレクトリに保存されます。

  • C:\Users\\AppData\Local\Docker\wsl\data

下記 URL からダウンロードし、LxRunOffline.exe が動くよう環境変数 PATH を設定して下さい。

イメージファイルダウンロード、インストール

以下のコマンドを実行し、OS インストール用のファイルダウンロードおよびインストールを行って下さい。

■setup_linux_image.ps1

## LxRunOffline 用イメージファイルをダウンロード
Invoke-WebRequest -Uri https://lxrunoffline.apphb.com/download/Ubuntu/focal -OutFile ~\Downloads\ubuntu-focal.tar.gz -UseBasicParsing

## インストール(インストール先のディレクトリをここで指定するので -d D:\wsl\... を都合の良いよう変更)
lxrunoffline i -n ubuntu-2004_lxrunoffline -d D:\wsl\ubuntu-2004_lxrunoffline -f ~\Downloads\ubuntu-focal.tar.gz

## デフォルトに設定
wsl --set-default ubuntu-2004_lxrunoffline

## インストールできたかチェック
wsl -l -v

### ubuntu-2004_lxrunoffline VERSION 2 があればOK
### VERSION 1 の場合は下記コマンド実行
# wsl --set-version ubuntu-2004_lxrunoffline 2

インストール先のディレクトリ先に WSL のイメージファイル (ext4.vhdx) が存在していればOK!

イメージファイルのダウンロード参考 Wiki

本記事では Ubuntu 20.04(focal) のイメージファイルをインストールしていますが、別ディストリビューションやバージョンを使用したい場合は wiki を参照してダウンロード先やファイル名、ボリューム名 etc. を変更して下さい。

OS のセットアップ

各項目のコマンドを実行して下さい。

パッケージの更新、sudo インストール

■update_package.sh

apt update && upgrade -y
apt install -y sudo

sudo 権限付きユーザの作成、UID の確認

■make_user.sh

# sudo権限付きユーザ作成(user_name は任意の名前に置き換えてOK)
adduser user_name
## パスワードのみ設定して他は未設定のままEnterでOK
gpasswd -a user_name sudo

## ユーザの UID を確認
id -u user_name
exit

デフォルトユーザの設定、Linux の起動確認

■set_default_user.ps1

# デフォルトユーザの設定(<UID>:Linux 側で確認した UID を設定する。例:...-v 1000)
lxrunoffline su -n ubuntu-2004_lxrunoffline -v <UID>

# 下記コマンドで起動可能かチェック
lxrunoffline r -n ubuntu-2004_lxrunoffline

設定後は PowerShell 端末から wsl 起動でOK!

GUI 環境(+リモートアクセス)の設定

前提パッケージのインストール、設定ファイル編集

以下のコマンドを実行し、GUI 操作出来るようデスクトップ環境の Xfce、デスクトップ環境へリモートアクセス出来るようにする為の xrdp をインストールして下さい。

■setup_gui_env.sh

# インストール時間かかる
sudo apt install -y xfce4 xrdp

# xrdp.ini編集
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
## 接続時のポート番号設定。3390が都合悪い場合はここを変更して下さい。
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession

RDPによる接続確認

設定後は WSL (Linux) の端末にて下記コマンドを実行後、Windows 側からリモートデスクトップ接続すればOK。

sudo /etc/init.d/xrdp start

リモートデスクトップ接続は、コンピュータ: 「localhost:3390」 へ接続して下さい。

接続出来たら、username, password を入力することで GUI 環境が使用できます。

USB デバイス接続用設定

Windows 側の設定

下記 URL から usbipd-win のインストーラをダウンロードしてインストールして下さい。

再起動後、PowerShell にて下記コマンドが実行できればOK!

usbipd wsl list

Linux 側の設定

■setup_usbip.sh

sudo apt install -y linux-tools-virtual
## linux-tools-****-generic のバージョンは最新の物を確認して書き換えて下さい。
sudo apt install -y linux-tools-5.4.0-77-generic hwdata

sudo visudo
defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:..." となるよう追記して下さい。

wsl 再起動後、WSL 端末にて下記コマンドが実行できればOK!

usbip --help

USB デバイスの接続(解除)方法

  • PowerShell にて下記コマンドで接続、解除して下さい。
# 接続したい USB デバイスの <BUSID> を確認
usbipd wsl list

# 接続
usbipd wsl attach --busid <BUSID>

# 接続解除
usbipd wsl detach --busid <BUSID>

Linux 側で接続出来ているかは lsusb コマンドで確認して下さい。

あとがき

以上で WSL のセットアップの導入的な内容は大丈夫かなと思います。
この後はイメージファイルの最適化について調べておくと良いかもです。

参考記事

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?