0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL移行手順:wsl --export/importで別PCへ移すときのdefault user設定

0
Last updated at Posted at 2026-07-07

WSL環境を別PCへ移すときは、 wsl --exportwsl --import を使うと、ディストリビューション全体をtarファイルとして退避・復元できます。

この記事では、WSL上のUbuntu環境を別PCへ移す手順と、移行後に root でログインされないようにする default user 設定をまとめます。

この記事は、WSL環境を「丸ごと移す」ための手順です。

新しいPCで最初から環境を作り直す場合は、 wingetuvmisedevcontainer などで再現できる形に寄せた方が管理しやすい場合もあります。

先に全体像

移行の流れは次の通りです。

  1. 移行元PCでWSLディストリビューション名を確認する
  2. 移行元PCで容量と移行対象を確認する
  3. 必要ならデフォルトログインユーザーを確認・設定する
  4. 移行元PCで wsl --export する
  5. tarファイルを移行先PCへ移す
  6. 移行先PCで wsl --import する
  7. 移行先PCで起動確認する
  8. Windows側の設定を確認する

基本はこの流れです。

移行元でディストリビューション名を確認する

PowerShellで、WSLディストリビューションの一覧を確認します。

wsl --list --verbose

または短く書くなら次の通りです。

wsl -l -v

出力例です。

  NAME            STATE           VERSION
* Ubuntu-22.04    Stopped         2

この例では、ディストリビューション名は Ubuntu-22.04 です。

以降のコマンドでは、この名前を指定します。

移行前に容量を確認する

WSL環境を丸ごとexportすると、tarファイルが大きくなることがあります。

Linux側でホームディレクトリや主要ディレクトリの容量を確認します。

du -sh ~
sudo du -sh /var/lib/* 2>/dev/null | sort -h

Windows側では、WSLの一覧と状態を確認します。

wsl -l -v

不要な一時ファイルやビルド成果物が多い場合は、export前に整理しておくと移行が楽になります。

wsl --export はディストリビューション全体をtarファイルにします。

Pythonの仮想環境、node_modules、Docker関連データなどが大きい場合、tarファイルも大きくなります。

default userを確認しておく

WSL環境を移行すると、移行先で意図せず root ユーザーで起動することがあります。

移行前に、Linux側で /etc/wsl.conf を確認しておくと安心です。

cat /etc/wsl.conf

デフォルトユーザーを明示する場合は、次のように設定します。

[user]
default=your-user-name

設定したら、いったんWSLを終了します。

wsl --terminate Ubuntu-22.04

/etc/wsl.confdefault には、WSL内に存在するLinuxユーザー名を書きます。

Windowsのユーザー名ではありません。

移行元でexportする

移行元PCで、対象ディストリビューションをtarファイルへ書き出します。

wsl --export Ubuntu-22.04 D:\backup\Ubuntu-22.04.tar

出力先ディレクトリは事前に作っておきます。

New-Item -ItemType Directory -Path D:\backup

エクスポート中は対象ディストリビューションを止めておく方が安全です。

wsl --terminate Ubuntu-22.04
wsl --export Ubuntu-22.04 D:\backup\Ubuntu-22.04.tar

MicrosoftのFAQでも、WSLディストリビューションのバックアップや移動には wsl --export / wsl --import を使う方法が案内されています。

作成されたtarファイルのサイズも確認しておきます。

Get-Item D:\backup\Ubuntu-22.04.tar | Select-Object Name, Length

移行先でimportする

移行先PCにtarファイルをコピーしたら、 wsl --import で取り込みます。

wsl --import Ubuntu-22.04 D:\wsl\Ubuntu-22.04 D:\backup\Ubuntu-22.04.tar --version 2

引数の意味は次の通りです。

引数 意味
ディストリビューション名 Ubuntu-22.04 WSL上で表示される名前
インストール先 D:\wsl\Ubuntu-22.04 WSLの実体を置くWindows側ディレクトリ
tarファイル D:\backup\Ubuntu-22.04.tar wsl --export で作ったファイル
バージョン --version 2 WSL 2として取り込む

取り込み後、一覧に表示されることを確認します。

wsl -l -v

起動確認する

取り込んだディストリビューションを起動します。

wsl --distribution Ubuntu-22.04

ログインユーザーを明示する場合は、次のようにします。

wsl --distribution Ubuntu-22.04 --user your-user-name

ホームディレクトリや主要コマンドを確認します。

whoami
pwd
lsb_release -a

root でログインされてしまう場合は、移行先でも /etc/wsl.conf を確認します。

cat /etc/wsl.conf

必要に応じて、次の設定を入れます。

[user]
default=your-user-name

その後、Windows側から対象ディストリビューションを終了して再起動します。

wsl --terminate Ubuntu-22.04
wsl --distribution Ubuntu-22.04

よく確認すること

移行後は、次の点を確認しておくとよいです。

確認項目 コマンド例 見ること
ログインユーザー whoami 想定ユーザーでログインしているか
WSLバージョン wsl -l -v WSL 2になっているか
systemd systemctl status systemdを使う環境なら動くか
SSH鍵 ls ~/.ssh 鍵や権限が移っているか
Git設定 git config --global --list 名前やメールが意図通りか
Python環境 python --version 必要なランタイムが動くか
Docker連携 docker version Docker Desktop連携が必要なら動くか

WSL環境の中身は移せても、Windows側のアプリや設定まで移るわけではありません。

VS Code、Windows Terminal、Docker Desktop、SSH Agent、環境変数など、Windows側に依存する設定は別途確認します。

Windows側の設定は別途確認する

wsl --export / wsl --import で移るのは、基本的にWSLディストリビューションの中身です。

次のようなWindows側の設定は別途確認します。

対象 確認すること
Windows Terminal プロファイル、起動ディレクトリ、フォント
VS Code Remote WSL拡張、ワークスペース設定
Docker Desktop WSL連携対象のディストリビューション
SSH Agent Windows側で鍵を管理している場合の連携
Git Credential Manager 認証情報やGitHub連携
環境変数 Windows側のPATHやツール設定

特にDocker Desktopを使っている場合は、移行先PCでWSL連携が有効になっているか確認します。

export/importで移すべきか、作り直すべきか

WSL環境の移行には、大きく2つの考え方があります。

方法 向いているケース
wsl --export / wsl --import で丸ごと移す 既存環境をそのまま残したい、再構築手順が未整理
セットアップスクリプトで作り直す 環境を再現可能にしたい、不要な設定を持ち越したくない

個人的には、古いPCから新しいPCへ急いで移るときは export/import が便利です。

一方で、長期的にはセットアップ手順をコード化しておく方が、環境の再現性は高くなります。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?