Windows11安装WSL2 笔记240726

avatar
作者
猴君
阅读量:0

以管理员身份打开控制台输入 wsl --status

wsl --status 

如果什么也没有,说明系统还未安装WSL , 执行 wsl --install 进行安装

wsl --install 

安装完成后, 再次执行 wsl --status 可看到
wsl --status

默认版本: 2 当前计算机配置不支持 WSL1。 若要使用 WSL1,请启用“Windows Subsystem for
Linux”可选组件。 当前计算机配置不支持 WSL2。 请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution 有关信息,请访问
https://aka.ms/enablevirtualization

官文 如何使用 WSL 在 Windows 上安装 Linux

使用 wsl --install 命令安装的新 Linux 安装将默认设置为 WSL 2。

使用 wsl --install 命令安装的新 Linux 安装将默认设置为 WSL 2。

wsl --set-version 命令可用于从 WSL 2 降级到 WSL 1,或将以前安装的 Linux 发行版从 WSL 1 更新到
WSL 2。

要查看 Linux 发行版是设置为 WSL 1 还是 WSL 2,请使用命令 wsl -l -v。

要更改版本,请使用 wsl --set-version 2 命令将 替换为要更新的
Linux 发行版的名称。 例如,wsl --set-version Ubuntu-20.04 2 会将 Ubuntu 20.04
发行版设置为使用 WSL 2。

如果在 wsl --install 命令可用之前手动安装了 WSL,则可能还需要启用 WSL 2
所使用的虚拟机可选组件并安装内核包(如果尚未这样做)。

比较 WSL 1 和 WSL 2 https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions

在这里插入图片描述

Windows11安装WSL2

在Windows 11上安装WSL2(Windows Subsystem for Linux 2)的过程相对直接,以下是一个详细的步骤指南:

一、启用Windows子系统及虚拟化

1. 通过命令行启用
  1. 以管理员身份打开PowerShell:可以通过在Windows搜索栏中输入“PowerShell”,然后右键点击“以管理员身份运行”来实现。
  2. 运行命令启用WSL和虚拟机平台
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 
    执行完上述命令后,系统会提示需要重启,选择“是”以重启计算机。
2. 通过图形界面启用
  1. 打开控制面板:可以通过Windows搜索栏搜索“控制面板”并打开。
  2. 进入程序和功能:在控制面板中,选择“程序”下的“启用或关闭Windows功能”。
  3. 勾选相应功能:在打开的窗口中,勾选“适用于Linux的Windows子系统”和“虚拟机平台”,如果未显示“Hyper-V”,则可能需要单独添加(通常勾选“虚拟机平台”时会自动包含Hyper-V的相关功能)。点击“确定”后,系统会提示重启计算机。

二、安装内核更新包

对于Windows 11,通常情况下不需要单独下载和安装Linux内核更新包,因为系统更新中可能已经包含了所需的组件。但如果需要,可以从Microsoft Store或官方网站下载并安装适用于WSL2的内核更新包。

三、设置默认WSL版本

在PowerShell中以管理员身份运行以下命令,将WSL的默认版本设置为WSL 2:

wsl --set-default-version 2 

设置默认版本为WSL 1:

wsl --set-default-version 1 

四、安装Linux分发版

1. 通过Microsoft Store安装
  1. 打开Microsoft Store:在Windows搜索栏中输入“Microsoft Store”并打开。
  2. 搜索并安装Linux分发版:在Microsoft Store中搜索你想要的Linux分发版(如Ubuntu),然后点击“获取”进行安装。安装完成后,你可以通过开始菜单或PowerShell启动它。
2. 手动下载并安装

如果你希望更灵活地控制安装过程或避免使用Microsoft Store,可以从Linux分发版的官方网站下载.appx包,并使用PowerShell命令进行安装。例如,对于Ubuntu,你可以使用以下命令下载并安装:

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing Add-AppxPackage .\Ubuntu.appx 

注意:上述URL和文件名仅为示例,请根据实际情况替换为正确的下载链接和文件名。

五、配置WSL2(可选)

安装完成后,你可能需要根据自己的需求进行一些配置,例如设置默认用户、配置图形界面支持、安装额外的软件包等。这些配置通常可以在Linux分发版的终端中通过相应的命令或脚本来完成。

注意事项

  • 在安装和配置WSL2时,请确保你的Windows 11系统已更新到最新版本,以获得最佳兼容性和性能。
  • 如果你在使用VMware、Hyper-V或Docker等其他虚拟化技术时遇到问题,请确保它们与WSL2兼容,并根据需要进行相应的配置或禁用。
  • WSL2提供了与Windows文件系统的无缝集成,但请注意在WSL中直接修改Windows文件系统的性能可能不如在Windows中直接操作。

通过以上步骤,你应该能够在Windows 11上成功安装并配置WSL2,以便在Windows环境中方便地运行Linux应用程序和进行开发工作。

如何查看WSL的版本

要查看Windows Subsystem for Linux (WSL) 的版本,即确定您的WSL是WSL 1还是WSL 2,可以使用以下方法:

方法一:使用命令行

  1. 打开Windows命令提示符(cmd)或PowerShell终端

    • 可以通过在开始菜单中搜索“cmd”或“PowerShell”,然后右键点击“以管理员身份运行”来打开。
  2. 运行命令以列出已安装的Linux发行版及其WSL版本

    • 在命令提示符或PowerShell中,输入以下命令之一并回车:

      wsl --list --verbose 

      或者,对于早期版本的WSL,可能需要使用不同的命令(但上述命令现已成为标准),但现代WSL安装应直接支持--list --verbose选项。

    • 输出将显示已安装的Linux发行版列表,包括它们的名称、状态和WSL版本(在“VERSION”列下)。例如,您可能会看到类似Ubuntu-20.04 Running 2的输出,这表明Ubuntu 20.04发行版正在WSL 2下运行。

方法二:检查WSL的安装状态

虽然这不是直接查看WSL版本的方法,但了解WSL是否已启用以及启用的是哪个版本也很有用。

  1. 打开PowerShell终端(如上所述)。

  2. 运行以下命令来检查WSL的启用状态和版本

    wsl --status 

    注意:此命令可能不会直接显示每个发行版的WSL版本,但它会提供有关WSL是否已安装、默认版本以及是否启用了虚拟机平台等关键信息。

方法三:通过系统设置(对于某些用户可能不直接显示版本)

虽然系统设置通常不提供直接查看WSL版本的界面,但您可以通过以下步骤确认WSL是否已启用(尽管这不会显示具体的版本信息):

  1. 打开“设置”应用:使用Windows + I快捷键。
  2. 导航到“应用” > “可选功能”
  3. 在“已安装的功能”列表中查找“适用于Linux的Windows子系统”:如果已安装,它将列出在那里,但可能不会显示版本信息。

注意事项

  • 确保您的Windows 10或Windows 11系统已更新到支持WSL 2的最新版本。
  • 如果您之前安装了WSL 1并希望升级到WSL 2,请按照Microsoft的官方指南进行操作,这通常涉及启用“虚拟机平台”功能并设置WSL的默认版本为2。
  • 如果您遇到任何问题,Microsoft的官方文档和社区论坛是获取帮助的好资源。

通过以上方法,您应该能够轻松查看您的WSL版本。




wsl2 和 hyper-v 的关系

WSL2(Windows Subsystem for Linux 2)和Hyper-V之间的关系主要体现在它们各自在Windows操作系统中所扮演的角色以及它们之间的技术依赖上。

一、技术定义与功能

  1. WSL2

    • WSL2是微软公司开发的一项创新性技术,它在Windows操作系统上提供了一个完整的Linux内核,允许用户在Windows环境中运行Linux发行版。
    • WSL2通过虚拟化技术在Windows上运行一个轻量级的Linux内核,从而提供了更高的兼容性和更好的性能。
    • WSL2支持原生文件系统性能,能够更流畅地访问Windows主机上的文件系统,同时也支持对Linux文件系统的原生访问。
    • WSL2还允许用户在Windows上运行Docker容器,为开发者提供了一个更一致的环境。
  2. Hyper-V

    • Hyper-V是微软开发的一种虚拟化技术和虚拟机管理器,它允许在Windows操作系统上创建和运行多个虚拟机实例,每个虚拟机可以运行独立的操作系统和应用程序。
    • Hyper-V属于硬件虚拟化,直接运行在硬件上,提供高性能和强大的隔离功能。
    • 它支持多种操作系统,包括Windows、Linux等,并且提供了易于使用的管理工具,如Hyper-V管理器和PowerShell支持。

二、WSL2与Hyper-V的关系

  • 技术依赖:WSL2在技术上依赖于Hyper-V虚拟化技术。具体来说,WSL2使用了Hyper-V的虚拟机功能来运行一个完整的Linux内核,这使得WSL2能够提供比WSL1更高的性能和更好的兼容性。因此,在使用WSL2时,Windows系统需要启用Hyper-V功能(尽管这一过程对用户来说是透明的)。
  • 应用场景:虽然WSL2和Hyper-V都涉及虚拟化技术,但它们的应用场景有所不同。WSL2主要用于在Windows上运行Linux应用程序和命令行工具,提供了一种更直接的方式访问Linux功能。而Hyper-V则是一个更为通用的虚拟化平台,允许用户创建和管理多个虚拟机,并在其中运行各种操作系统,提供了更广泛的虚拟化功能和管理。

三、总结

WSL2和Hyper-V在Windows操作系统中共同提供了强大的虚拟化功能,但它们各自有着不同的应用场景和技术特点。WSL2通过依赖Hyper-V的虚拟化技术,在Windows上提供了一个完整的Linux内核,为开发者提供了更高效的开发和测试环境。而Hyper-V则作为一个完整的虚拟化平台,为用户提供了更广泛的虚拟化解决方案。




wsl2 需不需要勾选 hyper-v ?

关于WSL2是否需要勾选Hyper-V的问题,可以从以下几个方面进行阐述:

一、技术依赖关系

  • WSL2与Hyper-V的关联:WSL2在技术上确实依赖于Hyper-V的虚拟化技术。WSL2通过使用Hyper-V的虚拟机功能来运行一个完整的Linux内核,从而提供比WSL1更高的性能和更好的兼容性。
  • 虚拟机平台与Hyper-V:在Windows的新版本中,Hyper-V的功能被拆分为底层的虚拟机平台(VirtualMachinePlatform)和上层的虚拟机管理软件(Hyper-V Management Tools)。对于WSL2来说,主要依赖的是底层的虚拟机平台功能,而无需额外安装上层的虚拟机管理软件。

二、安装与配置

  • 启用虚拟机平台:为了使用WSL2,用户需要在Windows功能中启用“虚拟机平台”功能。这通常可以通过控制面板的“程序和功能”->“启用或关闭Windows功能”来完成,勾选“虚拟机平台”即可。
  • Hyper-V的勾选:对于大多数用户来说,在启用WSL2时,并不需要直接勾选“Hyper-V”选项(除非用户同时需要运行其他基于Hyper-V的虚拟机)。然而,需要注意的是,启用“虚拟机平台”实际上已经隐含地启用了Hyper-V的底层虚拟化支持,因为WSL2正是基于这一技术实现的。

三、特殊情况

  • Windows家庭版:Windows家庭版默认不包含Hyper-V功能。但是,由于WSL2主要依赖的是虚拟机平台功能,而不是完整的Hyper-V套件,因此Windows家庭版用户仍然可以通过其他方式(如修改注册表或使用第三方工具)来启用虚拟机平台功能,从而使用WSL2。
  • 其他虚拟机软件的冲突:需要注意的是,启用Hyper-V(包括其底层的虚拟机平台)可能会与某些其他虚拟机软件(如旧版本的VMware Workstation、VirtualBox以及某些安卓模拟器)发生冲突。这是因为Hyper-V是Type-I型虚拟机,它直接运行在硬件上,并可能独占虚拟化资源。

四、结论

综上所述,对于WSL2来说,用户需要启用的是“虚拟机平台”功能,而不是直接勾选“Hyper-V”。然而,由于启用虚拟机平台实际上已经隐含地启用了Hyper-V的底层虚拟化支持,因此可以认为WSL2在技术上确实依赖于Hyper-V的虚拟化技术。在大多数情况下,用户无需直接关注Hyper-V的勾选问题,只需确保虚拟机平台功能已启用即可。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!