WSL 1 运行 Ubuntu 20.04 将会出现问题

2020年04月13日

Ubuntu 论坛一个帖子指出,Windows 的 Linux 子系统 WSL 1 在运行 Ubuntu 20.04 LTS 时将会出现问题,提醒用户注意相关版本的使用。

问题来自 glibc 2.31 中的补丁,该补丁以类似于 UNIX 的方式实现了基于 CLOCK_REALTIME 的 nanosleep() 库调用。在 NT 内核上模拟 UNIX 系统时钟非常棘手。WSL 1 实现了最流行的基于时钟的系统调用,但并非全部都实现,并且没有将 CLOCK_REALTIME 支持构建到 nanosleep 中。

WSL 1 完全实现这一支持还需要一些时间,而除非是 Windows Insider 用户,否则可能几个月内都不会见到问题修复。没有此修复程序,WSL 1 上的 Ubuntu 20.04 往往会崩溃,甚至在升级到 Ubuntu 20.04 的过程中也会有问题。

用户可以怎么做呢?对于 WSL 1 用户,建议暂时停留在 Ubuntu 18.04 LTS,不向上升级到 20.04(几周后发布)。

对于 WSL 2 用户,Ubuntu 20.04 发布时可以随意升级,甚至更早就可以使用非稳定版本进行测试。

对于升级到 WSL 2 的 WSL 1 用户,当 Ubuntu 20.04 可用时,应首先使用以下命令将 Ubuntu 18.04 镜像转换为 WSL 2:

$ wsl.exe --set-version Ubuntu 2

再将其升级到 20.04。

而如果无论如何就是想要从 WSL 1 升级 Ubuntu 20.04,那么在升级前,先阻止 libc6 更新:

$ sudo apt-mark hold libc6

更多细节查看原帖:https://discourse.ubuntu.com/t/ubuntu-20-04-and-wsl-1/15291

展开阅读全文
5 收藏
分享
加载中
精彩评论
那就用WSL2,随便跑
2020-04-13 12:57
4
举报
wsl2啊
2020-04-13 13:24
2
举报
为啥?安卓模拟器已经可以使用 hyper-v 加速了,不再冲突了。
2020-04-14 11:32
1
举报
wsl2对于经常用安卓模拟器的人来说, 一点吸引力都没有,感觉倒退了。。。
2020-04-13 17:18
1
举报
最新评论 (11)
wsl2对于经常用安卓模拟器的人来说, 一点吸引力都没有,感觉倒退了。。。
2020-04-13 17:18
1
回复
举报
为啥?安卓模拟器已经可以使用 hyper-v 加速了,不再冲突了。
2020-04-14 11:32
1
回复
举报
我又不是开发, 我只是玩玩游戏而已
2020-04-14 11:35
0
回复
举报
那你更不会安装wsl2了
2020-04-15 12:51
0
回复
举报
每次电脑重启wsl2的内网ip都可能会变,怎么才能保持不变呢?
2020-04-13 13:21
0
回复
举报
那就用WSL2,随便跑
2020-04-13 12:57
4
回复
举报
说好的Win10是最好的Linux发行版的呢?怎么连个Ubuntu 20.04都跑不了?
2020-04-13 12:22
0
回复
举报
wsl2啊
2020-04-13 13:24
2
回复
举报
WSL2底层是虚拟机,那个虚拟机不能跑Linux?
2020-04-15 15:36
0
回复
举报
那wsl1 跟wine差不多,但兼容性不高,而且新闻也说了,之后会更新wsl1兼容ubuntu20.04
2020-04-15 23:34
0
回复
举报
666 喷子
2020-04-13 20:50
0
回复
举报
更多评论
11 评论
5 收藏
分享
返回顶部
顶部