先决条件:必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 如果使用的是更早的版本,请看官方文档 旧版 WSL 的手动安装步骤 | Microsoft Learn
一、在Windows上安装Linux子系统 前提条件 windows机器需要支持虚拟化,并且需要在BIOS中开启虚拟化技术,因为WSL2基于hyper-V。 查看是否开启虚拟化 按住Windows+R输入cmd打开命令行,输入
systeminfo
可以看到如下字样,代表电脑已经支持虚拟化,可继续安装
满足以上要求后就可以操作开启Hyper-V技术了,同时按win和R键, 输入control,Enter键确认,打开控制面板
选择“Hyper-V”,然后单击“确定”,配置完成后重启电脑。
你也可以使用 PowerShell 启用 Hyper-V 以管理员身份打开 PowerShell 控制台。 运行以下命令: PowerShell复制
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
如果无法找到此命令,请确保你以管理员身份运行 PowerShell。 安装完成后,请重启电脑。 开启“适用于Linux的Windows子系统” 找到控制面板-程序和功能-启用或关闭Windows功能,选中“适用于Linux的Windows子系统”,然后点击确定
将 WSL2 设置为默认版本,打开 PowerShell,然后运行以下命令,将 WSL2 设置为默认版本: PowerShell复制
wsl --set-default-version 2
检查正在运行的 WSL 版本
wsl -l -v
Linux 内核更新包在安装过程中如果无法安装,报错,更新被卡住如以下
解决方法 Win+R 输入 cmd 打开命令行窗口,输入
wsl --update
自动完成 wsl2 的更新。 随后重启 docker desktop 确认,启动顺利,问题解决。
如果遇到报错情况:
修复 Windows Subsystem for Linux (WSL) 安装:
- 通过命令提示符或 PowerShell 运行以下命令
sfc /scannow
• 这将扫描并修复系统文件中的错误。
手动安装 WSL 更新包:
• 下载并手动安装最新的 WSL 更新包:
• 访问以下链接下载更新包:WSL2 Linux 内核更新包
• 安装完成后,重新启动系统。
启用必需的 Windows 功能:
• 确保以下功能已启用:
• 适用于 Linux 的 Windows 子系统
• 虚拟机平台
• 打开 PowerShell 以管理员身份运行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
4. 更新 WSL 版本:
• 确保您的 WSL 版本为最新的 WSL 2。检查当前 WSL 版本并设置默认版本为 WSL 2:
wsl --list --verbose
wsl --set-version docker-desktop-data 2
wsl --set-default-version 2
检查 Windows 更新和服务:
• 确保您的 Windows 系统是最新的。转到设置 > 更新和安全 > Windows 更新并检查更新。
• 确保所有相关服务正在运行,例如 Hyper-V 服务和虚拟机平台服务。
重新安装 Docker Desktop:
• 如果上述步骤都没有效果,请尝试完全卸载 Docker Desktop,包括所有相关数据,然后重新安装最新版本。(4.17.1版本以上)
如果出现以下这种情况:
1.卸载并重新安装 Docker Desktop:
• 先卸载 Docker Desktop,然后重新安装最新版本的 Docker Desktop。确保从官方网站下载:
2. 重置 WSL:
• 打开命令提示符或 PowerShell,以管理员身份运行以下命令,重置 WSL:
wsl --list --verbose
wsl --unregister docker-desktop-data
2. 然后重新安装 WSL 发行版:
wsl --install
3.清理 WSL 更新文件:
• 有时旧的更新文件可能会导致问题。尝试手动删除旧的 WSL 更新文件。
• 进入以下文件夹并删除相关的更新文件:
C:\Windows\System32\wsl.exe
执行这些命令后,重新启动计算机并重新安装 Docker Desktop 和 WSL。