Windows Subsystem for Linux(WSL)を使っていると、「Ubuntuがrootユーザーで起動してしまう」「デフォルトユーザーを変更したい」といった悩みを持つ方も多いのではないでしょうか。
この記事では、Windowsのレジストリエディタ(regedit)を使ってWSLの起動ユーザーを一般ユーザー(UID=1000)に変更する方法を、初心者にも分かりやすく解説します。
WSLのデフォルトユーザーがrootになる理由
WSLをインストールした直後や、ユーザー登録に失敗した場合、UbuntuなどのLinuxディストリビューションが**rootユーザー(管理者権限)**で起動してしまうことがあります。
rootユーザーでの常用はセキュリティ上おすすめできません。普段使いは一般ユーザー(UID=1000)で行い、必要なときだけsudo
で権限昇格するのが安全です。
regeditでUIDを3E8(1000)に設定する手順
WSLの起動ユーザーは、Windowsのレジストリで管理されています。
DefaultUidという値を「3E8」(16進数、10進数で1000)に設定することで、一般ユーザーでの起動が可能になります。
手順
- regeditを起動する
Windowsキー + R → 「regedit」と入力しEnter - 該当レジストリキーに移動
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
この下に、WSLでインストールした各ディストリビューションごとのGUID(英数字の羅列)サブキーがあります。 - ディストリビューションを特定
サブキー内の「DistributionName」値で、対象のディストリビューション(例:Ubuntu)を確認します。 - DefaultUidの設定
「DefaultUid」(REG_DWORD型)があればダブルクリックして編集。
なければ右クリック → 新規作成 → DWORD値(32ビット)で「DefaultUid」を作成。
値のデータを「3E8」(16進数)に設定します。
10進数の場合は「1000」と入力してください。

5.WSLを再起動
設定が反映されるように、WSLを一度終了し再度起動します。
PowerShellでの設定方法
レジストリエディタを使わず、PowerShellからも設定できます。
reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}" /v DefaultUid /t REG_DWORD /d 1000 /f
{GUID}
は対象ディストリビューションのGUIDに置き換えてください。
注意点と補足
- UID=1000は、Linuxで最初に作成される一般ユーザーの標準UIDです。
- rootで起動したい場合は、DefaultUidを「0」に設定してください。
- ユーザーがまだ作成されていない場合は、rootで起動してから
adduser
コマンドでユーザーを追加しましょう。 - レジストリの編集は慎重に行ってください。誤った編集はシステムに影響を及ぼす可能性があります。
まとめ
WSLのデフォルト起動ユーザーを一般ユーザーに変更するには、regeditで「DefaultUid」を「3E8」に設定するのが簡単で確実な方法です。
rootでしか起動できない場合や、セキュリティを高めたい場合にぜひ活用してみてください。
WSLのユーザー管理でお困りの方は、ぜひ本記事を参考に設定を見直してみてください!
コメント