WSL2安装教程
前言
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
您可以:
- 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。
- 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件。
- 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
- 工具:vim、emacs、tmux
- 语言:NodeJS、Javascript、Python、Ruby、C/C++、C# 与 F#、Rust、Go 等
- 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
- 使用自己的 GNU/Linux 分发包管理器安装其他软件。
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
- 在 Windows 上调用 GNU/Linux 应用程序。
- 运行直接集成到 Windows 桌面的 GNU/Linux 图形应用程序
- 将 GPU 加速用于机器学习、数据科学场景等
WSL1 VS WSL2
引用资料:https://learn.microsoft.com/zh-cn/windows/wsl/about
安装WSL2
1.检测电脑win的版本
win+r
在框中输入winver
查看当前的版本
2.开发者选项
3.打开适用于linux的windows子系统的设置(注意:这里设置完成后需要重启一下电脑)
4.在cmd黑窗口下分别输入以下命令
wsl -l -v
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
5.安装Linux 内核更新包:
- 下载地址 :https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
接着双击点击.msi
文件无脑安装即可
6.设置WSL 版本
设置WSL 2 为默认版本:
wsl --set-default-version 2
7.到应用商店中搜索ubuntu就有许多可选的选项。
对其进行安装·
- 解决方案1:
控制面板->启用或关闭windows功能,勾选 虚拟机平台 选项然后重启。
不知道为啥不好使,还是报错。。。 - 解决方案2:进入 BIOS 开启虚拟化技术
好使啦 - 问题总结:需要解决方案1和方案2同时执行才OK。
之后就可以根据自己的喜好设置账户密码啦。
查看wsl2是否安装成功
wsl -l -v
简单配置WSL2
按下Windows + R 键,输入 %UserProfile% 并运行进入用户文件夹,新建文件 .wslconfig,文件内容格式如下
[wsl2]
memory=4G # 限制最大使用内存
swap=64G # 限制最大使用虚拟内存
processors=1 # 限制最大使用cpu个数
之后运行cmd。
输入 wsl --shutdown
来关闭当前的子系统。然后重新运行bash进入子系统。
参考运行结果图
WSL2与Window交互
在交互之前,为了更加清楚的看到linux系统的文件目录。
我们可以打开此电脑
(资源管理器),然后输入\\wsl$
,就可以看到ubuntu所有文件目录。
交互方式
- 图像化界面操作(简单)
我们可以直接在window系统和linux系统任意操作文件。 - 命令行操作
- 2.1 将Window系统下面的文件复制到WSL子系统下面
mv /mnt/c/Users/Administrator/Desktop/img.png /home/penge
补充:mv
:移动(如果想要复制,将mv
替换成cp
)
- 2.2 将WSL子系统的文件复制到Win系统(逆过程)
cp /home/penge/img.png /mnt/c/Users/Administrator/Desktop/img.png
参考资料
https://www.cnblogs.com/soukon/p/16443593.html
https://blog.csdn.net/guo_ridgepole/article/details/121044164
https://blog.csdn.net/weixin_42561395/article/details/125866128