在 Windows Subsystem for Linux (WSL) 安装过程中,默认情况下,Linux 文件系统和安装的 Linux 发行版会被存储在系统驱动器 (通常是 C:) 的用户目录下。但是,如果你希望在安装时指定 WSL 的安装位置(例如,将其安装到其他驱动器上以节省系统盘空间),你可以通过一些方式实现。

方法一:使用 wsl --install 指定安装位置

在 Windows 10 和 Windows 11 的最新版本中,你可以使用 wsl --install 命令来安装 WSL 和指定 Linux 发行版的位置。

步骤:

  1. 打开 PowerShell 或命令提示符(以管理员身份运行)。

  2. 使用 wsl --install 命令安装 WSL 和发行版。例如:

    wsl --install -d Ubuntu
  3. 安装完成后,可以使用以下命令导出发行版到新的位置:

    wsl --export <DistributionName> <FileName.tar>

    例如:

    wsl --export Ubuntu D:\WSL\ubuntu.tar
  4. 删除原有的发行版:

    wsl --unregister <DistributionName>
  5. 导入发行版到新的位置:

    wsl --import <DistributionName> <InstallLocation> <FileName.tar>

    例如:

    wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\ubuntu.tar

    指定原来的默认用户,例如:

    ubuntu2204 config --default-user <Username>

这样,WSL 发行版就会被安装到新的位置。

方法二:直接修改 WSL2 的虚拟硬盘(VHDX)文件的位置

对于 WSL2,Linux 发行版的文件系统存储在一个 .vhdx 虚拟硬盘文件中。你可以通过移动这个 .vhdx 文件来更改其存储位置。

步骤:

  1. 停止 WSL:

    • 打开 PowerShell,以管理员身份运行以下命令来停止所有 WSL 实例:
      wsl --shutdown
  2. 移动 .vhdx 文件:

    • 默认情况下,这个文件位于 C:\Users\<YourUsername>\AppData\Local\Packages\<DistributionPackageName>\LocalState\ext4.vhdx
    • ext4.vhdx 文件移动到你想要的新位置(例如 D:\WSL\ext4.vhdx)。
  3. 创建符号链接:

    • 在原来的位置创建一个指向新位置的符号链接。例如:
      mklink /D "C:\Users\<YourUsername>\AppData\Local\Packages\<DistributionPackageName>\LocalState\ext4.vhdx" "D:\WSL\ext4.vhdx"
  4. 重新启动 WSL:

    • 运行 wsl 命令重新启动 WSL 并检查一切是否正常。

方法三:使用第三方工具

一些社区开发的第三方工具(如 LxRunOffline)也可以帮助你在安装时指定 WSL 发行版的安装位置。

LxRunOffline 示例:

  1. 下载并安装 LxRunOffline。
  2. 使用 LxRunOffline 安装新的 Linux 发行版到指定位置:
    LxRunOffline install -n <DistributionName> -d <InstallLocation> -f <TarballLocation>

总结

虽然 WSL 默认将 Linux 发行版安装在系统驱动器上,但通过使用 wsl --exportwsl --import 命令、移动 .vhdx 文件、或者使用 LxRunOffline 等工具,你可以指定和更改 WSL 的安装位置,以更好地管理存储资源。

作者:admin  创建时间:2024-08-11 18:37
最后编辑:admin  更新时间:2024-08-12 23:59