ShahradR / windows-dev

Windows development image used for personal projects
MIT License
0 stars 0 forks source link

Cannot run Vagrant in WSL #2

Closed ShahradR closed 4 years ago

ShahradR commented 4 years ago

When running any Vagrant command in the Windows Subsystem for Linux, the following error is returned.

$ vagrant
fuse: device not found, try 'modprobe fuse' first

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory
ShahradR commented 4 years ago

The new version of the Windows Subsystem for Linux now supports full system call capabilities, which brings FUSE support to the subsystem. It requires Windows 10 build 18917 and the Virtual Machine Platform feature.

After updating to 18917 or later (might require subscribing to the Windows Insider Program), install the Virtual Machine Platform feature by running the following cmdlet:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Once installed, you can view the installed distributions by running wsl --list --verbose

C:\Users\ShahradR>wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-18.04    Running         1
  Ubuntu          Stopped         1

You can then upgrade the distributions by running wsl --set-version Ubuntu-18.04 2

ShahradR commented 4 years ago

After the upgrade, vagrant returns a new error message, as shown below.

$ vagrant
fuse: failed to open /dev/fuse: Permission denied

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory

However, when running with sudo, the command completes successfully. This is because the /dev/fuse/ "directory" has its owner and group set as root. This will be investigated in a separate issue.

$ ls -l /dev/fuse
crw------- 1 root root 10, 229 Aug 17 18:11 /dev/fuse