WSL

systemd を使う

最新の WSL では systemd がサポートされているが、Windows 10 に標準で入っている WSL はバージョンが古く、アップデートが必要な場合がある。
`wsl --update` を打ち込む手もあるけれど、ストアアプリを入れると自動アップデートされるので楽かも。

バージョンを確認*1

C:\>wsl --version
WSL バージョン: 1.2.5.0
カーネル バージョン: 5.15.90.1
WSLg バージョン: 1.0.51
MSRDC バージョン: 1.2.3770
Direct3D バージョン: 1.608.2-61064218
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.19045.2965

当該のディストリを起動し、/etc/wsl.conf に設定を追記

# /etc/wsl.conf

[boot]
systemd=true

WSL を再起動。

C:\> wsl --shutdown

当該のディストリを起動し、systemctl を確認。

$ systemctl | grep ssh
 ssh.service
                                                   loaded active running   OpenBSD Secure Shell server

thanks to

【WSL2】systemdがサポートされたようなので試してみた | しきゆらの備忘録
https://shikiyura.com/2022/11/systemd_supported_in_wsl/

デフォルトのユーザを変更する

デフォルトユーザを変更したいディストリビューションのシェルで

$ cat /etc/passwd 

を打ち込み、デフォルトにしたいユーザの uid を確認する。

# /etc/passwd

mogamin:x:1001:1002:,,,:/home/mogamin:/bin/bash
# 1001

レジストリの

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\(UUID)

から当該のディストリを探す。DistributionName キーにディストリ名があるので、これで判別する。
当該ディストリの DefaultUid キーの値を上で確認した uid に変更する。

DefaultUid (REG_DWORD): 3e9 (1001)

WSL を再起動。

C:\> wsl --shutdown

command snippet

ディストリのインポート

wsl --import (DIST_NAME) path\to\distro path\to\archive.tar --version 2
wsl --import (DIST_NAME) path\to\distro path\to\archive.vhd --version 2 --vhd

path\to\distro 配下に .vhdx を作成する。
WSL2 環境の場合は --version を指定する必要がある。

ディストリのエクスポート

wsl --export (DIST_NAME) path\to\archive.tar

"archive.tar" までを指定しないと、パーミッションエラーになる。


*1 古いバージョンの wsl は、--version をサポートしていないことがある。

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-15 (土) 23:13:26