如何更改 Ubuntu.exe 使用的 rootfs 位置
How to change rootfs location used by Ubuntu.exe
我在 Windows 10 上启用了 WSL。我已经从 Microsoft 商店安装了 Ubuntu,我可以从开始> Ubuntu 启动它(可执行文件的位置是
C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_1804.2020.5.0_x64__79rhkp1fndgsc/ubuntu.exe
在 Winaero's tutorial 之后,我能够通过导出默认的 rootfs 并将其导入到位于 D:\Wsl\NewUbuntu
的新文件夹,在单独的硬盘 (D:) 上创建一个新的发行版。现在我可以 运行 Microsoft Powershell,键入 wsl
和 select 我的新发行版作为默认位置。
我的问题是当我从“开始”> Ubuntu 运行 Ubuntu 时。该应用始终使用旧位置 (C:\Users\myuser\Appdata\Local\Packages\CanonicalSomeCode\LocalState\rootfs
)。我怎样才能从我的“开始”菜单中 运行 Ubuntu.exe 并使其使用位于 D:\Wsl
的新位置的 rootfs?
在问题中,OP 已经将已安装的 Ubuntu 发行版移动到
不同的驱动器。所以,答案从下一步开始。
注册导出的发行版后,可以用wsl.exe -d
启动
命令。但是 Ubuntu.exe,Windows 附带的官方启动器
存储包,首先检查是否有恰好 "Ubuntu" 的发行版名称
已经登记了。参见 WslIsDistributionRegistered()
中的函数调用
DistroLauncher.cpp 了解更多关于支票的信息。那么,新注册的
分发必须准确命名 "Ubuntu"。例如,
- 使用此命令注册:
wsl.exe --import Ubuntu <InstallLocation> <FileName>
- 设置默认用户:
Ubuntu.exe config --default-user <UserName>
不同的 Windows 存储包的分发名称不同。例如
"Ubuntu-16.04" 用于 Ubuntu Xenial and "Ubuntu-18.04" for Ubuntu Bionic.
我在 Windows 10 上启用了 WSL。我已经从 Microsoft 商店安装了 Ubuntu,我可以从开始> Ubuntu 启动它(可执行文件的位置是
C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_1804.2020.5.0_x64__79rhkp1fndgsc/ubuntu.exe
在 Winaero's tutorial 之后,我能够通过导出默认的 rootfs 并将其导入到位于 D:\Wsl\NewUbuntu
的新文件夹,在单独的硬盘 (D:) 上创建一个新的发行版。现在我可以 运行 Microsoft Powershell,键入 wsl
和 select 我的新发行版作为默认位置。
我的问题是当我从“开始”> Ubuntu 运行 Ubuntu 时。该应用始终使用旧位置 (C:\Users\myuser\Appdata\Local\Packages\CanonicalSomeCode\LocalState\rootfs
)。我怎样才能从我的“开始”菜单中 运行 Ubuntu.exe 并使其使用位于 D:\Wsl
的新位置的 rootfs?
在问题中,OP 已经将已安装的 Ubuntu 发行版移动到 不同的驱动器。所以,答案从下一步开始。
注册导出的发行版后,可以用wsl.exe -d
启动
命令。但是 Ubuntu.exe,Windows 附带的官方启动器
存储包,首先检查是否有恰好 "Ubuntu" 的发行版名称
已经登记了。参见 WslIsDistributionRegistered()
中的函数调用
DistroLauncher.cpp 了解更多关于支票的信息。那么,新注册的
分发必须准确命名 "Ubuntu"。例如,
- 使用此命令注册:
wsl.exe --import Ubuntu <InstallLocation> <FileName>
- 设置默认用户:
Ubuntu.exe config --default-user <UserName>
不同的 Windows 存储包的分发名称不同。例如 "Ubuntu-16.04" 用于 Ubuntu Xenial and "Ubuntu-18.04" for Ubuntu Bionic.