Windows如何安装WSL+Ubuntu

安装前首先解释下WSL是什么。
WSL(Windows Subsystem for Linux) 是微软为 Windows 用户提供的一种在 Windows 系统中运行 Linux 的方式(貌似是Windows10开始才有的功能)。
它允许你在 Windows 系统中直接运行 Linux 命令行工具、开发工具、服务(如 PHP、Nginx、MySQL)等,而 不需要安装虚拟机或双系统,而且启动速度极快、资源消耗低。

如何在 Windows 上安装 Ubuntu ?

一键安装 WSL。以管理员身份打开dos窗口,在命令行中输入(默认最新版):

wsl --install

或者如果你想指定安装的 Linux 发行版,比如 Ubuntu 20.04,可执行:

wsl --install -d Ubuntu-20.04

即可成功安装WSL和Ubuntu。可通过如下命令查看是否安装成功:

wsl -l -v

安装成功:

查看Ubuntu版本号:

lsb_release -a

进入Ubuntu,在dos窗口下输入如下命令即可进入:

wsl -d Ubuntu

如果你已经安装了WSL如上图(我之前安装了docker,没有安装Ubuntu),那么就要使用一下方式进行安装

一、安装ubuntu首先需要通过站点下载Ubuntu,下载地址:  https://partner-images.canonical.com/core/bionic/current 选择与你当前系统预制对应的版本下载。比如我是普通的 x86_64 (64位 Intel/AMD) 电脑,我下载的是这个:

:这个链接的资源的Ubuntu版本是18.04的,此版本安装不上php8.1,所以使用这个版本并不能运行Hyperf 框架Ubuntu版本在20以上才行。故最好使用方法一,下载的也是最新的Ubuntu版本

二、解压安装。我是在D盘下创建了如下文件夹WSL\install\,将ubuntu-bionic-core-cloudimg-amd64-root.tar.gz文件放在了这个文件夹下,然后通过如下命令解压安装:

wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\install\ubuntu-bionic-core-cloudimg-amd64-root.tar.gz

安装成功后WSL文件夹下会创建一个Ubuntu文件夹,该文件夹下会有一个ext4.vhdx的文件。

三、使用。可在cmd下输入wsl -d Ubuntu命令进入Ubuntu系统内。接下来的操作跟我们平时使用的linux系统是一样的,可通过cd /home  或  cd /var  等命令,进入到你要操作的目录。

<think>好的,我现在要处理用户关于WSL安装的问题。用户之前遇到了在PowerShell中直接执行URL和路径错误的问题,现在他们按照建议使用`wsl --install -d Ubuntu`成功安装Ubuntu,但在设置WSL2时遇到了错误提示“该分发已是请求的版本”和错误代码“WSL_E_VM_MODE_INVALID_STATE”。用户现在需要后续操作的建议。 首先,我需要理解这个错误的原因。用户已经确认Ubuntu的版本是2,但转换时提示已经是请求的版本,同时出现了错误代码。这可能是因为虽然版本显示为2,但WSL2的虚拟机组件未正确启用或配置存在问题。 接下来,我需要考虑可能的解决方案。首先检查WSL2的先决条件,比如是否启用了Hyper-V和虚拟机平台功能,系统是否为64位,以及Windows版本是否满足要求。然后,可能需要更新WSL内核或手动调整配置。 此外,用户可能需要验证虚拟化是否在BIOS中启用,以及是否存在其他冲突的软件,如第三方虚拟化工具。如果这些检查都通过,但问题仍然存在,可能需要更深入的故障排除步骤,比如重置WSL或重新安装相关组件。 还要考虑用户可能的后续需求,比如如何启动Ubuntu,如何设置默认版本,以及优化WSL配置的建议。同时,需要提供清晰的步骤和命令,确保用户能够逐步执行,避免混淆。 最后,需要确保回答结构清晰,分步骤说明,并提供验证方法,帮助用户确认问题是否解决。如果有必要,还要给出进一步寻求帮助的途径,比如提供日志或检查系统版本。</think>以下是针对WSL2配置问题的分步解决方案: --- ### 一、错误原因定位 ```powershell 错误提示关键信息: - "该分发已是请求的版本" - 错误代码 WSL_E_VM_MODE_INVALID_STATE ``` **核心问题**:WSL2虚拟化支持未完全激活 **潜在原因**: 1. Hyper-V/虚拟机平台未启用 2. BIOS虚拟化支持未开启 3. 系统组件版本过旧 4. 第三方虚拟化软件冲突(如VMware/VirtualBox) --- ### 二、完整修复流程 #### 步骤1:强制关闭所有WSL实例 ```powershell # 终止所有子系统 wsl --shutdown # 确认停止状态(应无输出) wsl -l -v ``` #### 步骤2:验证虚拟化支持 ```powershell # 检查功能启用状态(需返回True) (Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V).State -eq "Enabled" (Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform).State -eq "Enabled" # 若未启用,以管理员身份执行: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All ``` #### 步骤3:更新WSL内核 ```powershell # 下载最新内核安装包(需浏览器访问) https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi # 安装后设置默认版本 wsl --set-default-version 2 ``` #### 步骤4:手动重置配置 ```powershell # 清理旧配置(保留Linux文件) wsl --unregister Ubuntu # 重新注册分发版 wsl --import Ubuntu C:\wsl\Ubuntu C:\Users\<用户名>\AppData\Local\Packages\...\install.tar.gz --version 2 ``` --- ### 三、关键验证步骤 #### 验证点1:BIOS虚拟化 ```powershell # 检查是否启用虚拟化(应返回True) systeminfo | findstr /I "虚拟化" # 输出示例: 虚拟化技术在固件中已启用: 是 ``` #### 验证点2:系统架构 ```powershell # 必须返回True [Environment]::Is64BitOperatingSystem ``` #### 验证点3:组件版本 ```powershell # 查看WSL版本(需≥1.0.3) wsl --version ``` --- ### 四、系统优化配置 #### 配置1:内存限制 ```powershell # 创建配置文件 notepad "$env:USERPROFILE\.wslconfig" # 添加内容(示例): [wsl2] memory=4GB # 限制最大内存 processors=2 # 分配CPU核心数 ``` #### 配置2:磁盘路径 ```powershell # 导出/导入子系统(需管理员权限) wsl --export Ubuntu D:\wsl\ubuntu_backup.tar wsl --import Ubuntu_New D:\wsl\instances\ubuntu D:\wsl\ubuntu_backup.tar ``` --- ### 五、故障排除指南 #### 情况1:持续报错WSL_E_VM_MODE ```powershell # 方案A:禁用再启用组件 dism.exe /online /disable-feature /featurename:Microsoft-Hyper-V /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart # 方案B:重置虚拟机平台 bcdedit /set hypervisorlaunchtype auto ``` #### 情况2:与Docker冲突 ```powershell # 修改Docker设置: 1. 右键系统托盘Docker图标 → Settings → General 2. 取消勾选 "Use the WSL 2 based engine" 3. 重启Docker服务 ``` --- ### 六、最终状态验证 ```powershell # 预期成功状态检查 wsl -l -v -s # 输出示例: NAME STATE VERSION * Ubuntu Running 2 # 测试Linux命令 wsl lsb_release -a # 应显示Ubuntu版本信息 ``` --- ### 七、操作流程图解 ```mermaid graph TD A[开始] --> B{wsl -l -v检查状态} B -->|版本=2| C[尝试启动子系统] B -->|版本=1| D[执行版本转换] C --> E{能否正常启动?} E -->|否| F[检查虚拟化支持] E -->|是| G[操作完成] F --> H[启用Hyper-V/虚拟机平台] H --> I[更新WSL内核] I --> J[重置子系统配置] J --> B ``` --- 如果仍然遇到问题,请提供以下信息: ```powershell # 获取详细日志 wsl --status > wsl_log.txt # 检查系统版本 winver ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值