WSL 2 真的支持 32 位程序吗?
- 2024-10-18 09:00:00
- admin 原创
- 215
问题描述:
我在 Google 上搜索过这个问题,一些答案声称 WSL 2 现在支持 ELF 32 程序。
但是,在 wsl2 Debian/Ubuntu 发行版上进行的简单测试未能通过。
这是我的测试:
// install run-time
sudo dpkg --add-architecture i386
sudo apt-get update
// install build tools
sudo apt install build-essential
sudo apt install gcc-multilib
// build
gcc helloworld.c -m32
// run!
./a.out
bash: ./a.out: cannot execute binary file: Exec format error
指:
Exec 格式错误 32 位可执行文件 Windows Subsystem for Linux?
解决方案 1:
如果您在 WSL 中运行该命令,uname -a
则应该得到包含 WSL 版本的结果。这应该是这样的Linux COMPUTER_NAME 4.4.0-18362-Microsoft ...
。该输出中的数字 18362 是您的 WSL 版本,它至少需要为 19041 才能成为 WSL2 版本(仅 WSL2 支持 32 位应用程序)。
您也可以在 CMD shell 中运行wsl --list --verbose
,您将看到您的 WSL 实例的版本是1
。
WSL2 将于本月晚些时候成为 Windows 更新的一部分
WSL2 将于 2020 年 5 月 12 日作为 Windows 10 2004 的一部分发布。如果您不想等待,可以通过“Windows Insider 计划”注册预览版本。
立即通过 Windows Insider 计划获取 WSL2(大约需要 1 小时的工作时间):
在 Windows 中,转到“设置” -> “Windows Insider 计划”并注册该计划。然后检查更新。下载需要一段时间,然后按照提示完成所有必要的重启等操作。
确保在“打开或关闭 Windows 功能”中启用了“虚拟机平台”
在 CMD 或 powershell 中运行,
wsl --set-default-version 2
使所有未来的 WSL 安装都使用 WSL2运行
wsl --set-version <Distro> 2
将已安装的实例更改为 WSL2
+ 这将花费**很**长时间。在网上看到可能需要几个小时后,我放弃了。相反,我卸载了 Ubuntu 并重新安装它。这花了大约 10 分钟。只要你将默认设置为 WSL2,重新安装就会是 WSL2。
你可以通过运行以下命令来验证你的 WSL 是否为版本 2:
wsl --list --verbose
你的 32 位二进制文件现在应该可以工作了
我刚刚在过去一个小时里完成了所有这些工作,因为我需要运行我今天早上构建的 Zephyr 模拟二进制文件。它成功了,我很高兴 :)
资料来源:
Github 问题 - 滚动到末尾
安装 WSL2
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)