Categories: wsl技術

WSLの起動ユーザーを一般ユーザーに変更する方法【regeditでUIDを3E8に設定】

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)に設定することで、一般ユーザーでの起動が可能になります。

手順

  1. regeditを起動する
    Windowsキー + R → 「regedit」と入力しEnter
  2. 該当レジストリキーに移動
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
    この下に、WSLでインストールした各ディストリビューションごとのGUID(英数字の羅列)サブキーがあります。
  3. ディストリビューションを特定
    サブキー内の「DistributionName」値で、対象のディストリビューション(例:Ubuntu)を確認します。
  4. 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のユーザー管理でお困りの方は、ぜひ本記事を参考に設定を見直してみてください!

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村