个人网站 网站教程,深圳最新通告今天,青岛 建网站,免费创建网站的平台1 概述 Windows Subsystem for Linux#xff08;简称WSL#xff09;是一个在Windows 10\11上能够运行原生Linux二进制可执行文件#xff08;ELF格式#xff09;的兼容层。它是由微软与Canonical公司合作开发#xff0c;开发人员可以在 Windows 计算机上同时访问 Windows 和…1 概述 Windows Subsystem for Linux简称WSL是一个在Windows 10\11上能够运行原生Linux二进制可执行文件ELF格式的兼容层。它是由微软与Canonical公司合作开发开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL)开发人员可以安装 Linux 发行版例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具不用进行任何修改也无需承担传统虚拟机或双启动设置的费用。【引用百度百科】 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能可用于在 Windows 计算机上运行 Linux 环境而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。【引用wsl】
2 WSL版本 WSL分为WSL1和WSL2WSL 1 和 WSL 2 之间的主要区别在于在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。 WSL 2 是安装 Linux 发行版时的当前默认版本它使用最新最好的虚拟化技术在轻量级实用工具虚拟机 (VM) 内运行 Linux 内核。 WSL2 将 Linux 发行版作为托管 VM 内的隔离容器运行。
功能比较 参考官网【https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions】
3 启用虚拟化
可通过任务管理器CtrlShiftEsc中的性能确认CPU虚拟化默认开启 4 开启虚拟任务
1、通过快捷键WINR打开运行窗口输入control点击确定打开控制面板 2、点击“程序”打开程序面板 3、点击“启用或关闭Windows功能” 4、点击确定后可正常应用WSL
5 安装WSL
5.1 检验安装情况
1、通过WINR快捷键打开运行窗口输入cmd打开命令提示符窗口 2、输入wsl
如果提示子系统没有已安装的分发版说明还没有安装。 如果提示子系统没有已安装的分发版说明还没有安装。 5.2 查看支持的 Linux 发行版
使用wsl –list –online 可查看支持的Linux发行版 5.3 无法解析服务器的名称或地址
在使用wsl –list –online 可查看支持的Linux发行版时可能会提示“无法解析服务器的名称或地址” 这个错误通常表示Windows Subsystem for LinuxWSL无法解析指定的服务器名称或IP地址。可能的原因包括网络配置问题、DNS服务器不可用、或者服务器名称不正确。
5.3.1 解决方法
1、检查服务器名称确保输入的服务器名称正确无误。
2、网络配置确保WSL的网络配置正确。可以尝试重启WSL服务在命令提示符或PowerShell中运行wsl --shutdown。
3、DNS问题确认Windows系统的DNS设置是否正确可以尝试更换DNS服务器如使用Google的8.8.8.8或8.8.4.4。
4、防火墙/安全软件检查是否有防火墙或安全软件阻止了WSL的网络访问。
5、临时网络问题尝试重新连接网络或重启路由器。
5.3.2 网络正常配置
如果网络正常配置下DNS就可解决配置方式如下
1、右键桌面图标“网络”属性打开网络和共享中心 2、点击“更改适配器设置”打开网络连接窗口 3、选择WLAN右键属性打开WLAN属性窗口 4、双击Internet协议版本4TCP/IPv4更改DNS 5.4 Wsl/WININET_E_NAME_NOT_RESOLVED
在执行 wsl –list –online时有时会出现以下问题
无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分发。无法解析服务器的名称或地址
Error code: Wsl/WININET_E_NAME_NOT_RESOLVED遇到这个问题时可以通过访问 https://www.sojson.com/ip/查询 raw.githubusercontent.com 域名对应的 IP 地址。 然后对C:\Windows\System32\drivers\etc\hosts文件进行追加
185.199.109.133 raw.githubusercontent.com
5.5 安装Ubuntu
1、选择Linux发行版的Ubuntu-24.04进行安装 2、安装过程中会出现Ubuntu24.04.1 LTS 的安装窗口可能会一直出现“Installingthis may take a few minutes…”这样的提示。可以通过wsl --list -v命令查询Ubuntu的运行状态。 如果出现上面的情况可以将该命令符提示窗口关闭。输入wsl后 上图所示明显Ubuntu已经安装成功却跳过了创建用户的步骤因此只需要创建一个新用户并将其设定为默认启动的用户就可以解决问题。
解决方法(参考https://www.cnblogs.com/ziyulab/p/18446092#2-%E8%A7%A3%E5%86%B3)
1、创建新用户 2、通过cat /etc/passwd 查看用户是否添加
3、为用户赋予sudo权限 vim /etc/sudoers # 增加配置, 在打开的配置文件中找到root ALL(ALL:ALL) ALL, 在下面添加一行 # 其中xxx是你要加入的用户名称 xxx ALL(ALL:ALL) ALL # 按esc输入:wq!保存配置 /etc/sudoers 文件是用来配置 sudo 命令的访问权限的。
sudo 是一个用于在 Linux 和其他类 Unix 操作系统上以超级用户身份执行命令的工具。/etc/sudoers 文件定义了哪些用户或用户组具有以超级用户身份执行命令的权限。
4、设置用户为默认启动用户 vim /etc/wsl.conf # 添加配置 [user] default你的用户名 # 按esc输入:wq!保存配置 5、通过wsl --shutdown 重启Ubuntu完成修改
5.6 启动虚拟机 在命令符提示中输入wsl就能进入到子系统中
5.7 注销或删除虚拟机 参考https://blog.csdn.net/FHY26828/article/details/143863100
1、注销虚拟机仅删除 WSL 环境配置不会删除对应的文件 wsl --unregister Ubuntu-24.04 2、完全删除虚拟机包括文件夹
1找到虚拟机的文件存储位置默认在 C:\Users\用户名\AppData\Local\Packages。
2手动删除对应的文件夹。
5.8 临时切换WSL版本
临时切换到WSL1 wsl --set-version Ubuntu-2404 1 5.9 设置默认版本
设置默认WSL2 wsl --set-default-version 2 5.10 查看版本 wsl --status 5.11 更新 WSL 内核
更新WSL后需要重启电脑 wsl --update 通过执行wsl --update用户可以检查并下载任何WSL2内核更新这是因为WSL2内核是WSL2本身的一部分并且在所有已安装的发行版之间共享因此其更新方式与其他包更新方式不同。
更新后增加了更多的功能比如可通过systemd管理Linux服务可通过 wsl --version 查看版本信息等。 5.12 以特定用户的身份运行 wsl --user test 5.13 将目录更改为主页 wsl ~ 5.14 更改发行版的默认用户
更改用于发行版登录的默认用户。 用户必须已经存在于发行版中才能成为默认用户。 DistributionName config --default-user Username 例如ubuntu config --default-user test 会将 Ubuntu 发行版的默认用户更改为“test”用户。
5.15 注意事项
当安装了vmware时不要启动WSL2可能导致虚拟化问题。