-
Ubuntu WSL2 must be already installed in C: system drive and user should be able to call windows binaries like
wsl.exefrom bash. -
We will install Alpine WSL2 distro in an external partition/disk:
-
Download Alpine.zip from here: https://github.com/yuk7/AlpineWSL/releases/
-
Extract the files in an external partition/disk. (for example D:\Alpine)
-
Make sure WSL2 is enabled by default (
wsl.exe --set-default-version 2) -
Inside the Alpine folder run
Alpine.exeto install the Distro. Anext4.vhdxfile will be created in that same folder. -
Run
Alpine.exeagain. -
Now from the Alpine terminal we will create same user as Ubuntu. This will create the
/home/onomafolder.adduser onoma
-
-
On Ubuntu edit the
~/.profilefile and add:
# mount external /home folder from Alpine distro
if [ ! -d /mnt/wsl/Alpine ]; then
mkdir /mnt/wsl/Alpine
wsl.exe -d Alpine -u root mount --bind /home/onoma /mnt/wsl/Alpine/
fi
-
We will close the VM with:
wsl.exe --shutdown -
Next time Ubuntu distro is launched it will automount the
/home/onomafolder from Alpine distro to/mnt/wsl/Alpinein Ubuntu with all the benefits and speed of ext4 mounted folders.
WSL2 runs a single lightweight VM that supports multiple distros running on the same Linux kernel.
Every time a distro is launched, its vhdx file is attached automatically to the VM as a /dev/sdc device.
Thanks to the nature of WSL interop we can launch another distro and inmediately close it from inside bash.
The folder /mnt/wsl is an undocumented WSL2 feature which is a tmpfs special folder used by applications as Docker for Desktop.
Everything mounted in that folder will also appear in every running distro under /mnt/wsl/. Just make sure you have file permissions to
access that directory. In my case I'm using user "onoma" on both Ubuntu and Alpine.
I had an Ubuntu 20.04 LTS installed on WSL2, but due to an error during Windows update I cannot boot using that drive. So, I have installed fresh copy of windows on another drive and copied the contents of original drive. As Ubuntu was in WSL2 I cannot directly access those files. But I want to know if there is any possible way that I use my existing ubuntu ext4 filesystem and at least get my files. To be clear I have the whole folder for containing Ubuntu.
Thank you for any help in advanced.