Как изменить местоположение rootfs, используемое Ubuntu.exe - PullRequest
0 голосов
/ 14 марта 2020

У меня включен WSL на Windows 10. Я установил Ubuntu из магазина Microsoft и могу запустить его из Пуск> Ubuntu (расположение исполняемого файла

C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_1804.2020.5.0_x64__79rhkp1fndgsc/ubuntu.exe

Следуя Учебник Winaero Мне удалось создать новый дистрибутив на отдельном жестком диске (D :), экспортировав rootfs по умолчанию и импортировав его в новую папку на D:\Wsl\NewUbuntu. Теперь я могу запустить Microsoft Powershell, введите wsl и выберите мой новый дистрибутив в качестве расположения по умолчанию.

Моя проблема заключается в том, что я запускаю Ubuntu из меню Пуск> Ubuntu. Это приложение всегда использует старое расположение (C:\Users\myuser\Appdata\Local\Packages\CanonicalSomeCode\LocalState\rootfs). Я запускаю Ubuntu.exe из моего меню «Пуск» и заставляю его использовать rootfs из нового местоположения D:\Wsl?

1 Ответ

1 голос
/ 15 марта 2020

В этом вопросе OP уже переместил установленный дистрибутив Ubuntu на другой диск. Итак, ответ начинается со следующих шагов.

После регистрации экспортированного дистрибутива его можно запустить с помощью команды wsl.exe -d. Но Ubuntu.exe, официальный лаунчер, который поставляется с пакетом Windows Store, сначала проверяет, зарегистрировано ли какое-либо имя дистрибутива с именно Ubuntu. См. WslIsDistributionRegistered() вызов функции в DistroLauncher. cpp, чтобы узнать больше о проверке. Итак, недавно зарегистрированный дистрибутив должен называться именно «Ubuntu». Например,

  • Зарегистрируйтесь с помощью этой команды:
wsl.exe --import Ubuntu <InstallLocation> <FileName>
  • Установите пользователя по умолчанию:
Ubuntu.exe config --default-user <UserName>

Распределение имена разные для разных Windows магазинов пакета. Например, «Ubuntu-16.04» для Ubuntu Xenial и «Ubuntu-18.04» для Ubuntu Bioni c.

...