告别WSL1!手把手教你将WSL升级到WSL2,并更新Linux内核到最新版(2024保姆级教程)
2024终极指南从WSL1无缝迁移至WSL2并升级Linux内核如果你还在使用WSL1可能会遇到Docker运行缓慢、文件系统操作卡顿等问题。WSL2带来了完整的Linux内核支持性能提升显著。本文将带你完成从WSL1到WSL2的完整迁移并确保你的Linux内核是最新版本。1. 为什么应该从WSL1升级到WSL2WSL1和WSL2虽然都是Windows Subsystem for Linux的实现但它们的架构差异巨大WSL1通过转换层将Linux系统调用转换为Windows NT内核调用WSL2基于轻量级虚拟机运行真正的Linux内核性能对比特性WSL1WSL2文件系统IO慢快Docker支持有限完整系统调用兼容性部分完整内存占用低中等启动速度快稍慢提示如果你主要使用Linux工具链进行开发或需要运行DockerWSL2是更好的选择。2. 升级前的准备工作在开始升级前请确保Windows 10版本1903或更高或Windows 11管理员权限至少4GB内存推荐8GB以上已安装WSL1并配置了至少一个Linux发行版检查当前WSL版本wsl --list --verbose输出示例NAME STATE VERSION * Ubuntu-20.04 Running 13. 启用WSL2所需功能WSL2需要启用两个Windows功能以管理员身份打开PowerShell执行以下命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启计算机验证虚拟机平台是否启用Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform4. 设置WSL2为默认版本更新WSL内核组件下载最新WSL2内核更新包官方链接Microsoft WSL2内核更新备用链接TechGeekNext镜像运行下载的安装包如wsl_update_x64.msi设置WSL2为默认版本wsl --set-default-version 25. 转换现有发行版到WSL2列出已安装的发行版wsl --list --verbose转换指定发行版wsl --set-version 发行版名称 2例如wsl --set-version Ubuntu-20.04 2转换过程可能需要几分钟取决于发行版大小。6. 验证升级结果确认转换成功wsl --list --verbose输出应显示VERSION为2NAME STATE VERSION * Ubuntu-20.04 Running 2检查Linux内核版本uname -a输出示例Linux DESKTOP-ABC123 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux7. 常见问题解决7.1 WSL 2 requires an update to its kernel component错误解决方案确保已安装最新内核更新包检查Windows更新重启计算机7.2 转换过程卡住尝试重启WSL服务wsl --shutdown清理WSL缓存wsl --terminate 发行版名称重新尝试转换7.3 内存占用过高WSL2默认会使用最多50%的物理内存。如需限制在用户目录下创建或修改.wslconfig文件[wsl2] memory4GB swap2GB然后重启WSLwsl --shutdown8. 高级配置与优化8.1 使用systemdWSL2默认不启用systemd。如需启用编辑/etc/wsl.conf[boot] systemdtrue退出并重启WSLwsl --shutdown8.2 跨平台文件访问WSL2访问Windows文件cd /mnt/c/Users/YourUsernameWindows访问WSL2文件 在文件资源管理器中输入\\wsl$\Ubuntu-20.04\home\username8.3 网络配置WSL2使用NAT网络。获取IP地址ip addr show eth0从Windows访问WSL2服务wsl hostname -I9. 保持内核更新微软会定期发布WSL2内核更新。检查更新查看当前内核版本uname -a定期检查并下载最新内核更新包关注微软WSL文档获取更新信息10. 回滚到WSL1如需回滚wsl --set-version 发行版名称 1或者设置默认版本为1wsl --set-default-version 1在实际项目中我发现WSL2对Docker开发的支持明显更好特别是使用Docker Desktop时性能提升显著。文件系统操作也不再是瓶颈特别是处理大量小文件时。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449136.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!