Flutter vs React Native vs NativeScript Startup Speeds on the M1 Mac Live Stream: M1 With Docker and giveaway! Docker, Parallels & Redshift all go Apple Silicon Native! Parallels Desktop Pro for Mac - Visual Studio plug-In, optimized for macOS Mojave, Instant Download. MacOS, OS X, Windows 10, 8, 7, XP, Linux. Ready-to-use VMs.
date: Feb 14, 2020
tags:
- OSX
- WSL
- WSL2
---
Some background…
I recently switched to Mac because of something requires me to use MacOS. I got a 2019 16 inch model of MacBook Pro, and I am pretty satisfied with it[1].
As I am still developing for WSL (and also UWP), I used Parallels Desktop for running Windows on Mac, because I hate Boot Camp. After setting up Windows 10 on Parallels Desktop with come tweaks, successfully set up WSL/WSL2 with Mac.
Use Parallels feature wisely
Two important feature in Parallels Desktop is used: Coherence Mode and Nested Virtualization.
Using Coherence mode, you can use Windows applications and UWPs such as Windows Terminal just like native apps:
Using Nested Virtualization is essential to use WSL2 and the brand new Windows Docker for WSL2. Some people might afraid that enabling it has little impact on my laptop. You can enable the feature here in Parallels Desktop:
Auto-mounting Mac partition on WSL
WSL has been providing drive mounting feature using DrvFs for some times[2]. Mounting with DrvFs is super easy; Without mounting your Windows drive, you can just:
M1 And Windows Virtualization | MacRumors Forums
- use
sudo mkdir /mnt/d && sudo mount -t drvfs D: /mnt/d/
to mount your D drive; - use
sudo mount -t drvfs 'servershare' /mnt/share
to mount netowork locationservershare
.
You can even auto-mount using fstab
.
However, auto-mounting with Mac partition requires something more than documentation provided, otherwise you might have trouble accessing the files.
Before mounting, the file-sharing should be enabled in Parallels Configuration:
It is suggested to use just the network location as drives can be unmounted automatically by Parallels and thus unpredictable.
Now, check the folder you want to mount. In my case, I tried to mount MacHome
. So I created a folder /mnt/mac
and in my /etc/fstab
, I input the following:
Restart the distribution by using wsl -t
, and drive will automatically be mounted:
Opening website/file from WSL to Mac browser
This one is pretty easy to configure. If you used my WSL Utilities, you can already open website using wslview
. Then setup Web pages to Open in Mac in the Parallels Configuration:
Then everything is now ready. When you launch a website using wslview
, it will open in the default Mac web browser.
Here is a little demo:
[SUCCESS] Virtualize Windows 10 For ARM On M1 With ...
WSL Desktop Shortcut On Mac
Cached
The component wslusc
in my WSL Utilities allows you to create shortcuts on Windows Desktop. Combining with Parallels Desktop’s feature, you can launch WSL GUI application right from your Mac Desktop.
Here is how it looks:
To achieve this, We should enable Desktop Mapping in the Parallels Desktop with the following steps:
Afterward, the desktop should show the shortcut created on the Windows 10 Desktop. However, they won’t look good; But we can do some small modification to make it better like the following:
Here is how to modify it:
To conclude…
The experience is not perfect, but this allows me to use Ubuntu without creating extra Virtual Machine on my MBP, which means a save on system memory when I need to run Windows and Ubuntu at the same time.
This sure is a great experience using WSL on Mac.
Linux Containers: Parallels, LXC, OpenVZ, Docker And More ...
I am also going to present a session on WSLConf 😉
A review is coming 😉 ↩︎
Good place to start with DrvFs: https://docs.microsoft.com/en-gb/archive/blogs/wsl/file-system-improvements-to-the-windows-subsystem-for-linux↩︎