事前準備:WSL環境のエクスポート・インポートについて
本記事では、すでにWSL(Ubuntu)環境をローカルに取り込んでいる前提で説明しています。
別ユーザーの環境を引き継ぐ場合は、事前に以下の作業が必要です。
・WSLディストリビューションのエクスポート
・別環境へのインポート(外付けSSDなど)
これらの手順については、以下の記事で詳しく解説しています。
👉 WSL環境をエクスポート・インポートする方法(外付けSSD対応)
今回やりたかったこと
別ユーザーが使用していた WSL(Ubuntu)環境のファイルをもとに、
自分のローカル開発環境を作成する必要がありました。
新しく作り直すのではなく、
- 既存のWSL環境を流用したい
- ユーザー名とホームディレクトリを自分用に変更したい
というケースです。
その際に行った手順を、備忘録としてまとめています。
以降の bash コマンドは、WSL上のUbuntu(Bash)内で実行します。
PowerShellでは実行できないため注意してください。
rootユーザーで一時的にログインする
まずは rootユーザーでWSLにログインできるようにします。
これはユーザー情報を変更するために必要です。
PowerShellを 管理者権限で起動し、以下を実行します。
wsl -d Ubuntu -u root※ Ubuntu の部分は、利用しているディストリビューション名に合わせてください。
rootでログインできたら、usermod コマンドが使用可能か確認します。
/usr/sbin/usermod --helpヘルプが表示されれば問題ありません。
ユーザー名とホームディレクトリを変更する
ここからは WSL(Bash)側での作業になります。
ユーザー名(ログイン名)の変更
既存ユーザー名を、新しいユーザー名に変更します。
/usr/sbin/usermod -l new_user old_user- old_user:変更前のユーザー名
- new_user:変更後のユーザー名
ホームディレクトリの変更とデータ移動
次に、ホームディレクトリを変更します。
-m オプションを付けることで、既存データも一緒に移動されます。
/usr/sbin/usermod -d /home/new_user -m new_userグループ名の変更
通常、ユーザー名と同じ名前のグループが作成されています。
ユーザー名変更後は、グループ名も合わせて変更します。
/usr/sbin/groupmod -n new_user old_userデフォルトユーザーを新しいユーザーに戻す
最後に、WSL起動時の デフォルトユーザーを新しいユーザーに設定します。
再び PowerShell で実行します。
<ディストリビューション名> config --default-user new_user
例:Ubuntu の場合
ubuntu config --default-user tarouこれで、通常起動時に新しいユーザーでログインされるようになります。
Git を利用している場合の注意点
WSL環境に Git が設定されている場合は、
ユーザー名を変更しただけでは不十分で、
Git のユーザー情報も合わせて変更する必要があります。
Git は以下の情報を ~/.gitconfig に保持しているためです。
- ユーザー名(user.name)
- メールアドレス(user.email)
これらが以前のユーザー情報のままだと、
- コミットの作成者が旧ユーザー名のままになる
- 別アカウントとして履歴が残る
といった問題が起こります。
Git のユーザー名・メールアドレスを変更する
WSL(Ubuntu / Bash)上で、以下を実行します。
git config --global user.name "新しいユーザー名"
git config --global user.email "new-email@example.com"環境再構築の手間を減らしたいときに便利な手順です。
設定内容は、次のコマンドで確認できます。
git config --global --list補足
- プロジェクトごとに設定している場合は –global を外して、リポジトリ単位で確認してください
- SSHキーやGPG署名を使っている場合は、 それらの設定も併せて確認すると安心です
作業時の注意点
- ユーザー名変更中は 対象ユーザーでログインしない
- 念のため、事前にWSLディレクトリのバックアップを取っておく
- ディストリビューション名(Ubuntu / Ubuntu-20.04 など)に注意する
まとめ
- rootログインでユーザー情報を変更する
- usermod でユーザー名・ホームディレクトリを調整
- groupmod でグループ名も忘れずに変更
- 最後にデフォルトユーザーを設定し直す
既存のWSL環境をそのまま活かせるので、

