Manjaro on WSL2 (Windows 10 FCU or later) based on wsldl.
- For x64 systems: Version 1903 or higher, with Build 18362 or higher.
- For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
- Builds lower than 18362 do not support WSL 2.
- Enable Windows Subsystem for Linux feature. Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- Enable Virtual Machine feature. Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Download and install the Linux kernel update package from here.
For more details, check this microsoft document.
- Download installer zip
- Extract all files in zip file to same directory
- Run Manjaro.exe to Extract rootfs and Register to WSL
Note: Exe filename is using the instance name to register. If you rename it you can register with a diffrent name and have multiple installs.
If you want to use WSL2 after install, convert it with the following command.
wsl --set-version Manjaro 2
You can also set wsl2 as default. Use the command below before running Manjaro.exe.
wsl --set-default-version 2
Usage :
<no args>
- Open a new shell with your default settings.
run <command line>
- Run the given command line in that distro. Inherit current directory.
runp <command line (includes windows path)>
- Run the path translated command line in that distro.
config [setting [value]]
- `--default-user <user>`: Set the default user for this distro to <user>
- `--default-uid <uid>`: Set the default user uid for this distro to <uid>
- `--append-path <on|off>`: Switch of Append Windows PATH to $PATH
- `--mount-drive <on|off>`: Switch of Mount drives
- `--default-term <default|wt|flute>`: Set default terminal window
get [setting]
- `--default-uid`: Get the default user uid in this distro
- `--append-path`: Get on/off status of Append Windows PATH to $PATH
- `--mount-drive`: Get on/off status of Mount drives
- `--wsl-version`: Get WSL Version 1/2 for this distro
- `--default-term`: Get Default Terminal for this distro launcher
- `--lxguid`: Get WSL GUID key for this distro
backup [contents]
- `--tgz`: Output backup.tar.gz to the current directory using tar command
- `--reg`: Output settings registry file to the current directory
clean
- Uninstall the distro.
help
- Print this usage message.
>{InstanceName}.exe
[root@PC-NAME user]#
>{InstanceName}.exe run uname -r
4.4.0-43-Microsoft
>{InstanceName}.exe runp echo C:\Windows\System32\cmd.exe
/mnt/c/Windows/System32/cmd.exe
>{InstanceName}.exe config --default-user user
>{InstanceName}.exe
[user@PC-NAME dir]$
>{InstanceName}.exe config --default-term wt
Open Manjaro.exe and run the following commands.
passwd
useradd -m -G wheel -s /bin/bash <username>
passwd <username>
exit
Execute the command below in a windows cmd terminal from the directory where Manjaro.exe is installed.
>Manjaro.exe config --default-user <username>
>Manjaro.exe clean
Docker, tar, zip, unzip need to be installed.
git clone git@gitlab.com:sileshn/ManjaroWSL.git
cd ManjaroWSL
make
Copy the Manjaro.zip file to a safe location and run the command below to clean.
make clean
Install docker.
sudo pacman -S docker
Follow this blog post for further details on how to set it up.