wsl备份恢复
以Ubuntu-22.04为例
查看镜像实例名
打包输出备份
1
| wsl --export Ubuntu-22.04 D:/export.tar
|
注销实例
1
| wsl --unregister Ubuntu-22.04
|
重新安装
1
| wsl --import Ubuntu-22.04 D:\app\dev\Ubuntu_22_04\ D:\export.tar --version 2
|
设置默认子系统
1
| wsl --setdefault Ubuntu-22.04
|
启动
补充1: WSL 1 vs WSL 2 区别
WSL(Windows Subsystem for Linux)允许你在 Windows 系统上运行 Linux 环境。WSL 1 和 WSL 2 是两个版本,它们之间有以下主要区别:
| 特性 | WSL 1 | WSL 2 |
|---|
| 内核 | 使用 Windows 内核实现 | 使用 Linux 内核,基于虚拟机实现 |
| 文件系统性能 | 文件操作较慢 | 提供更高的文件系统性能,特别是对 Linux 文件系统的访问 |
| 兼容性 | 不完全兼容某些 Linux 应用 | 高度兼容大部分 Linux 应用,包括 Docker |
| 网络支持 | 网络支持较弱 | 支持更好的网络功能,能够运行更复杂的网络服务 |
| 容器支持 | 不支持容器技术(如 Docker) | 完全支持 Docker 和其他容器技术 |
| 启动速度 | 启动较快,资源占用较低 | 启动速度较慢,但更高效且灵活 |
遇到的问题
默认以root用户启动
在导出和导入的过程中,系统会将整个文件系统打包成一个tar文件,然后再解包到新的位置。这意味着用户配置文件(如/etc/passwd、/etc/group等)可能没有被正确地保留或恢复。
特别是,WSL的用户配置文件中可能包含了默认登录用户的设置,如果这个配置在导出导入过程中被破坏或未正确恢复,系统可能会默认选择root用户作为登录用户。
编辑/etc/wsl.conf,添加
1 2
| [user] default=your_username
|