WSL 安装/迁移/适配

发布时间:2026/10/16 1:41:19

WSL 安装/迁移/适配 windows配置打开控制面板-程序和功能-启用或关闭Windows功能适用于Linux的Windows子系统虚拟机平台 / Windows 虚拟机监控程序平台Hyper-VWindows Hypervisor Platform有的都选上点击立即重新启动等待电脑重新启动完成安装WSLwin11以管理员身份打开powershell执行 wsl --install 下载但通常该步骤下载速度贼慢还容易失败wsl --install // 下载建议直接官网下载若还是下载过慢可在迅雷下载安装https://github.com/microsoft/WSL/releases配置更新为wsl2wsl --update# 更新 wsl --set-default-version 2 #设置为WSL2如果出现提示请求的操作需要提升请确保以管理员身份运行终端操作如果切换版本依然失败可以尝试先注销已安装的系统再更新切换安装内核更新包下载适用于x64的内核包并安装查看可安装Ubuntu版本wsl --list --online安装对应版本Ubuntuwsl --install -d Ubuntu-18.04 // 安装到指定位置 wsl --install -d Ubuntu-22.04 --web-download --location D:\WSL\ubuntu22.04或者在微软应用商城安装但会安装到默认位置查看对应安装位置以管理员身份打开 PowerShellGet-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object { $p $_.GetValue(DistributionName) $b $_.GetValue(BasePath) $p → $b }查看Ubuntu目录启动wsl安装成功后配合 Windows Terminal 使用下拉powershell检查或启动后配置用户名和密码windows 对应配置文件路径%UserProfile%\.wslconfig基本配置参考[wsl2]processors8memory8GBswap4GBkernelCommandLine vsyscallemulate[experimental]autoMemoryReclaimgradualsparseVhdtrue迁移WSL由于WSL安装的ubuntu默认在C盘这时我们需要迁移到其他盘以节省空间查看wsl状态wsl -l -v停止运行对应Ubuntuwsl --shutdown导出系统镜像wsl --export Ubuntu-18.04 E:\ubuntu18.04.tar注销原有系统wsl --unregister Ubuntu-18.04重新检查原系统是否还存在wsl -l -v导入系统镜像到新位置wsl --import Ubuntu-18.04 E:\LINUX\ubuntu18.04 E:\ubuntu18.04.tar重新启动登录,验证是否正常wsl更改默认root登录打开wsl.confvim /etc/wsl.conf配置对应用户名主机名默认继承 windows[user] defaultuser_name关闭重启wsl验证wsl --shutdownTina SDK从虚拟机移动到WSL实例分析版本SDK:v821 v1.0 Ubuntu:Ubuntu-18.04前提虚拟机编译性能低配合IDE占用内存高所以转移SDK,使用轻量级linux环境Tina SDK编译报错vsyscall未启动cc1: internal compiler error: Segmentation faultriscv32-linux-gcc.gnu: internal compiler error: Segmentation fault signal terminated program cc1wsl配置vsyscall路径冲突由于SDK从虚拟机复制旧路径与新路径存在差异需要clean确保环境干净make clean或cleanall若情况依然报错需要手动清理编译中间文件find ./* -name *.o.cmd | xargs rm -vfr {}libfakeroot: connect: Connection refused由于我不小心电脑卡机重启后导致一直打不开wsl资源管理器也一直卡在主文件夹加载一怒之下把这个文件给删了后来想想应该是电脑卡机后wsl异常中断需要时间重新加载启动wsl导致该报错该SDK没想到还更网络配置有关ifconfig发现wsl的ip一直与主机一致也无法联网windows下ipconfig中的网络适配器vethernet (wsl)也消失了改着改着只剩本地回环后就编译成功了但wsl感觉已经被破环不少了Hyper-v创建虚拟以太网交换机也成功不了绝望啊有没有大佬救救我编译成功记得及时做好环境备份原因分析在特定场景下fakeroot在编译过程中会依赖本地 TCP 通信若网络配置异常如防火墙阻止本地回环通信、容器网络隔离等会导致通信失败进而引发编译中断。fakeroot的核心功能是模拟 root 权限环境但其某些实现如 Debian 的fakeroot-net包在多进程协作时会通过本地 TCP 端口或Unix Socket进行进程间通信IPC。直接后果fakeroot进程无法同步权限状态导致文件所有权/权限的模拟失效。编译脚本检测到权限操作失败如chown、chmod返回错误终止编译流程。.wslconfig配置文件参考# 不加载Windows中的PATH内容 [interop] enabledfalse appendWindowsPath false # 不自动挂载Windows系统所有磁盘分区 [automount] enabled false [wsl2] kernelCommandLine vsyscallemulate # 是否强制 WSL2/WSLg 子系统使用 Windows 代理设置请根据实际需要启用 autoProxytrue # WSL2/WSLg DNS 代理隧道以便由 Windows 代理转发 DNS 请求请根据实际需要启用 dnsTunnelingtrue # WSL2/WSLg 子系统的 Windows 防火墙集成以便 Hyper-V 或者 WPF 能过滤子系统流量请根据实际需要启用 firewalltrue # 启用 WSLg GUI 图形化程序支持 guiApplicationstrue # 启用 IPv6 网络支持 ipv6true # 启用 localhost 网络转发支持 localhostForwardingtrue # 限制 WSL2/WSLg 子系统的最大内存占用 memory4GB # 启用 WSL2/WSLg 子系统嵌套虚拟化功能支持 nestedVirtualizationtrue # 启用镜像网络特性支持 networkingModemirrored # 启用 WSL2/WSLg 子系统页面文件通报以便 Windows 回收已分配但未使用的内存 #pageReportingtrue # 设置 WSL2/WSLg 子系统的逻辑 CPU 核心数为 8最大肯定没法超过硬件的物理逻辑核心数 processors8 # 实验性功能 [experimental] # 启用空闲内存自动缓慢回收 autoMemoryReclaimgradual # 启用 WSL2/WSLg 子系统和 Windows 宿主之间的本地回环互通支持 hostAddressLoopbacktrue # 启用 WSL2/WSLg 子系统虚拟硬盘空间自动回收 sparseVhdtrue # 和 dnsTunneling 配合使用决定是否使用 Windows DNS 缓存池 useWindowsDnsCachefalsepackage/install报错编译报错make -j8 packmake -j1 Vs报错信息find:相对路径“Workstation”包含在path环境变量中与find的-execdir操作结合使用是不安全的。请从$PATH中删除该条目find: The relative path Workstation is included in the PATH environment variable, which is insecure in combination with the -execdir action of find. Please remove that entry from $PATH查看环境变量echo $PATH发现Windows环境变量被并入wsl,且原因Windows安装了虚拟机导致Workstation定义冲突修改环境变量取消Windows环境变量确保wsl环境干净sudo vim /etc/wsl.conf添加如下内容# 不加载Windows中的PATH内容 [interop] enabledfalse appendWindowsPath false # 不自动挂载Windows系统所有磁盘分区 [automount] enabled false以管理员身份运行powershell,执行如下命令生效:wsl --terminate Ubuntu-18.04VSCode连接WSL报错提前安装好wsl插件wslServer.sh原因由于我们关闭了windows磁盘的挂载而vscode安装在windows所以wsl找不到对应脚本解决办法创建挂载节点sudo mkdir /mnt/forVSCode添加权限sudo chmod 777 /mnt/forVSCode/临时挂载vscode连接脚本目录sudo mount -t drvfs C:\Users\admin\.vscode\extensions\ms-vscode-remote.remote-wsl-0.88.5\ /mnt/forVSCode卸载节点sudo umount /mnt/forVSCode永久生效sudo vim /etc/fstab添加条目C:\Users\admin\.vscode\extensions\ms-vscode-remote.remote-wsl-0.88.5\ /mnt/forVSCode drvfs rw,relatime,uid1000,gid1000,umask000,fmask000,metadata 0 0GLIBC版本问题查看glibc版本ldd --version查看vscode版本vscode版本若高于1.85版本wsl环境需要安装glibc veresion 2.28,一般Ubuntu 18.04默认安装是glibc 2.27(SDK可能对glibc版本有要求)v533 SDK 报错Ubuntu 18.04 LTS 安装 GLIBC_2.28APT方法_ubuntu 18.04升级gclibc为2.28-CSDN博客非必要不要改动glibc版本建议使用vscode低版本并禁止升级但低版本用户设置可能无法同步
延伸阅读

更多相关文章

2026/10/16 1:41:19

C++学习笔记@TheCherno

油管技术大神@TheCherno的C++系列课程,本博客将按照我自己每天看的量记录笔记,欢迎大家来一起监督学习,与君共勉。 写在最前面的一些提醒,本系列课程可能需要一些c的基础,这样看本笔记要能简单些。 2025/3/15 [8]C++变量 1. 2. [9]C++函数 1. 2. 2025/3/17 [10]C++的…

2026/10/16 1:36:18

ng-zorro Modal组件实战:从基础用法到性能优化的完整指南

ng-zorro的Modal组件,我用了一年多,从最开始只会打开关闭,到后来处理各种嵌套表单、异步提交、动态数据、组件通信的复杂场景,踩了不少坑,也攒了不少心得。这篇就把我在实际项目中操作Modal的细节经验完整梳理一遍&…

2026/10/16 1:36:18

GetQzonehistory|扫码一次,把 QQ 空间历史说说搬进本地 Excel

GetQzonehistory|扫码一次,把 QQ 空间历史说说搬进本地 Excel 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你上一次翻到几年前的说说是什么时候?Q…

2026/10/16 6:46:35

《派出你的AI同事:WorkBuddy案例实战》034:产品手册 RAG 精准客服

《派出你的AI同事:WorkBuddy案例实战》034:产品手册 RAG 精准客服 📌 卷三 第四部分 记得住、学得会的 AI 同事:记忆与知识库 第10章 知识库与 RAG 实战 10.2 10.2 产品手册 RAG 精准客服 背景与痛点 客服团队最大的敌人不是“态度”,而是“信息跟不上产品”: 产品…

2026/10/16 6:46:35

C# WinForms集成OpenTK实现可交互3D柱状图控件实战

简介:一款基于C#与OpenTK的WinForm 3D图表控件完整工程包,面向需要为桌面程序增加立体数据可视化的.NET开发者。 该控件通过OpenGL绘图实现真正的三维展示,支持鼠标拖拽旋转查看、自定义图表颜色与文字颜色,适合金融、科研、工业…

2026/10/16 6:46:35

魔改Informer实现滚动长期预测:数据、模型、实验全流程

简介:一套面向时间序列长期预测与科研论文实验的Informer魔改方案,针对官方代码仅支持固定长度预测的局限,新增滚动长期预测功能:首次预测未来24个时间点后自动回填,再继续预测下一段24个值,全过程无需手动…

2026/10/16 6:46:35

《派出你的AI同事:WorkBuddy案例实战》049:BIM 与 GIS 文档与变更管理

《派出你的AI同事:WorkBuddy案例实战》049:BIM 与 GIS 文档与变更管理 📌 卷三 第七部分 行业案例集 第15章 工程与水利数字孪生实战 15.2 15.2 BIM 与 GIS 文档与变更管理 背景与痛点 BIM(建筑信息模型)和 GIS(地理信息系统)是工程数字孪生的两根主梁。一座大型工…

2026/10/16 6:41:34

上海松江别墅室内甲醛检测方案设计:方法学与布点参数解析

摘要:别墅类住宅因楼层多、房间功能复杂、定制木作用量大,其室内甲醛检测方案与普通住宅存在显著差异。本文从方法学选择、布点参数设计、CMA资质核验(含2026年"一单一库"新规下的报告出具规则)、典型误差来源四个维度&…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/16 0:01:11

Cephadm实战指南:Linux系统工程师的生产级Ceph集群部署与排障

简介:本资源是一份完整的Ceph分布式存储系统中文技术文档合集,面向Linux系统运维工程师、云平台架构师及存储方向开发者,帮助读者系统掌握Ceph集群的部署、配置与运维核心能力。文档覆盖对象存储(RGW)、块设备&#xf…

2026/10/16 0:01:11

ITK中SpatialObject几何体系解析:坐标系、变换与管道集成

1. 空间对象的定位:为什么 ITK 需要一套几何描述体系很多刚开始接触 ITK 的朋友,包括我自己,最初都是被它的图像滤波、配准、分割这些“正统”功能吸引进来的。等真正上手做点实际项目,比如把分割出来的器官边界做量化分析、给血管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑