【WSL】WSL2 ~ 基本編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2020/12/08/165505

の続き。

今回は、WSL/WSL2 を使うにあたって、

目次

【1】基本的なWSLコマンド
【2】Linuxディストリビューションのクリア
【3】Export / Import
 1)Export (スナップショット)
 2)Import
【4】ローカル⇔WSLとの相互アクセスについて
 1)ローカルからWSL上のファイルへのアクセス
 2)WSLからローカル上のファイルへのアクセス

【1】基本的なWSLコマンド

* 以下の公式ドキュメントより

https://learn.microsoft.com/ja-jp/windows/wsl/basic-commands

よく使う? wslコマンド 説明 備考
wsl --list --online 使用可能な Linuxを一覧表示 「wsl -l -o」でもOK
Y wsl --install <ディストリビューション> Linuxをインストール 例:wsl --install ubuntu
Y wsl --list --verbose インストールされているLinuxを一覧表示 「wsl -l -v」でもOK
wsl --set-default 既定の Linux を設定 e.g. wsl --set-default Ubuntu
Y wsl --unregister 既定の Linuxの登録解除 e.g. wsl --unregister Ubuntu
wsl --export 環境のExport(スナップショット) 「【3】Export / Import」参照
wsl --import 環境のImport 「【3】Export / Import」参照
wsl --set-default-version WSL1/2のデフォルト切替 wsl --set-default-version 2
wsl --update WSL を更新する
wsl --status WSL の状態を確認 e.g. 「既定のバージョン: 2」
wsl --shutdown WSL の再起動 停止後、自動的に立ち上がる
wsl --version WSLバージョン確認
wsl --help WSLヘルプ

【2】Linuxディストリビューションのクリア

[1] [スタート]-[設定]-[アプリ]-[インストールされているアプリ]を選択
[2] 「Ubuntu」を検索

a) アンインストール

[3] 検索結果ででてきた「Ubuntu」の[...]-[アンインストール]を選択

b) クリア

[3] 検索結果ででてきた「Ubuntu」の[...]-[詳細オプション]を選択
[4] リセットセクションの「リセット」ボタン押下

【3】Export / Import

* Export すると、環境が停止するので注意
* 停止した環境を動かすには「wsl」を入力

1)Export (スナップショット)

構文

wsl --export #{WSL環境名} #{出力先ファイル名}

コマンド例

$ wsl -l -v
~~~~
  NAME      STATE           VERSION
* Ubuntu    Running         2
~~~~

$ wsl --export Ubuntu Ubuntu.tar

2)Import

構文

wsl --import #{インポートするディストリビューション名} #{インポート先のWindowsディレクトリ} #{インポートするtarファイルのパス}

コマンド例

$ dir
~~~~
2023/03/21  12:16     1,883,914,240 Ubuntu.tar
~~~~

$ wsl --import "UbuntuClone" "C:\\linux" "./Ubuntu.tar"

【4】ローカル⇔WSLとの相互アクセスについて

1)ローカルからWSL上のファイルへのアクセス

方法1

例えば、ネットワーク「\\wsl.localhost\Ubuntu\root」からアクセス可能

方法2

エクスプローラのアドレスバーに「\\wsl$」と入力すると
Linuxディストリビューション名(今回の場合「Ubuntu」)のフォルダが
表示されるので、そん中にある 

https://snowsystem.net/other/windows/wsl2-ubuntu-explorer/

2)WSLからローカル上のファイルへのアクセス

* 例えば、Cドライブへのアクセスなら「/mnt/c/」でいける
 => e.g. 「cp /mnt/c/tmp/hello.txt ~/copy.txt」でコピーする等

参考文献

* 以下のサイトが非常に分かりやすく参考になった

https://qiita.com/PoodleMaster/items/b54db3608c4d343d27c4

関連記事

WSL2 ~ Docker Desktop / 環境構築編 ~ ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
WSL2 ~ Docker-CE / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/14/224428
WSL ~ Docker-CE + Genie / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/03/003836
WSL ~ Windows Terminal ~
https://dk521123.hatenablog.com/entry/2020/12/10/094125
Docker ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2017/09/23/235818
WSLで外部に繋げない
https://dk521123.hatenablog.com/entry/2023/01/11/000000
WSL が起動しなくなった時の対処
https://dk521123.hatenablog.com/entry/2023/08/06/000000
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000