Windows

WSL2 Ubuntuのホームディレクトリを変更

背景

WSL2でUbuntu環境を使うのですが、WindowsのホームディレクトリとUbuntuのホームディレクトリが異なっているため変更してみました。

設定後のイメージ

Windowsのホームディレクトリにubuntuという名称のディレクトリを作成し、これをUbuntuのホームディレクトリとします。

xxxxをWindowsのユーザー名とすると下記がUbuntuのホームディレクトリになります。

C://Users/xxxx/ubuntu

設定方法

UbuntuからWindowsのホームディレクトリにアクセス

上記のCというドライブレターはWindows環境下での表現方法で、このパスをそのままUbuntuで指定してもエラーとなります。

UbuntuからWindowsのCドライブへアクセスするには下記のように指定します。

/mnt/c/

あとはWindowsと同じように

/mnt/c/Users/xxxx/ubuntu

と書けばUbuntuからWindowsのホームディレクトリにあるubuntuフォルダにアクセスできます。

Ubuntuユーザーのホームディレクトリを変更する

UbuntuからWindowsのホームディレクトリにアクセスする方法がわかったので、Ubuntuユーザーのデフォルトホームディレクトリを変更します。

$sudo vi /etc/passwd

と入力して自分のアカウントの行を検索してください。

アカウント名がxxxxだとした場合は下記のように変更します。

xxxx:x:1000:1000:,,,:/mnt/c/Users/xxxx/ubuntu:/bin/bash

以上で次回にUbuntuへログインする場合はホームディレクトリがWindowsユーザーのホームディレクトリにあるubuntuというディレクトリに変更されているはずです。

chmodが使えるようにする

UbuntuからWindowsのホームディレクトリへアクセスできるようになったのですが、このままだとchmodなどのコマンドが利用できません。WSL2でWindowsファイルやフォルダのパーミッション変更を可能にするためには以下のように/etc/wsl.confに以下を記述します。

# Enable extra metadata options by default
[automount]
enabled= true
root= /mnt/
options= "metadata,umask=22,fmask=11"
mountFsTab= false
# Enable DNS – even though these are turned on by default, we'll specify here just to be explicit.
[network]
generateHosts= true
generateResolvConf= true

wsl.confを編集する際は sudo vi /etc/wsl.confのようにsudoをつけて編集してください。

その後PCを再起動するとchmodによるファイル変更が可能になります。

  • この記事を書いた人

たけぞう

熊谷に住みながら都内のIT企業でエンジニアをしています。ガジェットやアウトドア用品についてレビューをしていきます。 趣味はスポーツジムでトレーニングやジョギングをすることです。

-Windows
-, ,