关于wsl2:wsl-l-o-返回-0x80072ee7错误

个别就是wall的问题,能够用 https://ipaddress.com 这个网站查找一下 raw.githubusercontent.com 这个域名的ip,将这个域名的IP全副增加到本人的hosts文件里,即可解决。

April 25, 2023 · 1 min · jiezi

关于wsl2:WSL2-中如何限制内存占用

在长时间应用 WSL 开发我的项目时, 关上工作管理器,会发现 VmmemWSL 这个过程占用了超多的内存, 并使得咱们的电脑运行变慢,甚至会呈现蓝屏关机。 wsl 内存占用过高 通过查阅 微软对于WSL 内存应用的官网文档, build 20175 版本,之后,windows 零碎默认,WSL 能应用的最大内存为 零碎总内存的 50% , 在这个版本之前的 windows 零碎,能应用的最大内存,不超过零碎的80%。 额, 简略来讲, 就是 近期的 Win 11 零碎,默认 wsl 能应用的最大内存, 为零碎的50% 。 如果不确定, 你的WSL 零碎的内存和 共享内存指定状况,你能够关上powerShell 进入你的 linux 零碎。 输出 如下linux 命令就能查看目前你的零碎内存应用: free -h --giga在我零碎上,显示的是如下内容。 这意味着,当你应用WSL2 的时候。 你的零碎内存,间接划分进来了5G 。 当你在应用内存占用较大的利用,如 chrome , idea , webStorm 等很容易引起你的内存告急。 那咱们如何解决这个问题呢? 微软在wsl 2 中,提供了指定配置 wsl 可用内存的方法.接下来介绍一下,如何配置wsl 2 内存空间的方法。 创立 .wslconfig 文件。 ...

March 7, 2023 · 1 min · jiezi

关于wsl2:WSL2配置代理-记录下遇到的所有坑

第一步: 凋谢windows对wsl2的防火墙大家都晓得wsl2和wsl1不一样, wsl2基本上就是一个虚拟机, 虚构了一个linux的零碎 主机之间是有防火墙的, 当初咱们要敞开它 关上powershell7以管理员身份运行 PS C:\WINDOWS\system32> New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow这条命令单纯凋谢了主零碎windows对wsl2的局域网拜访权限, 无毒有害 如果胜利你应该能够在 设置 -> 防火墙 -> 高级设置 -> 入站规定中看到 第一步实现 第二步: 应用魔法没有魔法必定上不了不必想了 个别也得花点米 这里不敢细讲 我自用的是SDKDNS 第三步: 应用Clash for window软件代理我的本来的代理软件貌似无奈代理wsl2的环境, 我最初用了Clash for window解决了, SDKDNS官网有配置这个的教程, 并给了一键配置的计划, 十分不便 如果你用的不是Clash for window, 你应该更改代理的端口号, 个别代理软件会给出这些信息, 替换掉他们 比方你的代理软件在2333端口那么第四步中的脚本的那一行就应该改一下 alias setss='export https_proxy="http://${hostip}:2333";export http_proxy="http://${hostip}:2333";export all_proxy="socks5://${hostip}:2333";'第四步: WSL2的配置以下办法援用自 这里 ## 获取主机 IP## 主机 IP 保留在 /etc/resolv.conf 中 wsl2须要通过这个ip拜访windowsexport hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')而后粘贴上面的脚本并运行 ...

October 29, 2022 · 1 min · jiezi

关于wsl2:WSL文档-不断补充中

全栈技术分享,API文档动静更新,技术点扼要易懂,疾速入门有帮忙的话点个赞吧,感兴趣的关注加书签取得更多文档,不便随时查阅,有问题欢送留言探讨概念基于window零碎的linux子系统,也就是window中装了个linux,相似虚拟机,但比虚拟机轻量wsl能够装置多个散发,也就是多个linux零碎wsl: 子系统,也就是管理工具,相当于linux镜像Distro: 散发,也就是各个子系统软件实例,相当于镜像实例装置环境要求零碎windows 11 22H2 25217.1010以上驱动(可选)wslg须要显卡硬件反对GPU,反对的话装置对应版本驱动即可用于 WSL 的 AMD GPU 驱动程序用于 WSL 的英特尔 GPU 驱动程序用于 WSL 的 NVIDIA GPU 驱动程序虚拟化配置启用虚拟化监控程序平台和虚拟机平台重启进入bios界面确认启用虚拟化性能软件包1. wt: windows terminal(设置为默认程序)2. wsl: window for linux preview 0.69以上3. linux:Ubuntu-22.04.1 LTS阐明软件包可在微软商店下载win11 + wsl 0.69以上 反对systemd和wslg界面虚拟化配置门路:设置-利用-可选性能-更多window性能能够依照官网文档阐明装置,我是间接下载linux后间接关上就主动装置了随界面提醒装置好,第一次要批改明码:sudo passwd官网装置文档 命令阐明常用命令wsl --versionWSL 版本: 0.67.6.0内核版本: 5.15.62.1WSLg 版本: 1.0.44MSRDC 版本: 1.2.3401Direct3D 版本: 1.606.4DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hypWindows版本: 10.0.25206.1000wsl -l -vwsl --set-default-version 2wsl --shutdownwsl --export Ubuntu-22.04 D:\software\system\Ubuntu-22.04-1013.tarwsl --import Ubuntu-22.04-1013 D:\software\system\Ubuntu-22.04-1013 D:\software\system\Ubuntu-22.04-1013.tar<font size="5">wsl</font>作用管理子系统格局wsl [ARG] [option]... COMMAND 示例wsl -l -vARG--exec, -e <COMMAND>不应用默认shell执行指定命令--按原样传递其余命令行option--cd <DIRECTORY>指定当前目录-d|--distribution <Distro>运行指定子系统散发-u|--user指定用户wsl的参数--list --online查看能装置的散发--install [-d <Distro>]装置指定散发,无指定即是默认散发--set-default-version <version>指定wsl版本,个别设为2--shutdown进行所有运行的散发--update更新wsl内核版本--status查看wsl状态--rollback还原到wsl内核先前版本Distro的参数--export <Distro> <FILE>导出散发到指定tar文件--import <Distro> <装置门路> <导入门路> [options] 导入散发到指定装置门路option: --version 2 指定wsl版本--list|-l [options] <version>列出散发信息options--all 所有--running 运行中-q 只显示名称-v 详细信息-o 显示可装置的散发列表--set-edfault|-s <Distro>设置默认进入的散发--set-version <Distro> <version>指定散发的wsl版本--terminate|-t <Distro>终止散发--unregister登记散发并删除根文件系统wslg概念wsl的图形工具,也就是反对你在window上显示linux利用的界面wsl2 0.69以上版本 默认装置了wslg(比较稳定的wslg)体验apt install geditgedit ~/.bachrc网络配置固定IP1.敞开network主动生成vim /etc/wsl.conf[network]generateResolvConf = false2.批改DNS地址vim /etc/resolv.confnameserver 8.8.8.8重启后生效能够退出下面的.bashrc里vim ~/.bashrcecho "nameserver 192.168.60.1" > /etc/resolv.conf3.固定IP脚本留神替换为你的散发名应用形式:每次wsl shutdown都双击脚本进入@echo onCHCP 65001:: 开始获取管理员权限setlocalset uac=~uac_permission_tmp_%random%md "%SystemRoot%\system32\%uac%" 2>nulif %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else ( echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs" echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs" echo WScript.Quit >>"%temp%\%uac%.vbs" "%temp%\%uac%.vbs" /f del /f /q "%temp%\%uac%.vbs" & exit )endlocal:: 实现获取,上面能够开始写你本人的代码了echo 以后运行目录: %cd%\echo 批处理所在目录:%~dp0echo 切换回批处理所在目录: cd /d %%~dp0REM 先敞开虚构子系统wsl --shutdownREM 把这里了解为一个开机启动脚本就行wsl -d 【你的散发名】 -u root ip addr del $(ip addr show eth0 ^| grep 'inet\b' ^| awk '{print $2}' ^| head -n 1) dev eth0wsl -d 【你的散发名】 -u root ip addr add 192.168.60.2/24 broadcast 192.168.60.255 dev eth0wsl -d 【你的散发名】 -u root ip route add 0.0.0.0/0 via 192.168.60.1 dev eth0powershell -c "Get-NetAdapter -IncludeHidden -Name 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False; New-NetIPAddress -IPAddress 192.168.60.1 -PrefixLength 24 -InterfaceAlias 'vEthernet (WSL)'; Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False; New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 192.168.60.0/24;"REM 启动对应Linux零碎,我这里是应用windows terminalwt -p Ubuntu-22.04exit4. 测试ip route default via 192.168.60.1 dev eth0192.168.60.0/24 dev eth0 proto kernel scope link src 192.168.60.2网关:192.168.60.1子网掩码:192.168.60.0/24ip地址:192.168.60.2ping lu.com5. 扩大网上还有一种形式是制作exe执行文件,放入windows的service服务就可实现开机主动执行,无需手动点击脚本,但我没有尝试胜利,附上文档和链接要害API:HcnCreateNetworkHcnCreateEndpointexe形式教程官网API ...

October 16, 2022 · 2 min · jiezi

关于wsl2:Windows11使用WSL-Ubuntu搭建paddle的GPU环境

Windows11应用WSL Ubuntu搭建paddle的GPU环境最近降级到了Windows11,忽然有个大胆的想法:在Windows11上装置WSL,将所有开发环境装置到WSL中。这样就能在windows各种QQ/微信/Steam玩的飞起,又能在Linux中敲代码。 以后工夫:2022-08-13,本文章中所有步骤都是依据官网的装置办法,如果工夫比拟长了,可能须要切换到最新的官网文档。 本文章为装置胜利后的分享,能够释怀参考。 paddle的坑目前不兼容ubuntu22.04,查资料说是paddle不反对高版本gcc间接运行paddle提供的docker镜像是可行,然而docker内的python版本过低(python3.7),导致matplotlib无奈装置,如果不须要个别依赖包能够不必折腾吐槽下,ubuntu22.04都公布半年了,还做不到兼容,天天吹流弊有个锤子用版本/型号我的项目型号以后工夫2022-08-13CPUIntel i7-11700显卡GTX 1050 TiWindows 11 64位专业版 21H2WSL25.10.102.1Ubuntu22.04CUDA11.7cuDNN8.5.0.*疑难在实现装置前,本人对WSL也有疑难的中央,可能大家也有相似的疑难,所以列举进去。 疑难1:WSL就是指Windows中运行的Linux零碎吗? WSL是个工具,用于运行/管理子系统(如:Ubuntu/Centos)(为了不便表述,上面用ubuntu指代其中一个子系统)疑难2:WSL吃资源吗? WSL工具自身不吃资源,然而运行子系统须要吃资源,毕竟多跑了个零碎疑难3:WSL装置后始终在后盾运行吃资源吗? WSL是个工具,且子系统不会自启动(默认状况),还能够手动。即不应用的时候不吃资源疑难4:docker要Windows中装置,还是要在ubuntu中装置? 在Windows中装置Docker Desktop相当于在WSL下又装置了一个跑docker的子系统在Ubuntu中装置依照docker服务器装置的步骤装置即可举荐在ubuntu中装置,更加节俭内存以下数据是在"工作管理器"中的"性能"页面察看失去,数据并不谨严,不排除期间开了其他软件等影响,但内存使用量迥异不影响后果判断: 未关上所有子系统,内存应用:4.5G关上ubuntu20,内存应用:5.8G关上Ubuntu20内的docker,内存应用:6.1G关上ubuntu20,docker子系统(装置在windows上),内存应用:10.7G起因:装置在windows上的docker须要一个子系统来跑dockers服务,而在ubuntu中装置只是多运行了一个服务,节俭了零碎运行环境须要的资源疑难5:在windows中装置了驱动,ubuntu中还须要装置显卡驱动/CUDA/cuDNN吗? ubuntu中不须要再装置显卡驱动,然而须要装置CUDA/cuDNN总结 WSL是个子系统管理工具(能够类比为docker运行时)从WSL或微软商店装置的Ubuntu/Centos才是真正的子系统(能够类比为docker的容器)Docker最好装置在子系统中(节俭内存)步骤Windows11装置WSL官网-装置WSL官网-WSL根本命令关上"Windows性能",将"Hyper-V"/"实用于Linux的Windows子系统"/"虚构平台"都勾选上,重启windows零碎就主动装置了wsl工具在微软商店搜寻"Ubuntu",间接点击装置期待实现(这里抉择ubuntu20.04,因为paddle不兼容ubuntu22,因为)关上"ubuntu20.04",如果如下报错Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue...请更新下WSL内核并重启即可wsl --update配置ubuntu20.04的环境官网-装置Docker Engine on Ubuntu进入ubuntu外部装置miniconda当作python管理工具更换"ubuntu"/"conda"/"pypi"国内镜像源装置Dockers,留神是装置Dockers Engine,而不是Docker Desktop驱动/CUDA/cuDNN关系显卡、显卡驱动、cuda 之间的关系是什么? - 智星云服务的答复 - 知乎应用层到硬件的分层构造TensorRT for Inference: PaddleGPU Accelerated SDKcuDNNCUDA ToolKitsGPU DriverOSGPU Computing Servers装置CUDA官网-装置cuda命令提前装置好miniconda(装置命令会主动配置conda环境)关上下面的地址,拜访比较慢,刷不进去多试几次,环境不同装置的命令也不同,抉择好参数后会有装置命令,照抄命令就能够了有些文章说装置cuda后要改环境变量,我提前装好了miniconda,所以装置好主动配置了,不须要改,关上"~/.bashrc"最下方能够看到配置的内容上面以我抉择的参数"Linux"/"x86_64"/"Ubuntu"/"20.04"/"deb(network)",生成的代码如下:wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.debsudo dpkg -i cuda-keyring_1.0-1_all.debsudo apt-get updatesudo apt-get -y install cuda在执行最初一个命令时,我遇到了个报错,依据提醒在命令前方加上"--fix-missing"即可,大家装置的时候留神察看装置过程中是否有报错主动增加的环境变量如下,自己的登录用户名为"x",所以每个人装置的门路都有区别 ...

August 14, 2022 · 1 min · jiezi

关于wsl2:WSL-导出镜像包

//导入:wsl --import Ubuntu18 F:\wsl\Ubuntu18 F:\wsl\Ubuntu-18.04.tar//导出:wsl -l --all -vwsl --export Ubuntu18 F:\ubuntu18.tar参考: https://blog.csdn.net/momodos...https://cloud.tencent.com/dev...

April 29, 2022 · 1 min · jiezi

关于wsl2:WSL2中cargo使用代理

在WSL应用Cargo时,会有须要用到外网的状况。假如咱们在windows开了一个端口为10809的HTTP代理。咱们的指标是让WSL中的cargo build应用到这个代理。 查看WSL拜访windows的IP地址 cat /etc/resolv.conf能够看到相似的输入 # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:# [network]# generateResolvConf = falsenameserver 172.22.96.1其中的nameserver就是windows的IP地址,咱们能够将代理设置为http://172.22.96.1:10809,这样WSL就能够应用到架设在windows里的代理服务。 要留神到这个IP地址是不是会产生扭转,因为WSL2和代理服务不兼容的BUG,咱们常常须要应用netsh winsock reset重置网络,这时候这个IP地址可能会发生变化,导致代理设置生效 失去IP地址后,关上~/.cargo/config.toml写入以下字段 [http]debug = trueproxy = "172.22.96.1:10809"

January 25, 2022 · 1 min · jiezi

关于wsl2:缩小-WSL2-VHDX-文件的大小

常常应用 WSL2 的小伙伴们有的时候会遇到发行版内之前应用的文件曾经删除单 Windows 下的发行版 VHDX 还占用微小空间的状况,这个时候很容易的能想到应用 diskpart diskpart> select vdisk file="C:\Users\<Username>\AppData\Local\Packages\<Linux-Distribution-AppPackageName>\LocalState\ext4.vhdx"diskpart> compact vdisk或者应用 Hyper-V 提供的 Optimize-VHD PS> Optimize-VHD -Mode Full -Verbose "C:\Users\<Username>\AppData\Local\Packages\<Linux-Distribution-AppPackageName>\LocalState\ext4.vhdx"进行放大,执行之后 VHDX 文件确实是变小了,然而也还没有那么小 此时应进入到 WSL2 中,运行 zerofree 将 ext4 文件系统内曾经不必的块填零,但 zerofree 不能运行在曾经挂载为 rw 的文件系统上,那就把文件系统挂载为 readonly 就行了 wsl2> mount mount /dev/sda -o remount,rowsl2> zerofree /dev/sda运行完结后,在 Windows 下敞开 WSL2 PS> wsl --shutdown而后再运行最开始 diskpart 的 compact 或者 Optimize-VHD 就能够把 WSL2 的 VHDX 放大到很靠近于应用了的空间的大小了 FYI,不能应用 Resize-VHD 用来放大 WSL2 的 VHDX,会报“无奈调整虚构磁盘的大小”“无奈实现申请的操作,起因是无奈确定虚构磁盘的平安大小上限。 这可能是因为分区表失落或损坏。 (0xC03A0026)。”的谬误,仿佛是因为 WSL2 的 VHDX 里没有分区表而间接整个是 EXT4 格局的分区 ...

November 22, 2021 · 1 min · jiezi

关于wsl2:WSL无法启动问题

[启动“wsl.exe -d Ubuntu-20.04”时呈现谬误 0x8007010b]无法访问启动目录“//wsl$/Ubuntu-20.04/home/glc”能够通过进入Windows终端设置、进入ubuntu配置文件并勾选“应用父过程目录”框来解决这个问题。不晓得为什么会这样。还值得注意的是,这产生在我重新启动后。 Win10操作步骤:关上Windows Terminal终端,下拉菜单点击设置;在弹出的操作窗口中找到:配置文件-Ubuntu;勾选启用目录,应用父过程目录; 另外这块把启动目录批改成上面的模式也是能够解决的:\wsl$\Ubuntu-20.04\home\glc Win10 Ubuntu子系统WSL文件地位以我的零碎为例,WSL的root目录对应windows的:C:\Users\Lemon\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs其中AppData文件夹默认是暗藏的,但你能够在门路里输出AppData进去。但实际上微软为咱们提供了一个默认的变量能够间接指向WSL的目录,wsl$ 你能够在运行(win+R)或资源管理器的门路里间接输出\\wsl$进入Ubuntu的目录晓得WSL的网络门路后你能够间接将它增加到资源管理器的网络地位里

September 12, 2021 · 1 min · jiezi

关于wsl2:WSL系统systemctl不能使用解决方法

用window10下WSL应用Ubuntu20.04,当我应用命令sudo systemctl status mariadb的时候报错: glc@LAPTOP-LEMON:~$ sudo systemctl status mariadbSystem has not been booted with systemd as init system (PID 1). Can't operate.Failed to connect to bus: Host is down问题起因:如果是个别的Linux操作系统,可能是因为Linux中没有应用systemd,想用systemd命令来治理Linux上的服务,因而会报错,很可能是应用的是经典的SysV init(sysvinit)零碎。但我这个是window10下WSL的Ubuntu,就会使SysV init而不是systemd。 解决办法:更换命令,用SysV init的命令代替systemd的

September 12, 2021 · 1 min · jiezi

关于wsl2:WSL系统声音关闭

1、敞开TAB提示音批改/etc/inputrc如果有的话把set bell-style none后面的#正文去掉没有的话在最初一行增加 2、敞开vim提示音批改/etc/vim/vimrc在最初一行增加set vb t_vb=

September 12, 2021 · 1 min · jiezi

关于wsl2:重新安装WSL

操作系统重装如果心愿对操作系统进行重装也非常简单。假如你当初曾经在你的 Windows 操作系统中装置了 WSL。搜寻输入框中输出 Ubuntu,这是因为咱们假如你装置的是 Ubuntu 子系统。随后在屏幕的右侧中抉择 APP 设定。在关上的界面中,有一个抉择叫做重设。你能够单击重设按钮对 APP 进行重设。这里阐明重置不影响文件,但并未指明是哪个文件(夹),事实上重置操作模仿了系统重装成果,重置后须要从新设定用户和新密码。依据你计算机的性能不同,重装可能还须要几分钟的工夫。上图显示零碎正在初始化。当重装实现后,你就能够开始进行拜访了。

September 12, 2021 · 1 min · jiezi