WSL 网络突然不可用了,真的是得远离瘟到死

2021-10-18 16:41:23 +08:00
 kischang
之前一切正常,最近也没有安装啥更新的
突然间今天发现开发工具连不上 WSL 里的 mysql 了,遂进去检查,发现 wsl 里的网络没有了
没有到 Ubuntu 报的是没有网络设备
什么重置网络、重新启用 Linux 子系统,全都试了没用
wsl 也没有 netplan 、networking 什么乱七八糟的东西,网络都是不能配置的,也不能重启相关网络服务
真的不知道怎么操作了

瘟到死真的是
4308 次点击
所在节点    Windows
34 条回复
kischang
2021-10-18 17:17:41 +08:00
@qq316107934 #17 问题解决了,在 20 楼
ifconfig 没有任何输出,没有任何 interface
机器上有 wsl1 和 wsl2 两个 Ubuntu,wsl1 一直是正常得,wsl2 突然出得问题
qq316107934
2021-10-18 17:21:16 +08:00
@kischang 为啥 swap 会影响网络...太迷了
hwdef
2021-10-18 17:25:01 +08:00
???? swap 影响网卡?啥原因
mxT52CRuqR6o5
2021-10-18 17:31:41 +08:00
qq316107934
2021-10-18 17:35:23 +08:00
@mxT52CRuqR6o5 看 mentioned issue 就知道有多少人被坑了...
kischang
2021-10-18 17:38:14 +08:00
@qq316107934 #22
@hwdef #23
嗯,not exist FIB table,试了几个答案,试到了禁用 swap 就可以了,具体原因真的是不知道,也没有找到对应 wsl 的 issue
这是答案的链接: https://stackoverflow.com/questions/66338549/wsl2-network-unreachable
weiceshi
2021-10-18 18:01:42 +08:00
楼主的 %Temp% 文件夹是不是启用压缩了?
.wslconfig 文件中两个参数的默认值如下
swap 25% of memory size on Windows rounded up to the nearest GB
swapFile %USERPROFILE%\AppData\Local\Temp\swap.vhdx

所以如果 swapFile 在 wsl 中无法写入(发生最多的情况是 %TEMP% 文件夹开启压缩),那么 wsl 初始化过程中发现无法创建交换文件,所以跳过了后面的步骤,包括网络初始化
所以解决的方案就是两种
其中一种:就是楼上大家说的设置 swap=0,跳过 swap 创建
另外一种:使 swapFile 可写,比如通过设置 swapFile 到其他路径,或者关闭%Temp%目录的压缩
kischang
2021-10-18 18:08:23 +08:00
@weiceshi #27 是因为这个问题,已通过禁用解决,感谢回复,很专业

@qq316107934
@hwdef
终于找到这么迷幻的原因了😂
weiceshi
2021-10-18 18:13:24 +08:00
@kischang
>以及微软官方说的压缩只是 ntfs 4k 的问题,而非真正的文件压缩,是怎么影响到功能的,不知道
ntfs 压缩不是 4k 对齐的问题,是使用 LZNT1 算法的透明压缩
>但至于为啥 swap 压缩会影响网络,不知道
因为 Linux 的 NTFS 驱动里只有 ntfs-3g 支持透明压缩,而 Windows 不支持 FUSE,因此无法在 Windows 目录上使用 NTFS-3G
也就是说在 WSL 的 linux 内部无法读写启动压缩的 windows 目录
kischang
2021-10-18 18:21:27 +08:00
@weiceshi #29 这个 LZNT1 的透明压缩的来源是哪里啊?
这是我找到的关于 ntfs 压缩的解答
https://answers.microsoft.com/zh-hans/windows/forum/all/%E5%8E%8B%E7%BC%A9%E5%86%85%E5%AE%B9%E4%BB%A5/9f1240f1-d0cd-48b2-9d6f-358be786d7a1
weiceshi
2021-10-18 18:31:23 +08:00
@kischang

https://docs.microsoft.com/en-us/windows/win32/fileio/file-compression-and-decompression
The NTFS file system volumes support file compression on an individual file basis. The file compression algorithm used by the NTFS file system is Lempel-Ziv compression. This is a lossless compression algorithm, which means that no data is lost when compressing and decompressing the file, as opposed to lossy compression algorithms such as JPEG, where some data is lost each time data compression and decompression occur.
lb111223
2021-10-19 03:42:58 +08:00
hyper-v 好像是底层直接访问磁盘,压缩了会出现问题
Sendya
2021-10-19 11:05:45 +08:00
比较好奇什么需求要开磁盘压缩
hs0000t
2021-10-19 22:07:32 +08:00
@Sendya 例如硬盘只有 128G

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/808578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX