WSL安装和使用
C3ngH Lv3

启用Windows功能

按Windows键全局搜索“启用或关闭Windows功能”

image

打开后开启图中的四个选项,有些系统可能会没有翻译成中文,记得仔细对照image

然后根据要求重新启动Windows系统

安装WSL

在Windows下按 Win 键,点击Windows PowerShell(管理员),在终端输入:

1
wsl --install --no-distribution

完成上述命令后,系统会自动安装不带任何发行版的Linux虚拟机

如果想查看已安装的发行版以及相应的WSL版本,可以输入:

1
wsl --list --verbose

安装Ubuntu

1
wsl --install Ubuntu-22.04

也可以选择微软商店安装

image

然后就可以快乐的输入用户名和密码使用WSL了,注意用户名不可以有大写字母

换源

切换到root用户 (必须) ,用以下脚本一把梭

1
2
sudo su
bash <(curl -sSL https://linuxmirrors.cn/main.sh)

报错解决

一、内核更新

1
WslRegisterDistribution failed with error: 0x800701bc

以上报错需要下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包

安装链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

二、回退到无网络

1
2
3
4
C:\Users\67300\.wslconfig
Error code: Wsl/Service/CreateInstance/CreateVm/ConfigureNetworking/HNS/E_ACCESSDENIED

Error message is in norwegian but transelate to "can not configure network (networkingMode Nat) you can disable networking in .wslconfig"

在C盘用户目录下创建一个.wslconfig文件,输入以下内容

1
2
[wsl2]
networkingMode=mirrored

然后Powershell输入即可

1
wsl --shutdown

三、Sage虚拟环境冲突

Windows版SageMath会自带一个VirtualBox的类Unix虚拟环境,会导致Hyper-V停止运行

image

首先需要使用Geek Uninstaller彻底删除SageMath

需要重新关开Hyper-V虚拟机平台,如果任务管理器里的虚拟化也被关闭了,则需要进入BIOS重新开启

image

四、安卓模拟器冲突

部分安卓模拟器的虚拟化技术会和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
2
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'
sudo service binfmt-support start

增加i386支持并安装i386程序运行需要依赖的软件包

1
2
3
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 zlib1g-dev:i386

开启嵌套虚拟化

借助嵌套虚拟化在虚拟机中运行 Hyper-V | Microsoft Learn

 评论
评论插件加载失败
正在加载评论插件
总字数 80.2k 访客数 访问量