在 Windows 上使用 WSL (Windows Subsystem for Linux) 进行开发时我们经常需要以 root 权限执行操作也常常担心把环境改乱了无法恢复。本文将分享两个非常实用的 WSL 技巧如何将默认登录用户设置为 root以及如何像虚拟机一样给 WSL 系统打快照备份与还原让你的开发环境更顺手、更安全。一、设置 WSL 默认登录用户为 Root默认情况下安装完 WSL 发行版如 Ubuntu后系统会要求你创建一个普通用户并且每次登录都会自动进入该用户。如果你习惯使用 root 账户可以通过以下两种方法更改默认登录用户。 方法一通过 Windows 命令行设置推荐查看已安装的 WSL 发行版名称在 PowerShell 或命令提示符中输入wsl-l-v记下你想要修改的发行版名称例如Ubuntu-22.04或Ubuntu。设置 root 为默认用户执行以下命令将Ubuntu-22.04替换为你的实际发行版名称Ubuntu-22.04 config--default-user root重启 WSL 使配置生效在 PowerShell 中运行wsl--shutdown然后重新打开 WSL 终端你就会发现已经自动以 root 身份登录了。 方法二通过修改 Linux 内部配置文件如果你更喜欢在 Linux 环境中操作可以修改 WSL 的配置文件/etc/wsl.conf。在 WSL 终端中编辑配置文件sudonano/etc/wsl.conf如果文件不存在它会自动创建。添加以下内容[user] defaultroot保存并退出CtrlOCtrlX。重启 WSL在 Windows PowerShell 中执行wsl--shutdown重新打开 WSL 终端即可使用 root 登录。⚠️ 注意事项以 root 身份操作具有最高权限请谨慎执行命令避免误删重要文件。如果想恢复为原来的普通用户只需将上述命令或配置中的root替换成你的用户名即可。二、WSL 快照功能备份与还原整个系统WSL 原生支持将整个发行版导出为一个.tar文件你可以把它当作系统的“快照”保存起来。当环境被搞乱后可以快速从快照还原省去重新配置的麻烦。 创建快照备份确认发行版名称在 PowerShell 中运行wsl-l-v导出系统到 tar 文件假设发行版名为Ubuntu-22.04你想将快照保存到D:\WSLBackups\ubuntu_clean_snapshot.tarwsl--export Ubuntu-22.04 D:\WSLBackups\ubuntu_clean_snapshot.tar等待命令执行完成你会在指定目录得到一个完整的系统备份文件。♻️ 从快照还原系统当需要恢复环境时有两种选择覆盖现有系统或创建一个全新的并行系统。选项 A覆盖当前系统先注销再导入注销并删除当前系统警告此操作将永久删除当前 Ubuntu 系统的所有数据请提前备份重要文件wsl--unregister Ubuntu-22.04从备份导入为新系统wsl--import Ubuntu-22.04 D:\WSL\Ubuntu22\ D:\WSLBackups\ubuntu_clean_snapshot.tar--version 2D:\WSL\Ubuntu22\是系统文件存放的目录可以自定义。--version 2指定使用 WSL 2。选项 B创建一个并行的新系统保留原系统如果你想同时拥有两个独立的 Ubuntu 环境可以给新系统起一个不同的名字wsl--import Ubuntu-22.04-clean D:\WSL\Ubuntu22-clean\ D:\WSLBackups\ubuntu_clean_snapshot.tar--version 2之后可以通过wsl -d Ubuntu-22.04-clean来启动这个备份环境。 还原后设置默认用户从快照导入的系统默认登录用户是root。如果你想恢复原来的普通用户可以按照以下步骤操作以 root 身份进入系统wsl-d Ubuntu-22.04编辑/etc/wsl.conf文件nano/etc/wsl.conf添加或修改以下内容将yourname替换为你的用户名[user] defaultyourname保存退出。重启 WSL 使配置生效在 PowerShell 中执行wsl--terminate Ubuntu-22.04再次启动 WSL就会以你指定的普通用户登录了。✨ 小技巧仅备份用户数据如果你只关心代码和配置文件可以定期在 WSL 内部使用tar命令备份家目录tar-czf~/backup_home_$(date%Y%m%d).tar.gz /home/你的用户名这样既节省空间又能保护重要数据。总结通过以上两个技巧你可以随心切换 root 用户避免每次输入sudo的繁琐。给 WSL 系统打快照随时回滚到干净状态再也不怕折腾坏了。希望这些方法能帮助你更高效地使用 WSL如果在操作中遇到问题欢迎留言交流。