You must have the
16215 OS build or greater to continue (run
cmd.exe to check).
Download VirtualBox at https://www.virtualbox.org/wiki/Downloads and install it as a regular Windows program.
Installation of Guest Additions is not needed.
Enable and install WSL
Start PowerShell in privileged mode and run the next command. Reboot OS afterward.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
After the system is boot again, open Microsoft Store and use search to find
Ubuntu or one of
SUSE distributions. Proceed to the page of a chosen package and click
Get. After distro will be downloaded, click
Launch and do the installation.
- Will not work on WSL, installed via
lxrun /install /y. Moreover, do not use this way since it’s deprecated.
Install PIP, Ansible and Vagrant on WSL
Read the provisioning script first and then execute it on WSL (if you’re willing to change something in it - download, modify and run). Don’t forget to restart WSL afterward.
A possible argument for the script is a Vagrant version. Defaults to
2.0.3 and must not be lower than
2.0.3 due to CIKit requirements.
curl -LSs https://raw.githubusercontent.com/BR0kEN-/cikit/master/docs/_documentation/install-on-wsl/wsl-provision.sh | bash -s -- "2.0.3"
- You don’t need to have Vagrant as a Windows program. Do never use
vagrant.exein Linux in a case you already have it and don’t want to remove.
- NFS mounts are not available and you’ll be forced to use VBoxSF.
- Local websites can’t be opened in Microsoft Edge (https://stackoverflow.com/questions/32384571). Internet Explorer and other browsers works okay.
- Projects cannot be located anywhere except
/mnt. The https://github.com/Microsoft/WSL/issues/1283#issuecomment-257107090 issue has some clarification on that.
- Hostnames of the projects have to be manually managed in the
%SYSTEMROOT%\system32\drivers\etc\hosts. System files in Windows are not modifiable within WSL even if it’s running in privileged mode. Moreover, do not run WSL as an admin because VirtualBox won’t operate properly.
None of the limitations are connected to CIKit. Each one is a small part of the issues WSL/Windows has at the moment.
As a proof, you may take a look at the screenshot which shows that single Windows instance might have many WSL containers running CIKit.