This is a repost that originally appeared on the Couchbase Blog: Hyper-V: How to run Ubuntu (or any Linux) on Windows.
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.
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.
Check to make sure that you have Hyper-V enabled on Windows.
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.
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.
First, click "Virtual Switch Manager", then select "External". Click "Create Virtual Switch". Finally, give the switch a name. (You also need to choose an external network; in my case I only have one). Hit "Apply".
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:
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.
Next, you must choose Generation 1 or Generation 2. I used Generation 1, but Ubuntu 14+ should work on Generation 2 as well.
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".
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.
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.
You can also contact me at Twitter @mgroves.
So far, going from Windows 10 to the Windows 10 Anniversary Update has been a relatively smooth transition.
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:
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.
I would offer the DLL files here for you, but you really shouldn't be downloading DLL files, especially from some random blog. If you're really desperate, you can ask me on Twitter.
Matthew D. Groves lives in Central Ohio. He works remotely, loves to code, and is a Microsoft MVP.