WSL1和WSL2相互转换以及安装路径迁移相关问题

news2024/9/24 1:20:26

目录

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的过程中,需要执行以下步骤:

  1. 确保Windows版本为1903或更高版本,并启用了虚拟化功能。

  2. 下载并安装WSL 2更新:Install WSL | Microsoft Learn

  3. 将WSL 2设置为默认版本,可以使用以下命令:wsl --set-default-version 2

  4. 更新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:

  1. 打开 PowerShell 并运行以下命令以将 WSL 1设置为默认版本:

    wsl --set-default-version 1

  2. 然后,运行以下命令以将 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,稍等片刻就会显示转换完成:

  3. 等待转换过程完成。此过程可能需要一些时间,具体取决于发行版的大小和计算机的性能。

        请注意,转换过程将删除 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,需要完成以下步骤:

  1. 停止 WSL 2 发行版:在 PowerShell 中运行以下命令,其中 <distribution name> 是要备份的发行版的名称:

    wsl --terminate <distribution name>

  2. 导出 WSL 2 的 VHD 文件:在 PowerShell 中运行以下命令,其中 <Distribution Name> 是要备份的发行版的名称,<FileName> 是导出文件的路径和名称。

    wsl --export <Distribution Name> <FileName>

  3. 备份 WSL 2 的状态信息:打开 Windows 注册表编辑器,并导航到以下位置:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\<distribution GUID>。右键单击此位置并选择“导出”,然后选择保存导出文件的位置和名称。

  4. 备份完毕后,可以重新启动 WSL 2 发行版:在 PowerShell 中运行以下命令,其中 <Distribution Name> 是要重新启动的发行版的名称:

    wsl --start <Distribution Name>

        要恢复备份,只需执行以下操作:

  1. 将导出的 VHD 文件复制到要恢复的计算机上,并将其重命名为要还原的发行版的名称。

  2. 在 PowerShell 中运行以下命令,其中 <Distribution Name> 是要还原的发行版的名称,<FileName> 是上一步导出文件的路径和名称。

    wsl --import <Distribution Name> <InstallLocation> <FileName>

    注意,<InstallLocation> 是要导入发行版的安装位置。如果这个位置不存在,WSL 2 会自动创建它。

  3. 导入成功后,可以使用以下命令启动 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 盘,可以执行以下步骤:

  1. 在 D 盘创建一个新的目录,用于存储 WSL 2 安装文件。例如,可以在 D 盘根目录下创建一个名为 wsl 的文件夹。

  2. 打开 Windows 终端,使用管理员权限运行。

  3. 通过 wsl --list --verbose 命令查找要移动的 WSL 2 发行版的 GUID(Global Unique Identifier)。

  4. 在 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 盘:

  1. 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
  2. 然后,使用 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 发行版:

  1. 打开 Windows 终端。
  2. 运行 wsl --list --verbose 命令列出所有已安装的 WSL 发行版及其详细信息。
  3. 查找想要启动的 WSL 发行版的名称,该名称在第一列中。
  4. 运行 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 发行版继续运行,请按照以下步骤操作:

  1. 打开 Windows 终端。
  2. 运行 wsl --list 命令列出所有已安装的 WSL 发行版及其名称。
  3. 找到想要关闭的 WSL 发行版的名称。
  4. 运行 wsl --terminate <distribution name> 命令,其中 <distribution name> 是想要关闭的 WSL 发行版的名称。

        例如,如果想要关闭名为 "Ubuntu" 的 WSL 发行版,可以运行以下命令:

  wsl --terminate Ubuntu

        请注意,这个命令将立即终止 WSL 发行版中所有正在运行的进程,因此请确保已经保存并关闭了所有需要保存的文件和应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【内网安全】——Windows权限维持

作者名&#xff1a;白昼安全主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 以后赚大钱座右铭&#xff1a; 不要让时代的悲哀成为你的悲哀专研方向&#xff1a; web安全&#xff0c;后渗透技术每日鸡汤&#xff1a;20岁的年纪不该困在爱与不爱里&#xff0c;对吗在红队…

shiro CVE-2020-13933

0x00 前言 同CVE-2020-1957&#xff0c;补充一下笔记&#xff0c;在CVE-2020-1957的基础上进行了绕过。 影响版本&#xff1a;Apache Shiro < 1.6.0 环境搭建参考&#xff1a;shiro CVE-2020-1957 0x01 漏洞复现 CVE-2020-13933中使用%3b绕过了shiro /*的检测方式&…

使用BP神经网络和Elman Net预测航班价格(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…

电脑如何录制屏幕视频?6个屏幕录制的好方法

我们每天消费的大部分媒体都是通过视频。研究表明&#xff0c;与阅读相比&#xff0c;我们通过观看视频保留的信息更多。因此&#xff0c;很容易看出视频在我们的个人生活和职业生活中的重要性。 让我们更深入地了解视频录制软件和市场上的一些最佳选择。 如何确定好的视频录制…

建议收藏,轻松搞懂区块链

未来已来&#xff0c;只是不均衡地分布在当下 大家好&#xff0c;我是菜农&#xff0c;欢迎来到我的频道。 本文共 5844字&#xff0c;预计阅读 30 分钟 区块链是近些年来最热门的前沿技术&#xff0c;被认为是未来十几年对金融、物联网、医疗等诸多领域产生最大影响的"…

Similarity-Preserving KD(ICCV 2019)原理与代码解析

paper&#xff1a;Similarity-Preserving Knowledge Distillationcode&#xff1a;https://github.com/megvii-research/mdistiller/blob/master/mdistiller/distillers/SP.py背景本文的灵感来源于作者观察到在一个训练好的网络中&#xff0c;语义上相似的输入倾向于引起相似的…

[python入门㊾] - python异常中的断言

目录 ❤ 断言的功能与语法 ❤ 常用断言 ❤ 常用的断言表达方式 ❤ 异常断言 ❤ 正则断言 ❤ 检查断言装饰器 ❤ 断言的功能与语法 Python assert&#xff08;断言&#xff09;用于判断一个表达式&#xff0c;在表达式条件为 False 的时候触发异常 断言可以在条件…

2023Python接口自动化测试实战教程,附视频实战讲解

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sql…

js中数字运算结果与预期不一致的问题和解决方案

本文主要是和大家聊聊关于js中经常出现数字运算结果与预期结果不一致的问题&#xff0c;与及解决该问题的的方案。 一、问题现象 如&#xff1a;0.1 0.2的预期结果是0.3&#xff0c;但是在js中得到的计算结果却是0.30000000000000004&#xff0c;如下图所示 如&#xff1a;0…

GEE学习笔记 六十九:【GEE之Python版教程三】Python基础编程一

环境配置完成后&#xff0c;那么可以开始正式讲解编程知识。之前我在文章中也讲过&#xff0c;GEE的python版接口它是依赖python语言的。目前很多小伙伴是刚开始学习GEE编程&#xff0c;之前或者没有编程基础&#xff0c;或者是没有学习过python。为了照顾这批小伙伴&#xff0…

15种NLP数据增强方法总结与对比

数据增强的方法 数据增强&#xff08;Data Augmentation&#xff0c;简称DA&#xff09;&#xff0c;是指根据现有数据&#xff0c;合成新数据的一类方法。毕竟数据才是真正的效果天花板&#xff0c;有了更多数据后可以提升效果、增强模型泛化能力、提高鲁棒性等。然而由于NLP…

光伏VSG-基于虚拟同步发电机的光伏并网逆变器系统MATLAB仿真

采用MATLAB2021b仿真&#xff01;&#xff01;&#xff01;仿真模型1光伏电池模块&#xff08;采用MATLAB自带光伏模块&#xff09;、MPPT控制模块、升压模块、VSG控制模块、电流滞环控制模块。2s时改变光照强度 &#xff01;&#xff01;&#xff01;VSG输出有功功率、无功功率…

6.3 使用 Swagger 生成 Web API 文档

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战&#xff1a;实现 Web API 版本控制 6.3 使用 Swagger 生成 Web API 文档 高质量的 API 文档在系统开发的过程中非常重要。本节介绍什么是 Swagger&#xff…

15-基础加强-2-xml(约束)枚举注解

文章目录1.xml1.1概述【理解】(不用看)1.2标签的规则【应用】1.3语法规则【应用】1.4xml解析【应用】1.5DTD约束【理解】1.5.1 引入DTD约束的三种方法1.5.2 DTD语法&#xff08;会阅读&#xff0c;然后根据约束来写&#xff09;1.6 schema约束【理解】1.6.1 编写schema约束1.6.…

基于高频方波电压信号注入的永磁同步电机无传感器控制仿真及其原理介绍

基于方波信号注入的永磁同步电机无传感器控制仿真及其原理介绍 注入的高频方波信号为&#xff1a; 可以得到估计轴的高频响应电流为: 当向定子绕组注入高频电压信号时,所注入的高频信号频率远高于基波信号频率。因此&#xff0c;IPMSM 在a-β轴的电压模型可以表示为: 假定…

二叉树OJ(一)二叉树的最大深度 二叉搜索树与双向链表 对称的二叉树

二叉树的最大深度 二叉树中和为某一值的路径(一) 二叉搜索树与双向链表 对称的二叉树 二叉树的最大深度 描述 求给定二叉树的最大深度&#xff0c; 深度是指树的根节点到任一叶子节点路径上节点的数量。 最大深度是所有叶子节点的深度的最大值。 &#xff08;注&#xff1a;…

Xcode Archives打包上传 / 导出ipa 发布至TestFlight

Xcode自带的Archives工具可以傻瓜式上传到App Store Connect分发这里以分发到TestFlight为例进行操作。 环境&#xff1a;Xcode 14 一&#xff1a;Archives打包 选择Xcode菜单栏的Product&#xff0c;Archives选项&#xff0c;需要等待编译完成&#xff0c;进入如下界面&…

【C语言】初识结构体

☃️内容专栏&#xff1a;【C语言】初阶部分 ☃️本文概括&#xff1a;继初识C语言&#xff0c;对C语言结构体初阶部分进行归纳与总结。 ☃️本文作者&#xff1a;花香碟自来_ ☃️发布时间&#xff1a;2023.2.19 一、结构体的声明 结构体&#xff08;类型&#xff09;是一些…

字符设备驱动基础(二)

目录 一、五种IO模型------读写外设数据的方式 二、阻塞与非阻塞 三、多路复用 3.1 应用层&#xff1a;三套接口select、poll、epoll 3.2 驱动层&#xff1a;实现poll函数 四、信号驱动 4.1 应用层&#xff1a;信号注册fcntl 4.2 驱动层&#xff1a;实现fasync函数 一、…

CSAPP学习笔记——虚拟内存(二)

案例研究 Intel Core i7 该处理底层的Haswell微体系结构允许64位的虚拟和物理地址空间&#xff0c;而现在的Core i7实现支持48位&#xff08;256TB&#xff09;虚拟地址空间和52位&#xff08;4PB&#xff09;物理地址空间&#xff0c;这对目前来说已经完全够用了。&#xff…