元数据
| id | wsl-default-user-root-after-import | 收录 | 2026-08-31 |
|---|---|---|---|
| 问题域 | 编码代理与终端 | 主题分组 | 容器与 WSL |
| 适用工具 | wsl · 外部工具 | ||
症状
```
$ whoami
root
$ ubuntu config --default-user myuser # 导入版:报错或不生效
```
特征:迁移/导入前是普通用户、导入后变 root;`/etc/wsl.conf` 没有 `[user]` 段;`config --default-user` 对导入版无效。
原因
WSL 启动用户由启动器默认用户或 `/etc/wsl.conf [user] default=` 决定。`wsl --import` 导入的发行版没有可执行启动器,`config --default-user` 不生效;export 保留原 wsl.conf,原配置缺 `[user]` 段时导入后默认 root。
解法
1. `whoami` + `cat /etc/wsl.conf` 确认缺 `[user]` 段;
2. `echo -e "[user]\ndefault=你的用户名" >> /etc/wsl.conf`(用户名须已存在);
3. Windows 侧 `wsl --terminate <发行版名>` 重启发行版;
4. 重进验证 `whoami`。
验证证据
- 机制核对:微软官方文档(basic-commands 的 config --default-user 警告 + wsl-config 的 [user] default=);
- 本机对照(2026-08-31):定制预构建版 `whoami` = root 且 `/etc/wsl.conf` 无 `[user]` 段,与机制结论一致;未修改配置复现故障(避免影响工作环境);
- 实测复现日志(2026-08-31)
来源与证据
素材来源:微软官方文档机制核对 + 本机对照(2026-08-31)
验证证据:Evidence details kept locally (2026-08-31)