Moving a WSL Distro to Another Drive
Update 17/01/2021: If you are using the WSL integration functionality in any JetBrains IDEs (i.e. Idea or RubyMine), following these instructions can cause that functionality to stop working. I haven't explored the cause in great depth (I just wanted to get things working again quickly.), but I suspect it's Step 5 that causes the issue. So far, I have not had any issues with VSCode after following these steps though.
Note: I've had issues with running out of disk space when attempting to move distros that aren't freshly installed. Most of the steps in this post are the same steps as https://blog.iany.me/2020/06/move-wsl-to-another-drive/. I've added an extra step to make the distro the default, since this isn't set by WSL on import.
Step 1 - Install Ubuntu (or your distro of choice) from the Windows Store. Make sure to launch it at least once to initialize it.
Step 2 - Create a new location for your distro instance and export the distro instance.
cd G:\ mkdir WSL cd WSL wsl --export Ubuntu ubuntu.tar
Step 3 - Unregister the distro instance and prepare the destination directory.
wsl --unregister Ubuntu mkdir Ubuntu wsl --import Ubuntu Ubuntu ubuntu.tar
Step 4 - Set the default user for the moved distro.
Find the directory in registry
DistributionName is “Ubuntu”. Set its
DefaultUid to decimal 1000 (or hex 3e8).
Step 5 - Uninstall the distro you installed earlier from Windows Store.
Step 6 - List installed WSL distros and check it is displayed. Then make your distro the default one launched.
wsl -l wsl -s Ubuntu