目录
1.从WSL 1如何切换到WSL 2?
2.从WSL 2如何切换回WSL 1?
3.WSL1转换为WSL2后,WSL1里面安装的程序和库需要重装吗?
4.WSL2转换为WSL1后,WSL2里面安装的程序和库需要重装吗?
5.如何备份WSL2?
6.一台电脑上面可以同时运行WSL1和WSL2吗?
7.WSL2如何从C盘转移到D盘?
8.导入到D盘之后,原来的WSL还在吗?是不是我的电脑上面同时就有了2个wsl?
9.当有多个WSL时,如何启动特定的WSL?
10.电脑上现在运行了2个WSL,想关闭其中一个,但使用--shutdown命令全部都关闭了,我想另外一个依然运行,怎么操作?
1.从WSL 1如何切换到WSL 2?
从WSL 1切换到WSL 2的过程中,需要执行以下步骤:
确保Windows版本为1903或更高版本,并启用了虚拟化功能。
下载并安装WSL 2更新:Install WSL | Microsoft Learn
将WSL 2设置为默认版本,可以使用以下命令:
wsl --set-default-version 2
更新WSL 1发行版,以便其在WSL 2中运行,可以使用以下命令:
wsl --set-version <distribution name> 2
请注意,切换到WSL 2后,需要下载并安装适用于WSL 2的Linux内核,但不需要重新安装Linux发行版。现有的WSL 1发行版将自动转换为WSL 2发行版。
2.从WSL 2如何切换回WSL 1?
可以通过以下步骤将WSL 2转换回WSL 1:
打开 PowerShell 并运行以下命令以将 WSL 1设置为默认版本:
wsl --set-default-version 1
然后,运行以下命令以将 WSL 2 发行版转换为 WSL 1 发行版。请将
<distribution name>
替换为想要转换的发行版的名称:
wsl --set-version <distribution name> 1
,如我这边的WSL2的名称为Ubuntu-20.04-e,那么我输入的命令就是:wsl --set-version Ubuntu-20.04-e 1,稍等片刻就会显示转换完成:等待转换过程完成。此过程可能需要一些时间,具体取决于发行版的大小和计算机的性能。
请注意,转换过程将删除 WSL 2 的所有状态和文件,并将其转换为 WSL 1。如果之前在 WSL 2 中安装了任何程序或库,则需要在 WSL 1 中重新安装它们。
另外,如果之前已删除 WSL 1 的状态或文件,则可能需要在转换回 WSL 1 之前重新安装 WSL 1 发行版。可以从 Microsoft Store 或其他适当的渠道重新安装 WSL 1 发行版。
3.WSL1转换为WSL2后,WSL1里面安装的程序和库需要重装吗?
通常来说,在WSL 1中安装的程序和库可以在WSL 2中继续使用,无需重新安装。
将WSL 1升级为WSL 2时,WSL 1发行版会自动转换为WSL 2发行版,并且已经安装的程序和库将保留在转换后的发行版中。可以使用与WSL 1相同的方式在WSL 2中运行这些程序和库,只是在性能和功能方面会有所提升。
但是,如果程序或库依赖于特定于WSL 1的功能或配置,则可能需要在WSL 2中进行适当的修改或重新安装。此外,WSL 2中使用的Linux内核与WSL 1中使用的Linux内核有所不同,因此某些特定的Linux驱动程序或内核模块可能需要重新安装或重新编译以在WSL 2中正常运行。
4.WSL2转换为WSL1后,WSL2里面安装的程序和库需要重装吗?
在将 WSL 2 转换回 WSL 1 后,WSL 2 中安装的程序和库不会自动转移到 WSL 1,因此需要在 WSL 1 中重新安装它们。
当在 WSL 2 中安装程序或库时,它们将安装在 WSL 2 文件系统中。而在将 WSL 2 转换回 WSL 1 后,WSL 1 文件系统将替换 WSL 2 文件系统,因此之前在 WSL 2 中安装的程序和库将无法在 WSL 1 中访问。
如果需要在 WSL 1 中使用之前在 WSL 2 中安装的程序和库,则需要在 WSL 1 中重新安装它们。在 WSL 1 中安装程序和库的过程与在 WSL 2 中安装它们的过程类似,只需要在 WSL 1 中打开终端并使用适当的包管理器(如 apt-get 或 yum)来安装它们。
请注意,在 WSL 1 和 WSL 2 之间切换可能会涉及到文件系统和网络配置的变化,因此在切换之前最好备份重要数据并了解这些变化的影响。
5.如何备份WSL2?
在备份 WSL 2 之前,需要先理解 WSL 2 的文件系统和状态存储位置。在 WSL 2 中,Linux 文件系统存储在虚拟硬盘(VHD)中,并位于 Windows 文件系统中的特定位置。此外,WSL 2 状态信息存储在 Windows 注册表中的特定位置。
要备份 WSL 2,需要完成以下步骤:
停止 WSL 2 发行版:在 PowerShell 中运行以下命令,其中
<distribution name>
是要备份的发行版的名称:
wsl --terminate <distribution name>
导出 WSL 2 的 VHD 文件:在 PowerShell 中运行以下命令,其中
<Distribution Name>
是要备份的发行版的名称,<FileName>
是导出文件的路径和名称。
wsl --export <Distribution Name> <FileName>
备份 WSL 2 的状态信息:打开 Windows 注册表编辑器,并导航到以下位置:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\<distribution GUID>
。右键单击此位置并选择“导出”,然后选择保存导出文件的位置和名称。备份完毕后,可以重新启动 WSL 2 发行版:在 PowerShell 中运行以下命令,其中
<Distribution Name>
是要重新启动的发行版的名称:
wsl --start <Distribution Name>
要恢复备份,只需执行以下操作:
将导出的 VHD 文件复制到要恢复的计算机上,并将其重命名为要还原的发行版的名称。
在 PowerShell 中运行以下命令,其中
<Distribution Name>
是要还原的发行版的名称,<FileName>
是上一步导出文件的路径和名称。
wsl --import <Distribution Name> <InstallLocation> <FileName>
注意,
<InstallLocation>
是要导入发行版的安装位置。如果这个位置不存在,WSL 2 会自动创建它。导入成功后,可以使用以下命令启动 WSL 2 发行版:
wsl --start <Distribution Name>
请注意,备份和恢复 WSL 2 可能需要一些时间,具体取决于发行版的大小和计算机的性能。同时,由于 WSL 2 使用的是动态虚拟硬盘文件,因此备份文件的大小可能会超过发行版的实际大小。
6.一台电脑上面可以同时运行WSL1和WSL2吗?
一台计算机可以同时安装 WSL 1 和 WSL 2。在 Windows 10 版本 2004 及更高版本中,可以使用“启用或关闭 Windows 功能”对话框来启用或禁用 WSL 1 和 WSL 2:
要同时使用 WSL 1 和 WSL 2,请先确保已启用 WSL 功能。打开 Windows PowerShell 并以管理员身份运行,然后运行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
接下来,需要启用 WSL 2。打开 Windows PowerShell 并以管理员身份运行,然后运行以下命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后,需要下载和安装 WSL 2 更新内核。可以从 Microsoft 的官方网站上下载适用于的Windows 版本的最新内核更新。安装完成后,请重启计算机以使更改生效。
一旦 WSL 1 和 WSL 2 都启用并且最新的 WSL 2 更新内核已安装,可以在 Windows 终端中使用
wsl --set-version <distribution name> <versionNumber>
命令将特定的 WSL 发行版切换为 WSL 1 或 WSL 2 版本。请注意,WSL 1 和 WSL 2 版本之间的切换可能需要一些时间,并且需要重新启动 WSL 发行版才能生效。
在同一台计算机上使用 WSL 1 和 WSL 2 可以让在不同的环境中运行不同的 Linux 发行版和应用程序,并且具有更高的灵活性和兼容性。
7.WSL2如何从C盘转移到D盘?
要将 WSL 2 安装从 C 盘转移到 D 盘,可以执行以下步骤:
在 D 盘创建一个新的目录,用于存储 WSL 2 安装文件。例如,可以在 D 盘根目录下创建一个名为
wsl
的文件夹。打开 Windows 终端,使用管理员权限运行。
通过
wsl --list --verbose
命令查找要移动的 WSL 2 发行版的 GUID(Global Unique Identifier)。在 Windows 终端中,执行以下命令,将 WSL 2 安装文件从 C 盘移动到 D 盘:
wsl --export <Distribution Name> <FileName>
其中,
<Distribution Name>
是要移动的 WSL 2 发行版的名称,例如 Ubuntu,<FileName>
是导出文件的路径和名称,例如D:\wsl\ubuntu.tar
。如:wsl --export Ubuntu-20.04 D:\WSL\Ubuntu-20.04-d
然后,执行以下命令,从导出的文件中导入 WSL 2 安装到 D 盘:
wsl --import <Distribution Name> <InstallLocation> <FileName>
其中,<Distribution Name>
是要导入的 WSL 2 发行版的名称,例如 Ubuntu,<InstallLocation>
是要在 D 盘上创建的新 WSL 2 安装文件夹的路径,例如 D:\WSL,<FileName>
是上一步导出文件的路径和名称,例如D:\WSL\Ubuntu-20.04-d。总的命令就是:wsl --import Ubuntu-20.04-d D:\WSL D:\WSL\Ubuntu-20.04-d- 然后,使用
wsl --set-default <distribution name>
命令将新导入的 WSL 2 发行版设置为默认发行版。
通过这些步骤,可以将 WSL 2 安装文件从 C 盘移动到 D 盘,并在 D 盘上重新导入和安装 WSL 2 发行版。请注意,在此过程中,需要确保 WSL 2 发行版的数据和配置已备份,并且已将它们迁移到新的安装文件夹中。
8.导入到D盘之后,原来的WSL还在吗?是不是我的电脑上面同时就有了2个wsl?
导入到 D 盘后,原来的 WSL 2 发行版仍然存在于 C 盘中,并且在 D 盘上创建了一个新的 WSL 2 发行版。因此,电脑上现在有两个 WSL 2 发行版。
可以使用
wsl --list --verbose
命令查看所有已安装的 WSL 发行版的详细信息,包括它们的 GUID、状态、路径和默认状态。默认情况下,新导入的 WSL 2 发行版可能不会自动成为默认的 WSL 发行版,因此可能需要使用wsl --set-default <distribution name>
命令将其设置为默认的 WSL 发行版。
请注意,当创建新的 WSL 发行版时,WSL 2 发行版和 WSL 1 发行版都可以存在于同一台计算机上,且可以同时运行。但是,当使用 wsl --set-version
命令将 WSL 2 发行版转换为 WSL 1 发行版或将 WSL 1 发行版转换为 WSL 2 发行版时,需要重启 WSL 发行版,这可能会导致的应用程序和库需要重新安装和配置。
9.当有多个WSL时,如何启动特定的WSL?
如果在计算机上同时安装了多个 WSL 2 发行版,可以使用以下步骤启动想要的 WSL 发行版:
- 打开 Windows 终端。
- 运行
wsl --list --verbose
命令列出所有已安装的 WSL 发行版及其详细信息。- 查找想要启动的 WSL 发行版的名称,该名称在第一列中。
- 运行
wsl --distribution <distribution name>
命令,其中<distribution name>
是想要启动的 WSL 发行版的名称。例如,如果想要单独启动名为 "Ubuntu" 的 WSL 发行版,可以运行以下命令:
wsl --distribution Ubuntu
请注意,也可以使用以下命令来启动默认的 WSL 发行版:
wsl
此命令将启动在上一次使用 wsl
命令时设置的默认 WSL 发行版。如果想要更改默认的 WSL 发行版,请使用 wsl --set-default <distribution name>
命令,其中 <distribution name>
是想要设置为默认的 WSL 发行版的名称。
10.电脑上现在运行了2个WSL,想关闭其中一个,但使用--shutdown命令全部都关闭了,我想另外一个依然运行,怎么操作?
如果想要关闭一个 WSL 发行版,但让另一个 WSL 发行版继续运行,请按照以下步骤操作:
- 打开 Windows 终端。
- 运行
wsl --list
命令列出所有已安装的 WSL 发行版及其名称。- 找到想要关闭的 WSL 发行版的名称。
- 运行
wsl --terminate <distribution name>
命令,其中<distribution name>
是想要关闭的 WSL 发行版的名称。
例如,如果想要关闭名为 "Ubuntu" 的 WSL 发行版,可以运行以下命令:
wsl --terminate Ubuntu
请注意,这个命令将立即终止 WSL 发行版中所有正在运行的进程,因此请确保已经保存并关闭了所有需要保存的文件和应用程序。
11.如何卸载指定的WSL发行版?
使用如下命令在Windows 终端中执行即可:
- 打开 Windows 终端。
- 运行
wsl -l -v
命令列出所有已安装的 WSL 发行版及其名称。- 找到想要卸载的 WSL 发行版的名称。
- 运行wsl --unregister <DistributionName>命令,其中
<
DistributionNam>
是想要卸载的 WSL 发行版的名称。
例如,如果想要关闭名为 "Ubuntu-20.04-e" 的 WSL 发行版,可以运行以下命令:
wsl --unregister Ubuntu-20.04-e
文章来源:https://www.toymoban.com/news/detail-439755.html
文章来源地址https://www.toymoban.com/news/detail-439755.html
到了这里,关于WSL1和WSL2相互转换以及安装路径迁移相关问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!