I recently needed to install a Linux distro (Ubuntu being my favorite) in Hyper-V on Windows 10. I needed to do this because some internal builds of Couchbase were temporarily broken on Windows, but I still needed to use the latest builds. I’d never used Hyper-V to do this before, but it wasn’t that difficult. And the best part is that it comes with Windows: I don’t have to install VirtualBox or VMWare or anything like that.

Download Ubuntu

There are lots of great Linux distros out there, and Couchbase Server can be run on a variety of them. However, Ubuntu Desktop is my go-to.

Make sure Hyper-V is enabled

First, open Control Panel. Next, go to Programs. Then, click "Turn Windows features on or off". Finally, locate Hyper-V and click the checkbox (if it isn’t already checked).

You may also need to enable virtualization in the BIOS settings on your computer. The computer I’m using has it turned on by default. I wish I could give you instructions on how to do this, but it’s going to vary based on your BIOS.

Create a Hyper-V Virtual Switch

When connecting the virtual machine to a network, you’ll need to select a virtual switch. If you haven’t done this before, you’ll need to create one.

I wanted my machine to be connected to my home network, so I chose External. If you use External, it will connect to your network as a separate machine. After I create the machine (in the next section) it will appear on my router as it’s own machine:

Create a new Hyper-V Virtual Machine

Now you’re ready to create the virtual machine that will be running Ubuntu.

First, open the Hyper-V Manager from the Start menu. Then, click "New" and then "Virtual Machine". This will start a wizard.

First, give your machine a name (like "UbuntuForCouchbase"). Optionally, you can choose where to store this machine, or use the default directory.

After that, specify how much memory to allocate to the machine. I have a lot of RAM on my desktop, so I gave it 8192mb.

Next, select the switch that was created in the previous section.

Then, setup the virtual hard disk to your liking. You can choose the location and size of the disk. I don’t need very much, so I went with 60gb.

Finally, you need to select an operating system. I’ll choose "Install an operating system from a bootable CD/DVD-ROM", and then "Image file", and find the Ubuntu ISO that I downloaded.

Click "Next", view the summary, and click "Finish".

Start the machine and install Couchbase

Now that you’ve created a machine, you must start it. Right-click on the machine and select "Start" (or there’s a "Start" button in the actions menu to the right).

This starts the machine, but you can’t actually see the machine yet. You have to "Connect" to the machine to see what it’s doing. Right-click and select "Connect" (or again, there’s a "Connect" button in the actions menu to the right).

I won’t go through the installation process, since Ubuntu’s installation is pretty easy and self-explanatory (and well-documented).

At the end of the Ubuntu installation, installing Couchbase Server is also pretty easy and self-explanatory. Just go to the Couchbase downloads page and select the Ubuntu 14 version of Couchbase.

Summary

I normally use the Windows version of Couchbase, but sometimes I need to use Ubuntu (or other Linux distros). Hyper-V on Windows is a convenient way for me to spin up virtual machines.

The highlights for me is Bash on Ubuntu on Windows. One of the coolest darn things that Windows has added in a long time. I was able to kick off a Riak server (for instance) without VMWare or VirtualBox! YOW

Two problems I ran into:

Some Cisco VPN tool was no longer compatible. I think this is from a previous job, and it's not a concern for me. I can imagine this could be devastating for others.

That last error I've encountered before: when updating to Windows 8 and when updating to Windows 10. Normally the solution is to install a service pack, as TechSmith notes in their support forums. That didn't work for me.

Another option is to copy over the DLL files from the Windows.old folder. That might have worked, except I jumped the gun and cleaned that folder off my hard drive before I could save the DLLs!

Another option is to download WMVCore.dll from a site like dll-files.com. I'm sure dll-files is legit, but this option makes me uncomfortable, especially in regards to Windows system files. But I was desperate. I tried it, and it didn't work for me (I did get a different error, however!)

Finally, I realized that I have another machine running Windows 10! I found the WMVCORE.DLL file that I needed there (in my case, it was in C:\Windows\SysWOW64). I copied it over and got a new error: I was missing mfperfhelper.dll. So I copied that over, and then WMASF.DLL as well. Then, my beloved Camtasia started running again.