homework001 2026-01-05 10:14 采纳率: 33.3%
浏览 8

Windows的WSL运行失败

之前运行正常
后面在主机上安装了VM,主板和系统设置均做了调整
现在运行就出问题,如何解决

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2026-01-05 10:15
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    在 Windows 的 WSL(Windows Subsystem for Linux)运行失败的问题中,可能由于你提到的 安装了虚拟机(VM) 以及 主板和系统设置进行了调整,导致 WSL 无法正常启动。以下是一些常见原因及解决方案,帮助你逐步排查并解决问题。


    问题分析

    1. Hyper-V 或 WSL 依赖项被禁用

    • 安装 VM(如 VMware、VirtualBox)或修改 BIOS 设置可能导致 Hyper-V 被禁用。
    • WSL 2 依赖于 Hyper-V,如果未启用,WSL 2 将无法运行。

    2. BIOS/UEFI 设置冲突

    • 某些主板设置(如 Secure BootVirtualization Technology (VT-x/AMD-V))可能被关闭或更改,影响 WSL 运行。

    3. WSL 版本不兼容

    • 如果之前使用的是 WSL 1,但尝试切换到 WSL 2,可能会出现兼容性问题。

    🔧 解决方案步骤

    第一步:检查 WSL 是否启用

    1. 打开 PowerShell(以管理员身份运行)

      • Win + S 输入 PowerShell,右键选择 “以管理员身份运行”
    2. 运行以下命令,查看 WSL 是否已启用

      wsl --list --verbose
      
      • 如果没有输出或提示错误,说明 WSL 未正确启用。
    3. 启用 WSL 功能

      dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
      
      • 然后重启电脑。

    第二步:确保 Hyper-V 和 WSL 2 已启用

    1. 在 PowerShell 中运行以下命令,确认 Hyper-V 是否启用

      Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
      
      • 如果状态为 Disabled,请运行:
        Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
        
    2. 启用 WSL 2 支持

      wsl --set-default-version 2
      

    第三步:检查 BIOS/UEFI 设置

    1. 重启电脑,进入 BIOS/UEFI 设置(通常通过 F2/F10/ESC 键)

    2. 确保以下选项已开启:

      • Intel VT-x / AMD-V(虚拟化技术)
      • Secure Boot(建议保持开启,除非有特殊需求)
      • Legacy Mode(如果需要支持旧系统)
    3. 保存设置并退出,然后重新启动系统。


    第四步:检查虚拟机与 WSL 冲突

    如果你安装了 VMware、VirtualBox 或其他虚拟化软件,它们可能会与 WSL 2 的 Hyper-V 功能冲突。

    解决方案:

    • 卸载冲突的虚拟化软件(如 VMware、VirtualBox)

      • 或者尝试将这些虚拟机设置为 不使用 Hyper-V(具体操作取决于虚拟机类型)。
    • 禁用 Hyper-V 并改用 WSL 1(仅适用于不需要 GPU 或高性能需求的场景)

      wsl --set-default-version 1
      

    第五步:重置 WSL

    如果以上方法无效,可以尝试重置 WSL:

    1. 卸载 WSL

      wsl --unregister <DistributionName>
      
      • 替换 <DistributionName> 为你当前使用的发行版名称(如 Ubuntu)
    2. 重新安装 WSL

      • 从 Microsoft Store 重新安装你需要的 Linux 发行版
    3. 设置默认版本为 WSL 2

      wsl --set-default-version 2
      

    🛠️ 代码示例:检查 WSL 状态

    # 查看 WSL 版本
    wsl --list --verbose
    
    # 查看 Hyper-V 状态
    Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
    
    # 查看 WSL 2 是否可用
    wsl --status
    

    总结:关键点

    • Hyper-V 和 WSL 2 必须启用(特别是安装了其他虚拟机后)
    • BIOS/UEFI 设置中必须开启虚拟化技术
    • 避免多个虚拟化平台同时运行
    • 必要时可降级为 WSL 1

    如果你能提供更具体的错误信息(例如:The system cannot find the file specifiedError: 0x80070002),我可以进一步帮你定位问题。欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 1月5日