Change Location of WSL2 Container
*from dev.to
WSL2 container is located on the C:\ drive by default.
This can be inconvenient, as it can grow to a substantial size.
The size of the container becomes a particular concern considering that to reap WSL2’s performance benefits, one should store the data directly in the container.
While there are guides on how to import a new distribution via PowerShell, there’s little information on how to simply move an existing container that is connected to an existing Linux WSL2 installation (e.g. Ubuntu).
- Open PowerShell:
$ wsl --list --verboseNote the name of the distribution of interest: ```console NAME STATE VERSION
- Ubuntu Running 2 ```
- Shut down all WSL containers:
$ wsl --shutdown - Open the Windows Registry Editor and navigate to:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\There, you will see the same number of keys as you have WSL distributions with random names, e.g.
{c5ce672c-4a91-40aa-b32e-6a149ea92380}.
Inspect the contents of those keys, and specifically look for the valueDistributionName.
Naturally, you’re looking for the key with theDistributionNamevalue equal to the name of your distribution of interest. - Once located, Open the
BasePathvalue. It’ll look something like that:C:\Users\IvanGrishagin\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState -
Follow the path, where you’ll find a file aptly named
ext4.vhdx.
Copy this file to your new destination, e.g.D:\VirtualMachines\WSL2\Ubuntu. -
Replace the path in the
BasePathvalue with the new one (e.g.D:\VirtualMachines\WSL2\Ubuntu). - All done!