wsl子系统安装位置修改

wsl命令说明(wsl --help):

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

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

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

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

    --
        按原样传递其余命令行。

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

    --distribution, -d <Distro>
        运行指定分发。

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

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

    --help
        显示用法信息。

    --install [选项]
        安装额外的适用于 Linux 的 Windows 子系统分发。
         要获得有效分发列表,请使用“wsl --list --online”。

        选项:
            --distribution, -d [参数]
                按名称下载并安装分发。

                参数:
                    有效分发名称(不区分大小写)。

                示例:
                    wsl --install -d Ubuntu
                    wsl --install --distribution Debian

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

      --shutdown
         立即终止所有运行的分发及 WSL 2
        轻型工具虚拟机。

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

    --update [选项]
        如果未指定任何选项,则 WSL 2 内核将更新
        到最新版本。

             选项:
         --rollback
                还原到 WSL 2 内核的先前版本。

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

    --export <Distro> <FileName>
         将分发导出到 tar 文件。
        对于标准输出,文件名可以是 –。

    --import <Distro> <InstallLocation> <FileName> [Options]
            将指定的 tar 文件作为新分发导入。
          对于标准输入,文件名可以是 –。

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

    --list, -l [Options]
        列出分发。

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

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

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

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

            --online, -o
                显示使用“wsl --install”进行安装的可用分发列表。

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

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

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

    --unregister <分发>
        注销分发并删除根文件系统。

 

子系统的备份还原(修改子系统的位置):

  • Step1: 通过 wsl -l --running 查看正在运行的子系统
  • Step2: 若有正在运行的子系统,则通过 wsl -t <DistributionName> 来终止其运行
  • Step3: 利用 wsl --export <DistributionName> <FileName> 来备份子系统,结果会得到一个tar归档文件。假设有名为Ubuntu-20.04的子系统, 想要将结果文件保存为Ubuntu2004.tar(同时指定其路径即为F:\Ubuntu2004.tar),则调用的命令为 wsl --export Ubuntu-20.04 F:\Ubuntu2004.tar 
  • Step4: 然后利用 wsl --import <DistributionName> <InstallLocation> <FileName> 来恢复子系统。例如: wsl --import Ubuntu2004 F:\Ubuntu2004\ F:\Ubuntu2004.tar (新恢复的子系统命名为Ubuntu,不能与已有的子系统相同)
  • Step5:使用  wsl --unregister Ubuntu-20.04  注销原始子系统。(卸载原先的子系统)

 

关于默认登录用户:

还原完的子系统默认登录用户为root,如果需要修改的话,可以在注册表修改,修改位置:

计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{9a125916-2f84-413b-aac7-26ef934a83fd}/DefaultUid

 

其中“{9a125916-2f84-413b-aac7-26ef934a83fd}”可能不一样,该注册表存着的是Ubuntu默认用户的uid值(16进制),可以登录子系统通过命令 id <username> 获取。

 

posted @ 2022-08-12 18:08  禅元天道  阅读(1893)  评论(0编辑  收藏  举报