Ubuntu on Windows: Part 2

About 3 months ago, I posted about my move to Windows 10 with the new laptop I received (Dell 5510 32GB RAM), configuring it for dual boot mode with Ubuntu 16.04 LTS after contemplating installation of Cygwin on another machine yet again, prior to my recollection of a Microsoft announcement from about a year ago.

I've since moved to the updated version of this laptop (Dell 5520 32GB RAM), but instead of immediately configuring it for dual boot mode with Ubuntu, I decided to make an attempt to use Ubuntu for Windows for work other than the grep command etc to see how far it could get me without use of a full install of Linux. As I have been working to rearchitect a product that my team and I built into Dockerized microservices, use of Docker seemed to be a good place to start.

Unfortunately, this wasn't the case. This brief follow-up post is intended to provide some pointers for anyone else walking this same path, with the realization that this guidance is likely to be outdated in the near future as newer Windows updates are released.

This all started when I simply wanted to access the Docker on Windows executable from the Ubuntu command line, and came across seemingly straightforward advice at links such as the following: Running Docker Containers on Bash on Windows. The shortcut that this post provided via an update to the Windows 10 Creators Update sounded appealing, and since I have administrator rights on my machine this seemed to be the logical path to take.

Here's the links to get the Windows 10 Creators Update:
https://support.microsoft.com/en-us/instantanswers/d4efb316-79f0-1aa1-9ef3-dcada78f3fa0/get-the-windows-10-creators-update
https://www.microsoft.com/en-us/software-download/windows10

Installation of this update was straightforward, resulting in the following welcome screen:

Windows_10_pro_version_1703_creators_update

Attempting to use Docker, however, was unsuccessful after adding it to the PATH in my .bashrc file (as instructed at the above blog post) and creating an alias to docker.exe as follows:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"
PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
alias docker='/mnt/c/Program\ Files/Docker/Docker/resources/bin/docker.exe'

This worked perfectly. The caveat however was that internet connectivity was now broken, which I realized after trying to run some Docker containers that I had created. Some quick web searches resulted in coming across a significant number of individuals complaining about their WiFi drivers no longer working. In checking my wireless adapter via Windows, I saw that it was an older version of a Qualcomm driver that had since been relatively recently updated by Dell, so I took the advice to update it to this version as part of a number of other recommended fixes, but this didn't fix the problem.

Since all of these recommeded fixes failed, I resorted to rolling back the Windows 10 update as suggested by links such as this. However, this simple process ended up being too good to be true as well, as I didn't want to lose any personal files (and so did not want to rebuild the entire machine). An attempt to reset my machine resulted in a blue screen that said that Windows was locked.

Following the instructions provided by Dell, I was able to unlock Windows, but this in turn resulted in the following error message: "There was a problem resetting your PC. No changes were made." While I rarely watch instructional videos, as they tend to be slow, I came across a video that addressed this exact issue. The step-by-step instructions provided by this video were good, but were still incomplete as it references a single install.wim file rather than the multiple install*.swm files on my machine, so I supplemented the video instructions with this link.

I was then back in business, but still not able to run Docker commands from the Ubuntu command line in the "shortcut" manner suggested by the original post mentioned above. But at least I did not lose any files and I could still run Docker commands by other means.

As I mentioned in my first post, Microsoft does seem to be working hard to expand / hang on to its market share. In joking with the folks from Microsoft, they freely admitted that a lot of what is made available in Azure was built using concepts and open source products under the covers that many of us are already familiar with from the Java world. But they have some work to do.

Subscribe to Erik on Software

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe