admin 管理员组文章数量: 887836
0、电脑版本说明
版本:Windows10企业版
版本号:22H2
1、配置:控制面板->程序和功能->启或关闭Windows功能;
在默认的基础上,再勾选下面4个选项:
1、虚拟机平台
2、适用于Linux的Windows子系统
3、Windows虚拟机监控程序平台
4、Hyper-V
根据提示重启电脑;
2、打开Microsoft Store商店安装Terminal和Ubuntu22.04
2.1、安装Windows Terminal Preview
2.2、接着安装Ubuntu22.04.3 LTS(这里可以按自己需求,安装相应的发行版)
安装完成之后,在菜单栏找到,“Ubuntu22.04.3 LTS” 打开
进入后等待程序自动安装,并且按照提示,输入用户名和密码(建议全英文)
到现在为止,已经安装Ubuntu22.04成功了,现在安装的版本就是默认的WSL1版本;
至于进入Ubuntu的方法,可以从“上面所示的方式”进入
也可以从我们安装的Terminal终端程序进入(如图选择“Ubuntu 22.04.4 LTS”)即可
如果想要安装的是WSL1版本的子系统,那么到此为止就可以了;
下面介绍将子系统设置为“WSL2”版本,以及子系统迁移到其他盘符的操作;
3、设置子系统的版本为WSL2
现在在PowerShell(Windows10终端)
执行如下的命令程序:
#查看刚才安装的ubuntu22.04的WSL的版本
wsl -l -v
# 显示结果:
# PS C:\Users\user_ex38ms364> wsl -l -v
# NAME STATE VERSION
# * Ubuntu-22.04 Running 1
# PS C:\Users\user_ex38ms364>
# 根据显示的结果,我们也知道,默认安装的Ubuntu22.04是WSL1版本
#更新WSL
wsl --update
#设置Ubuntu22.04的WSL版本为2
wsl --set-version Ubuntu-22.04 2
#设置后面安装Linux子系统的默认版本为2
wsl --set-default-version 2
通过上面的命令执行,那么Ubuntu22.04的WSL版本就被设置成了2号版本;
如果就不打算将LInux子系统迁出到其他盘(默认在C盘),那么到此结束就可以了;
4、将Linux子系统迁移到E盘(默认的Linux子系统安装在C盘)
默认的安装位置:
C:\Users\ll01\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState
现在在PowerShell(Windows10终端)
执行如下的命令程序:(注意迁移的位置,可以按照自己的需求进行更改)
#关闭:wsl
wsl --shutdown
#关闭:Ubuntu-22.04
wsl -t Ubuntu-22.04
#首先需要有:“E:\App\wsl-images\” 文件夹,导出 “子系统Ubuntu”
wsl --export Ubuntu-22.04 E:\App\wsl-images\Ubuntu-22.04.tar
#注销原来的 “子系统Ubuntu”
wsl --unregister Ubuntu-22.04
#导入 “子系统Ubuntu” 到 “E:\App\wsl-images\Ubuntu-22.04”
wsl --import Ubuntu-22.04 E:\App\wsl-images\Ubuntu-22.04 E:\App\wsl-images\Ubuntu-22.04.tar --version 2
# “qwe” 就是你的Ubuntu子系统的用户名,这里是对 “新导入的子系统” 配置用户名
ubuntu2204 config --default-user qwe
5、Linux子系统和Windows系统的文件互相访问
5.1、在Linux子系统访问Windows系统的文件
windows系统的盘符默认会挂载在Linux子系统的 “/mnt” 目录
如上面所示,“c文件夹”代表Windows的c盘,d代表Windows的d盘
5.2、在window系统访问Linux子系统的文件
如图所示即可;
提示报错:如果你进入“/root目录会报没有权限访问”,进入“/home”目录可以,等等 !!!
这应该和你当前使用的子系统用户的权限有关,如果使用root用户进行登录使用,应该都可进入;
6、其他说明
6.1、Linux子系统的端口号和Windows主机的端口号是“共享的”
6.2、可以在Linux子系统安装ssh,然后在外界访问
6.3、可以在Windows主机通过vscode、clion等工具连接WSL进行编程(也就是使用WSL的编程环境);
6.4、如果同时安装了WSL2Ubuntu22.04和WSL2Ubuntu18.04,那么这两个Ubuntu的共享ip和端口号;
6.5、WSL2子系统共享主机的CPU和物理内存以及虚拟内存;
7、限制WSL2子系统使用的硬件资源
7.1、默认资源配置信息
下面是WSL2Ubuntu22.04swappiness
这个值可以简单理解为(当可用的内存剩下:100% - 60% == 40% 的时候开始使用虚拟内存,此值可以自己修改)
ubuntu@NdgjdAo451:~$ cat /proc/sys/vm/swappiness
60
ubuntu@NdgjdAo451:~$
如果要修改的话;
- 打开 WSL2 Ubuntu 22.04 终端。
- 输入以下命令以获取当前的
swappiness
值: -
cat /proc/sys/vm/swappiness
- 如果输出结果为
60
,则表示当前的swappiness
值为默认值。接下来,输入以下命令以将swappiness
值修改为 65 -
echo "vm.swappiness=65" | sudo tee -a /etc/sysctl.conf
- 修改完成后,您可以通过重新加载 sysctl 配置文件来使设置生效。输入以下命令即可
-
sudo sysctl -p
- 注意:WSL2Ubuntu22.04和WSL2Ubuntu18.04,也就多台子系统之间是共享这个设置的值的;
对于我的8H16G的window电脑,WSL2默认设置的最大可用资源是:(0-8H)(0-8G)(2G虚拟内存);
也就是WSL2的动态资源范围是可以最多使用:电脑的全部CPU,一半的物理内存;
7.2、限制WSL2使用的硬件资源方式
在当前windows用户名文件下创建一个:" .wslconfig " 文件;
" .wslconfig " 文件的内容:
[wsl2]
processors=2
memory=2GB
swap=8GB
localhostForwarding=true
每一个代表WSL2子系统最多可以使用2个CPU,2GB物理内存,8GB虚拟内存;
然后关闭linux子系统,在windows终端运行如下命令,重新打开WSL2Ubuntu即可生效;
wsl --shutdown
打开Ubuntu22.04(WSL2)之后,运行如下命令,查看配置是否生效;
版权声明:本文标题:2、Windows10搭建WSL、WLS2、Linux子系统、迁移到其他盘、文件互相访问、限制WSL2能使用的最大CPU和内存资源 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1735375301h1720277.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论