启用Windows功能
按Windows键全局搜索“启用或关闭Windows功能”
打开后开启图中的四个选项,有些系统可能会没有翻译成中文,记得仔细对照
然后根据要求重新启动Windows系统
安装WSL
在Windows下按 Win 键,点击Windows PowerShell(管理员),在终端输入:
1 | wsl --install --no-distribution |
完成上述命令后,系统会自动安装不带任何发行版的Linux虚拟机
如果想查看已安装的发行版以及相应的WSL版本,可以输入:
1 | wsl --list --verbose |
安装Ubuntu
1 | wsl --install Ubuntu-22.04 |
也可以选择微软商店安装
然后就可以快乐的输入用户名和密码使用WSL了,注意用户名不可以有大写字母
换源
切换到root用户 (必须) ,用以下脚本一把梭
1 | sudo su |
报错解决
一、内核更新
1 | WslRegisterDistribution failed with error: 0x800701bc |
以上报错需要下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包
安装链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
二、回退到无网络
1 | C:\Users\67300\.wslconfig |
在C盘用户目录下创建一个.wslconfig
文件,输入以下内容
1 | [wsl2] |
然后Powershell输入即可
1 | wsl --shutdown |
三、Sage虚拟环境冲突
Windows版SageMath会自带一个VirtualBox
的类Unix虚拟环境,会导致Hyper-V停止运行
首先需要使用Geek Uninstaller
彻底删除SageMath
需要重新关开Hyper-V
和虚拟机平台
,如果任务管理器里的虚拟化也被关闭了,则需要进入BIOS重新开启
四、安卓模拟器冲突
部分安卓模拟器的虚拟化技术会和Hyper-V
冲突,需使用Geek Uninstaller
删除后重新在启用Windows功能
中开启Hyper-V
和虚拟机平台
等选项,如果有模拟器需求,可以换用WSA(Windows Subsystem for Android)
或支持与Hyper-V
兼容的模拟器,目前测试可用:网易MuMu模拟器,逍遥安卓等
五、运行32位i386程序报错
如果遇到./可执行文件
显示No Such File or Directory
,在排除路径和文件自身问题后,可能是windows支持的Linux的系统对32位程序运行的不能直接支持的问题导致的,需要安装相对应的运行库。
按步骤完成以下命令即可:
安装qemu-user-static
,用来模拟运行32位的i386可执行程序
1 | sudo apt install qemu-user-static |
在系统的binfmt support
的服务中增加i386可执行程序文件格式的支持并添加自动启动
1 | sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff' |
增加i386支持并安装i386程序运行需要依赖的软件包
1 | sudo dpkg --add-architecture i386 |