2
1

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.

Linux on WSL2 の運用

Last updated at Posted at 2022-12-10

Linux on WSL2 on Windows 11 の設定や日々の運用方法の備忘録です.仮想マシンのLinuxディストリビューションはUbuntu-22.04 LTS で検証しています.インストール関連は下端にメモを付けました.

仮想マシンのインストール

Ubuntu-22.04 LTS をWSL2にインストールします.管理者モードのPowerShellで作業します.初めてWSLを使用する場合は関係するコマンドをインストールしておきます.

wsl --install

オンラインストアで利用可能なLinuxディストリビューションを確認します.

PS C:\Users\teem> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'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
OracleLinux_8_5                        Oracle Linux 8.5
OracleLinux_7_9                        Oracle Linux 7.9
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4                     openSUSE Leap 15.4
openSUSE-Tumbleweed                    openSUSE Tumbleweed

Ubuntu-22.04 LTS をインストールします(2023年4月現在最新版).ディストリビューションによってはオンラインストア経由でインストールする必要があるかもしれません.

wsl --install -d Ubuntu-22.04

インストールされているLinuxディストリビューションの表示

wsl -l

既定のディストリビューションの変更

もし古いバージョンが既定になっていたら,既定をUbuntu-22.04に変更します.

wsl --set-default Ubuntu-22.04
wsl -l

インストール後のシステムアップデート

インストール直後にシステムを更新しておきます.

sudo apt -y update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo apt -yV autoremove
sudo apt autoclean

完了したらexitし,再度ログインすることで更新が反映されます.

アンインストール

wsl --shutdown 
wsl --unregister Ubuntu-22.04

WSLのアップデート

wsl --update

ファイルシステムのマウント

仮想マシンのファイルシステムをWindowsのZドライブに割り当て,Windowsから簡単に仮想マシンのファイルシステムにアクセスできるようにします.

LinuxファイルシステムをWindowsファイルシステムにマウント

Windowsエクスプローラで作業します.マウントできるのはWindowsのドライブのみで,フォルダはできないようです.

  1. Linuxのターミナルを起動しておく(必須)
  2. エクスプローラで \\wsl$Ubuntu-20.04 (Linuxディストリビューション名は適宜読み替えてください)を開き,アドレスをコピーする
  3. ネットワークを右クリックし,ネットワークドライブの割り当てを選択する
  4. ドライブを Z に割り当て,フォルダに1.のアドレス \\wsl$Ubuntu-20.04 を貼り付け,完了 をクリックする
  5. Windowsのドライブ Z からLinuxファイルシステムにアクセスできることを確認する
  6. アンマウントするにはドライブ Z を右クリックで切断する

Windowsファイルシステムで Linux の パーミッションを有効にする

LinuxからWindowsのファイルシステムを参照する場合もパーミッションを有効にできます.仮想マシンでの作業です.
/etc/wsl.conf に以下を記述し,仮想マシンを再起動します.

[automount]
options="metadata"

外付けドライブをLinuxファイルシステムにマウント

Windows のドライブは /mnt 以下にマウントされます.例えばCドライブは /mnt/c です.
外付けドライブは自動的にはマウントされません.外付けドライブEをマウントします.効かない場合はWindowsを再起動してみましょう.

sudo mkdir /mnt/e
sudo mount -t drvfs e: /mnt/e/

マウントを解除します.

sudo umount /mnt/e/

属性を維持してコピー

Linuxのファイル属性(含タイムスタンプ)を維持したままWindowsのファイルシステムにコピーするにはrootで-pオプションを用います.こうしないとタイムスタンプが現在になってしまいます.
d:\dat\,を e:\dat\としてコピーします.

sudo cp -r -p /mnt/d/dat /mnt/e

仮想マシンの複製

他のWindowsマシンに仮想マシンを丸ごとTARファイルとして出力する方法です.WindowsのコマンドプロンプトまたはPowerShellで作業し,export,importコマンドを用います.

準備

対象の仮想マシンにおいて,デフォルトユーザ名(teemとします)が指定されていなければ,/etc/wsl.conf に以下を追記します.ホスト名(以下ではwslとしました)も追記しておきます.仮想マシンを再起動します.
これは環境構築として一度行うだけです.

[user]
default=teem

[network]
hostname=wsl

仮想マシンのexport

存在するLinuxディストリビューションを確認します.

PS C:\Users\teem> wsl -l -q
Ubuntu-20.04

このUbuntu-20.04 を C:\Users\teem\WSL_IMAGESUbuntu-20.04-2022.tar のファイル名でexportします.

PS C:\Users\teem> wsl --export Ubuntu-20.04 C:\Users\teem\WSL_IMAGES\ubuntu-20.04-2022.tar

仮想マシンのimport

複製した Ubuntu-20.04-2022.tar を別のWindowsマシンの C:\Users\teem\WSL_IMAGES\ にコピーしておきます.

PS C:\Users\teem> wsl --import Ubuntu20.04 C:\Users\teem\WSL_IMAGES\Ubuntu-20.04 C:\Users\teem\WSL_IMAGES\ubuntu-20.04-2022.tar

Syntaxは以下の通りです.

wsl --import <ディストリビューション名> <保存先> <importするtarファイル名>
2
1
1

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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?