这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【分享开发笔记,赚取电动螺丝刀】WSL系统包从C盘迁移至其他盘维护

共2条 1/1 1 跳转至

【分享开发笔记,赚取电动螺丝刀】WSL系统包从C盘迁移至其他盘维护

工程师
2025-03-15 21:43:16     打赏

      WSL安装的系统包,默认都是放在C盘下,个人习惯C盘只放系统文件和必要的应用程序,数据都放在其他盘维护,因此在配完ubuntu开发环境后,就开始着手将ubuntu的系统盘迁移至D盘维护。

移植步骤

wsl命令查看

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl --help
版权所有 (c) Microsoft Corporation。保留所有权利。
有关此产品的隐私信息,请访问 https://aka.ms/privacy。

用法: wsl.exe [Argument][Options...][CommandLine]

运行 Linux 二进制文件的参数:

    如果未提供命令行,wsl.exe 将启动默认 shell。

    --exec, -e <CommandLine>
        在不使用默认 Linux shell 的情况下执行指定的命令。

    --shell-type <standard|login|none>
        使用提供的 shell 类型执行指定的命令。

    --
        按原样传递剩余的命令行。

选项:
    --cd <Directory>
        将指定目录设置为当前工作目录。
        如果使用 ~,则将使用 Linux 用户的主路径。如果路径以
        / 字符开始,它将被解释为绝对 Linux 路径。
        否则,该值必须是绝对 Windows 路径。

    --distribution, -d <DistroName>
        运行指定的分发版。

    --distribution-id <DistroGuid>
        运行指定的分发版 ID。

    --user, -u <UserName>
        以指定用户身份运行。

    --system
        为系统分发版启动 shell。

用于管理适用于 Linux 的 Windows 子系统的参数:

    --help
        显示使用情况信息。

    --debug-shell
        出于诊断目的打开 WSL2 调试 shell。

    --install [Distro] [Options...]
        安装适用于 Linux 的 Windows 子系统分发版。
        有关有效分发版的列表,请使用 'wsl.exe --list --online'。

        选项:
            --enable-wsl1
                启用 WSL1 支持。

            --from-file <Path>
                从本地文件安装分发版。

            --legacy
                使用旧分发版清单。

            --location <Location>
                设置分发版的安装路径。

            --name <Name>
                设置分发的名称。

            --no-distribution
                仅安装所需的可选组件,不安装分发版。

            --no-launch, -n
                安装后不要启动分发版。

            --version <Version>
                指定要用于新分发的版本。

            --web-download
                从 Internet 而不是 Microsoft Store 下载分发版。

    --manage <Distro> <Options...>
        更改发行版特定选项。

        选项:
            --move <Location>
                将分发移到新位置。

            --set-sparse, -s <true|false>
                将发行版的 vhdx 设置为稀疏,从而允许自动回收磁盘空间。

            --set-default-user <Username>
                设置分发版的默认用户。

    --mount <Disk>
        在所有 WSL 2 分发版中附加和装载物理磁盘或虚拟磁盘。

        选项:
            --vhd
                指定 <Disk> 引用虚拟硬盘。

            --bare
                将磁盘附加到 WSL2,但不要装载它。

            --name <Name>
                使用装入点的自定义名称装载磁盘。

            --type <Type>
                装载磁盘时要使用的文件系统(如果未指定)默认为 ext4。

            --options <Options>
                其他装载选项。

            --partition <Index>
                要装载的分区的索引(如果未指定)默认为整个磁盘。

    --set-default-version <Version>
        更改新分发版的默认安装版本。

    --shutdown
        立即终止所有正在运行的分发版和 WSL 2
        轻型实用工具虚拟机。

    --status
        显示适用于 Linux 的 Windows 子系统状态。

    --unmount [磁盘]
        从所有 WSL2 分发版中卸载和分离磁盘。
        如果在没有参数的情况下调用,则卸载和分离所有磁盘。

    --uninstall
        从此计算机卸载适用于 Linux 的 Windows 子系统包。

    --update
        更新适用于 Linux 的 Windows 子系统包。

        选项:
            --pre-release
                下载预发行版本(如果可用)。

    --version, -v
        显示版本信息。

用于在适用于 Linux 的 Windows 子系统中管理分发版的参数:

    --export <Distro> <FileName> [选项]
        将分发版导出到 tar 文件。
        文件名可以是 - for stdout。

        选项:
            --format <Format>
                指定导出格式。支持的值: tar、tar.gz、vhd。

    --import <Distro> <InstallLocation> <FileName> [选项]
        将指定的 tar 文件作为新分发版导入。
        文件名可以是 - for stdin。

        选项:
            --version <Version>
                指定要用于新分发的版本。

            --vhd
                指定所提供的文件是 .vhdx 文件,而不是 tar 文件。
                此操作在指定的安装位置创建 .vhdx 文件的副本。

    --import-in-place <Distro> <FileName>
        将指定的 .vhdx 文件作为新分发版导入。
        必须使用 ext4 文件系统类型设置此虚拟硬盘的格式。

    --list, -l [选项]
        列出分发版。

        选项:
            --all
                列出所有分发版,包括当前
                正在安装或卸载的分发版。

            --running
                仅列出当前正在运行的分发版。

            --quiet, -q
                仅显示分发版名称。

            --verbose, -v
                显示有关所有分发版的详细信息。

            --online, -o
                显示适合通过 'wsl --install' 安装的可用分发版列表。

    --set-default, -s <Distro>
        将分布版设置为默认值。

    --set-version <Distro> <Version>
        更改指定分发版的版本。

    --terminate, -t <Distro>
        终止指定的分发版。

    --unregister <Distro>
        取消注册分发版并删除根文件系统。

     从指令中,会发现有几个关键的指令,export、import、unregister和shutdown,也就是说,理论上这几个命令就可以实现系统包的迁移。

关闭wsl

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl --shutdown

     可能因为我开机后并没有启动wsl,因此这个命令并没有任何返回信息。

将系统包导出

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl --export Ubuntu-24.04 D:\wsl-Ubuntu-24.04
正在导出,这可能需要几分钟时间。 (8089 MB)

操作成功完成。

卸载系统包

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl --unregister Ubuntu-24.04
正在注销。
操作成功完成。

导入导出的系统包

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl --import Ubuntu-24.04 D:\wsl\Ubuntu_24_04 D:\wsl-Ubuntu-24.04 --version 2
操作成功完成。

启动wsl

PS C:\Users\lxq_6\AppData\Roaming\MobaXterm\home> wsl
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Mar 14 11:59:15 CST 2025

  System load:  0.71                Processes:             56
  Usage of /:   0.8% of 1006.85GB   Users logged in:       0
  Memory usage: 3%                  IPv4 address for eth0: 172.26.250.46
  Swap usage:   0%


This message is shown once a day. To disable it please create the
/home/oxlm/.hushlogin file.

总结

    经过上面的步骤,wsl安装时安装的系统已经从C盘迁移到了D盘,剩下的就是对导出的系统包做删除或者其他处理就行。

       总体来说,WSL相对于VBOX,VMWARE之类的虚拟机来说,占用资源更少,而且由于是windows自行支持,访问wsl内文件的速度会比通过第三方虚拟机 + samba服务器快得多,平时有需要在linux命令行环境开发需求的人员,可以考虑试试这个虚拟机。






关键词: Linux     迁移     WSL    

菜鸟
2025-03-16 11:48:56     打赏
2楼

但是自从博通收购vmware免费以后感觉vmware更香了



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]